product
tengxi 2 years ago
parent 73dcc3513b
commit 5a9f59d172

@ -31,7 +31,7 @@ public class PaymentEntity {
private String creatorUserName;
@TableField("CREATOR_TIME")
private Date creatorTime;
private String creatorTime;
@TableField("LAST_MODIFY_USER_ID")
private String lastModifyUserId;
@ -40,7 +40,7 @@ public class PaymentEntity {
private String lastModifyUserName;
@TableField("LAST_MODIFY_TIME")
private Date lastModifyTime;
private String lastModifyTime;
@TableField("DELETE_USER_ID")
private String deleteUserId;
@ -49,7 +49,7 @@ public class PaymentEntity {
private String deleteUserName;
@TableField("DELETE_TIME")
private Date deleteTime;
private String deleteTime;
@TableField("DELETE_MARK")
private String deleteMark;
@ -73,10 +73,10 @@ public class PaymentEntity {
private BigDecimal requestedamount;
@TableField("BUSINESSDATE")
private Date businessdate;
private String businessdate;
@TableField("DUEDATE")
private Date duedate;
private String duedate;
@TableField("STATUS")
private String status;

@ -15,3 +15,4 @@ import jnpf.payment.entity.PaymentEntity;
public interface PaymentMapper extends BaseMapper<PaymentEntity> {
}

@ -13,23 +13,19 @@ import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.base.UserInfo;
import jnpf.base.vo.DownloadVO;
import jnpf.collection.entity.CollectionEntity;
import jnpf.collection.service.CollectionService;
import jnpf.config.ConfigValueUtil;
import jnpf.exception.DataException;
import jnpf.payment.entity.PaymentEntity;
import jnpf.payment.entity.Payment_item0Entity;
import jnpf.payment.mapper.PaymentMapper;
import jnpf.payment.model.payment.PaymentCrForm;
import jnpf.payment.service.PaymentService;
import jnpf.payment.service.Payment_item0Service;
import org.springframework.transaction.annotation.Transactional;
import jnpf.base.entity.ProvinceEntity;
import jnpf.paymentdoc.model.paymentdoc.*;
import jnpf.paymentdoc.model.paymentdoc.PaymentdocPagination;
import jnpf.entity.*;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.util.*;
import jnpf.base.util.*;
import jnpf.base.vo.ListVO;
import jnpf.util.context.SpringContext;
import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import lombok.Cleanup;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@ -38,13 +34,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import jnpf.paymentdoc.entity.PaymentdocEntity;
import jnpf.paymentdoc.service.PaymentdocService;
import jnpf.paymentdoc.entity.Paymentdoc_item0Entity;
import jnpf.paymentdoc.service.Paymentdoc_item0Service;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import jnpf.util.GeneraterSwapUtil;
@ -83,6 +77,10 @@ public class PaymentdocController {
private Paymentdoc_item0Service paymentdoc_item0Service;
@Autowired
private PaymentService paymentService;
@Autowired
private PaymentMapper paymentMapper;
@Autowired
private Payment_item0Service payment_item0Service;
/**
*
@ -90,25 +88,62 @@ public class PaymentdocController {
* @param
* @return
*/
// @PostMapping("/paymentapplylist")
// public ActionResult paymentapplylist( @PathVariable("id") String id,@RequestBody @Valid PaymentdocCrForm paymentdocCrForm){
//
// PaymentEntity paymentEntity = new PaymentEntity();
// @GetMapping("/{id}")
@PostMapping("/paymentapplylist")
public ActionResult paymentapplylist(@RequestBody PaymentdocCrForms paymentdocCrForms) throws DataException {
PaymentEntity paymentEntity = new PaymentEntity();
PaymentCrForm paymentCrForm =new PaymentCrForm();
// String mainId =RandomUtil.uuId();
// UserInfo userInfo=userProvider.get();
//
// paymentEntity.setCreatorUserName(paymentdocCrForm.getCreatorUserName());
// paymentEntity.setCreatorUserName(paymentdocUpForms.getCreatorUserName());
// paymentEntity.setCreatorTime(new Date());
//
// PaymentEntity entity = JsonUtil.getJsonToBean(paymentEntity, PaymentEntity.class);
PaymentEntity entity = JsonUtil.getJsonToBean(paymentEntity, PaymentEntity.class);
// entity.setId(mainId);
// paymentService.save(entity);
//
//
// paymentdocCrForm.setIsPay("1");
// paymentdocService.update(paymentdocCrForm);
// return ActionResult.success("创建成功");
// }
PaymentdocEntity paymentdocEntity=paymentdocService.getById(paymentdocCrForms.getId());
//添加到付款单
// paymentEntity.setId(paymentdocUpForms.getId());
paymentEntity.setDocumentno(generaterSwapUtil.getBillNumber("payment" ,false));
paymentEntity.setPaymentno(paymentdocCrForms.getDocumentNo());
paymentEntity.setPaymentamount(paymentdocCrForms.getPaymentAmount());
paymentEntity.setRequestedamount(paymentdocCrForms.getRamount());
paymentEntity.setBusinessdate(paymentdocCrForms.getBusinessDate());
paymentEntity.setDuedate(paymentdocCrForms.getDueDate());
paymentEntity.setStatus(paymentdocCrForms.getStatus());
paymentEntity.setSuppliercode(paymentdocCrForms.getSupplierCode());
paymentEntity.setSuppliername(paymentdocCrForms.getSupplierName());
paymentEntity.setCurrency(paymentCrForm.getCurrency());
paymentEntity.setPaymenttype(paymentdocCrForms.getPaymentType());
paymentEntity.setSettlementtype(paymentdocCrForms.getSettlementType());
paymentEntity.setRemark(paymentdocCrForms.getRemark());
paymentEntity.setCollectionaccount(paymentdocCrForms.getCollectionAccount());
paymentEntity.setCollectionbank(paymentdocCrForms.getColectionBank());
paymentEntity.setCreatorUserId(paymentdocCrForms.getCreatorUserId());
paymentEntity.setCreatorUserName(paymentdocCrForms.getCreatorUserName());
paymentEntity.setCreatorTime(paymentdocCrForms.getCreatorTime());
paymentEntity.setLastModifyUserId(paymentdocCrForms.getLastModifyUserId());
paymentEntity.setLastModifyUserName(paymentdocCrForms.getLastModifyUserName());
paymentEntity.setLastModifyTime(paymentdocCrForms.getLastModifyTime());
paymentMapper.insert(paymentEntity);
//修改付款状态
paymentdocEntity.setIsPay("1");
paymentdocService.updateById(paymentdocEntity);
//子表
List<Paymentdoc_item0Entity> Paymentdoc_item0List = JsonUtil.getJsonToList(paymentdocCrForms.getPaymentdoc_item0List(),Paymentdoc_item0Entity.class);
List<Payment_item0Entity> Payment_item0List = JsonUtil.getJsonToList(paymentdocCrForms.getPayment_item0List(),Payment_item0Entity.class);
for(Payment_item0Entity entitys : Payment_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setPaymentId(entity.getId());
payment_item0Service.save(entitys);
}
return ActionResult.success("修改(付款)成功");
}
@ -163,18 +198,6 @@ public class PaymentdocController {
for(Paymentdoc_item0Entity entitys : Paymentdoc_item0List){
entitys.setId(RandomUtil.uuId());
entitys.setPaymentdocId(entity.getId());
paymentdoc_item0Service.save(entitys);
}

@ -0,0 +1,121 @@
package jnpf.paymentdoc.model.paymentdoc;
import com.fasterxml.jackson.annotation.JsonProperty;
import jnpf.payment.entity.PaymentEntity;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
*
*
* @ V3.2.0
* @ LINKAGE-BOOT
* @ LINKAGE-BOOT
* @ 2023-02-09
*/
@Data
public class PaymentdocCrForms {
/** id **/
@JsonProperty("id")
private String id;
/** 单据编号 **/
@JsonProperty("documentNo")
private String documentNo;
/** 供应商编码 **/
@JsonProperty("supplierCode")
private String supplierCode;
/** 供应商名称 **/
@JsonProperty("supplierName")
private String supplierName;
/** 付款类型 **/
@JsonProperty("paymentType")
private String paymentType;
/** 申请金额 **/
@JsonProperty("ramount")
private BigDecimal ramount;
/** 申请时间 **/
@JsonProperty("businessDate")
private String businessDate;
/** 应付日期 **/
@JsonProperty("dueDate")
private String dueDate;
/** 币别 **/
@JsonProperty("currency")
private String currency;
/** 收款账户 **/
@JsonProperty("collectionAccount")
private String collectionAccount;
/** 收款银行 **/
@JsonProperty("colectionBank")
private String colectionBank;
/** 结算类型 **/
@JsonProperty("settlementType")
private String settlementType;
/** 备注 **/
@JsonProperty("remark")
private String remark;
/** 付款金额 **/
@JsonProperty("paymentAmount")
private BigDecimal paymentAmount;
/** 未付款金额 **/
@JsonProperty("unpaymentAmount")
private String unpaymentAmount;
/** 单据状态 **/
@JsonProperty("status")
private String status;
/** 制单人id **/
@JsonProperty("CreatorUserId")
private String CreatorUserId;
/** 制单人 **/
@JsonProperty("creatorUserName")
private String creatorUserName;
/** 创建时间 **/
@JsonProperty("creatorTime")
private String creatorTime;
/** 修改人ID **/
@JsonProperty("lastModifyUserId")
private String lastModifyUserId;
/** 修改人名称 **/
@JsonProperty("lastModifyUserName")
private String lastModifyUserName;
/** 修改时间 **/
@JsonProperty("lastModifyTime")
private String lastModifyTime;
@JsonProperty("isPay")
private String isPay;
/** 子表数据 **/
@JsonProperty("paymentdoc_item0List")
private List<Paymentdoc_item0Model> paymentdoc_item0List;
/** 子表数据付款 **/
@JsonProperty("payment_item0List")
private List<PaymentEntity> payment_item0List;
}

@ -22463,7 +22463,8 @@
"@fullcalendar/bootstrap": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/@fullcalendar/bootstrap/-/bootstrap-4.4.2.tgz",
"integrity": "sha512-zxtQvpZqr7zeBCfszo/i1e4zCvGwLh2zOp8J6Wxw5s73HsB1zuftWop7sPO+qhRrhX5MdM9i/wr8/nNY8BZSmw=="
"integrity": "sha512-zxtQvpZqr7zeBCfszo/i1e4zCvGwLh2zOp8J6Wxw5s73HsB1zuftWop7sPO+qhRrhX5MdM9i/wr8/nNY8BZSmw==",
"requires": {}
},
"@fullcalendar/core": {
"version": "4.4.2",
@ -22473,12 +22474,14 @@
"@fullcalendar/daygrid": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/@fullcalendar/daygrid/-/daygrid-4.4.2.tgz",
"integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q=="
"integrity": "sha512-axjfMhxEXHShV3r2TZjf+2niJ1C6LdAxkHKmg7mVq4jXtUQHOldU5XsjV0v2lUAt1urJBFi2zajfK8798ukL3Q==",
"requires": {}
},
"@fullcalendar/interaction": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/@fullcalendar/interaction/-/interaction-4.4.2.tgz",
"integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q=="
"integrity": "sha512-3ItpGFnxcYQT4NClqhq93QTQwOI8x3mlMf5M4DgK5avVaSzpv9g8p+opqeotK2yzpFeINps06cuQyB1h7vcv1Q==",
"requires": {}
},
"@fullcalendar/timegrid": {
"version": "4.4.2",
@ -22638,7 +22641,8 @@
"@tinymce/tinymce-vue": {
"version": "3.2.8",
"resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz",
"integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA=="
"integrity": "sha512-jEz+NZ0g+FZFz273OEUWz9QkwPMyjc5AJYyxOgu51O1Y5UaJ/6IUddXTX6A20mwCleEv5ebwNYdalviafx4fnA==",
"requires": {}
},
"@types/glob": {
"version": "7.1.3",
@ -23276,7 +23280,8 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
"dev": true
"dev": true,
"requires": {}
},
"@vue/test-utils": {
"version": "1.0.0-beta.29",
@ -23588,13 +23593,15 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
"dev": true
"dev": true,
"requires": {}
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
"dev": true
"dev": true,
"requires": {}
},
"alphanum-sort": {
"version": "1.0.2",
@ -23960,7 +23967,8 @@
"version": "7.0.0-bridge.0",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
"integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==",
"dev": true
"dev": true,
"requires": {}
},
"babel-eslint": {
"version": "10.0.1",
@ -27194,7 +27202,8 @@
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
"dev": true
"dev": true,
"requires": {}
},
"ansi-regex": {
"version": "3.0.0",
@ -27471,7 +27480,8 @@
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
"integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
"dev": true
"dev": true,
"requires": {}
},
"debug": {
"version": "4.3.1",
@ -28883,7 +28893,8 @@
"highcharts-vue": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/highcharts-vue/-/highcharts-vue-1.3.5.tgz",
"integrity": "sha512-By1kc3m8XoI20pMshs/ue69j4rH6eQioDPoIrtC20RTti4QyvNAx8DisGSO3GAWe9sn50hPk8NsyxcwZIGaz3Q=="
"integrity": "sha512-By1kc3m8XoI20pMshs/ue69j4rH6eQioDPoIrtC20RTti4QyvNAx8DisGSO3GAWe9sn50hPk8NsyxcwZIGaz3Q==",
"requires": {}
},
"hmac-drbg": {
"version": "1.0.1",
@ -37288,7 +37299,8 @@
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
"integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
"dev": true,
"optional": true
"optional": true,
"requires": {}
},
"ansi-regex": {
"version": "3.0.0",

@ -1,6 +1,6 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'" :close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px">
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll width="1000px" >
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px"
label-position="right">
@ -12,40 +12,41 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="创建时间" prop="creatortime">
<el-date-picker v-model="dataForm.creatortime" placeholder="请选择" clearable
:style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="timestamp">
<!-- <el-col :span="24">-->
<!-- <el-form-item label="创建时间" prop="creatortime">-->
<!-- <el-date-picker v-model="dataForm.creatortime" placeholder="请选择" clearable-->
<!-- :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss"-->
<!-- value-format="timestamp">-->
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="创建人名称" prop="creatorusername">
<el-input v-model="dataForm.creatorusername" placeholder="请输入" clearable
:style='{"width":"100%"}'>
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="创建人名称" prop="creatorusername">-->
<!-- <el-input v-model="dataForm.creatorusername" placeholder="请输入" clearable-->
<!-- :style='{"width":"100%"}'>-->
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="修改时间" prop="lastmodifytime">
<el-date-picker v-model="dataForm.lastmodifytime" placeholder="请选择" clearable
:style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss"
value-format="timestamp">
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="修改时间" prop="lastmodifytime">-->
<!-- <el-date-picker v-model="dataForm.lastmodifytime" placeholder="请选择" clearable-->
<!-- :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss"-->
<!-- value-format="timestamp">-->
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="修改人名称" prop="lastmodifyusername">
<el-input v-model="dataForm.lastmodifyusername" placeholder="请输入" clearable
:style='{"width":"100%"}'>
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="24">-->
<!-- <el-form-item label="修改人名称" prop="lastmodifyusername">-->
<!-- <el-input v-model="dataForm.lastmodifyusername" placeholder="请输入" clearable-->
<!-- :style='{"width":"100%"}'>-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-input>
</el-form-item>
</el-col>
</template>
</el-form>
</el-row>

@ -1,455 +1,494 @@
<template>
<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1500px">
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" label-position="right" >
<template v-if="!loading">
<el-col :span="8" >
<el-form-item label="单据编号"
prop="documentNo" >
<el-input v-model="dataForm.documentNo"
placeholder="系统自动生成" readonly >
<el-dialog :title="!dataForm.id ? '新建' : isDetail ? '详情':'编辑'"
:close-on-click-modal="false" append-to-body
:visible.sync="visible" class="JNPF-dialog JNPF-dialog_center" lock-scroll
width="1500px">
<el-row :gutter="15" class="">
<el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" label-position="right">
<template v-if="!loading">
<el-col :span="8">
<el-form-item label="单据编号"
prop="documentNo">
<el-input v-model="dataForm.documentNo"
placeholder="系统自动生成" readonly>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="申请时间"
prop="businessDate" >
<el-date-picker v-model="dataForm.businessDate"
placeholder="请选择" clearable :style='{"width":"100%"}' type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="timestamp" >
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申请时间"
prop="businessDate">
<el-date-picker v-model="dataForm.businessDate"
placeholder="请选择" clearable :style='{"width":"100%"}' type="datetime"
format="yyyy-MM-dd HH:mm:ss" value-format="timestamp">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="供应商名称"
prop="supplierName" >
<popupSelect v-model="dataForm.supplierName"
placeholder="请选择" clearable field="supplierName" interfaceId="393307526961100037" :columnOptions="supplierNamecolumnOptions" propsValue="supplier_name" relationField="supplier_name" popupType="dialog"
popupTitle="选择数据" popupWidth="800px"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="供应商名称"
prop="supplierName">
<popupSelect v-model="dataForm.supplierName"
placeholder="请选择供应商名称" clearable field="supplierName" interfaceId="393307526961100037"
:columnOptions="supplierNamecolumnOptions" propsValue="supplier_name"
relationField="supplier_name" popupType="dialog"
popupTitle="选择数据" popupWidth="800px"
hasPage :pageSize="20"
>
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款类型"
prop="paymentType" >
<el-select v-model="dataForm.paymentType"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in paymentTypeOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</popupSelect>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="付款类型"
prop="paymentType">
<el-select v-model="dataForm.paymentType"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in paymentTypeOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="申请金额"
prop="ramount" >
<el-input v-model="dataForm.ramount"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="申请金额"
prop="ramount">
<el-input v-model="dataForm.ramount"
placeholder="请输入" readonly clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="应付日期"
prop="dueDate" >
<el-date-picker v-model="dataForm.dueDate"
placeholder="请选择" clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd" value-format="timestamp" >
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="应付日期"
prop="dueDate">
<el-date-picker v-model="dataForm.dueDate"
placeholder="请选择" clearable :style='{"width":"100%"}' type="date" format="yyyy-MM-dd"
value-format="timestamp">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="币别 "
prop="currency" >
<el-select v-model="dataForm.currency"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in currencyOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="币别 "
prop="currency">
<el-select v-model="dataForm.currency"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in currencyOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="收款账户"
prop="collectionAccount" >
<el-input v-model="dataForm.collectionAccount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收款账户"
prop="collectionAccount">
<el-input v-model="dataForm.collectionAccount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="收款银行"
prop="colectionBank" >
<el-input v-model="dataForm.colectionBank"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="收款银行"
prop="colectionBank">
<el-input v-model="dataForm.colectionBank"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="结算类型"
prop="settlementType" >
<el-select v-model="dataForm.settlementType"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in settlementTypeOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="结算类型"
prop="settlementType">
<el-select v-model="dataForm.settlementType"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in settlementTypeOptions" :key="index" :label="item.fullName"
:value="item.id" :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="备注"
prop="remark" >
<el-input v-model="dataForm.remark"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备注"
prop="remark">
<el-input v-model="dataForm.remark"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="付款金额"
prop="paymentAmount" >
<el-input v-model="dataForm.paymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="付款金额"
prop="paymentAmount">
<el-input v-model="dataForm.paymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="未付款金额"
prop="unpaymentAmount" >
<el-input v-model="dataForm.unpaymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="未付款金额"
prop="unpaymentAmount">
<el-input v-model="dataForm.unpaymentAmount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" >
<el-form-item label="单据状态 "
prop="status" >
<el-select v-model="dataForm.status"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in statusOptions" :key="index" :label="item.fullName" :value="item.id" :disabled="item.disabled" ></el-option>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单据状态 "
prop="status">
<el-select v-model="dataForm.status"
placeholder="请选择" clearable :style='{"width":"100%"}'>
<el-option v-for="(item, index) in statusOptions" :key="index" :label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-tabs v-model="activeshpeyb" tab-position="top" class="mb-20">
<el-tab-pane label="申请明细">
<el-col :span="24" >
<el-form-item label-width="0">
<div class="JNPF-common-title">
<h2></h2>
</div>
<el-table :data="dataForm.paymentdoc_item0List" size='mini' >
<el-table-column type="index" width="50" label="序号" align="center" />
<el-table-column prop="amount" label="申请金额">
<template slot-scope="scope">
<el-input v-model="scope.row.amount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorUserId" label="订单金额">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorUserName" label="已付金额">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="purchaseorderId" label="订单编号">
<template slot-scope="scope">
<popupSelect v-model="scope.row.purchaseorderId"
placeholder="请选择" clearable :field="'purchaseorderId'+scope.$index" interfaceId="393348986343324485" :bissId="dataForm.supplierName" :columnOptions="paymentdoc_item0purchaseorderIdcolumnOptions" propsValue="id" relationField="document_no" popupType="dialog"
popupWidth="800px" @change="popupSelectorder"
hasPage :pageSize="20" >
</popupSelect>
</template>
</el-table-column>
<el-table-column prop="lastModifyUserId" label="合同编号">
<template slot-scope="scope">
<el-input v-model="scope.row.lastModifyUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="lastModifyUserName" label="重量">
<template slot-scope="scope">
<el-input v-model="scope.row.lastModifyUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteMark" label="税率(%)">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteMark"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="departmentId" label="垫资金额">
<template slot-scope="scope">
<el-input v-model="scope.row.departmentId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="orgnizeId" label="税额">
<template slot-scope="scope">
<el-input v-model="scope.row.orgnizeId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteUserId" label="不含税金额">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteUserName" label="业务类型">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorTime" label="业务日期">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorTime"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="50" >
<template slot-scope="scope">
<el-button size="mini" type="text" class="JNPF-table-delBtn" @click="delpaymentdoc_item0List(scope.$index)"></el-button>
</template>
</el-table-column>
</el-table>
<div class="table-actions" @click="addpaymentdoc_item0List()">
<el-button type="text" icon="el-icon-plus">添加</el-button>
</div>
</el-form-item>
</el-col>
</el-tab-pane >
</el-tabs>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-tabs v-model="activeshpeyb" tab-position="top" class="mb-20">
<el-tab-pane label="申请明细">
<el-col :span="24">
<el-form-item label-width="0">
<div class="JNPF-common-title">
<h2></h2>
</div>
<el-table :data="dataForm.paymentdoc_item0List" size='mini'>
<el-table-column type="index" width="50" label="序号" align="center"/>
<el-table-column prop="amount" label="申请金额">
<template slot-scope="scope">
<el-input v-model="scope.row.amount"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorUserId" label="订单金额">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorUserName" label="已付金额">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="purchaseorderId" label="订单编号">
<template slot-scope="scope">
<popupSelect v-model="scope.row.purchaseorderId"
placeholder="请选择" clearable :field="'purchaseorderId'+scope.$index"
interfaceId="393348986343324485" :bissId="dataForm.supplierName"
:columnOptions="paymentdoc_item0purchaseorderIdcolumnOptions" propsValue="id"
relationField="document_no" popupType="dialog"
popupWidth="800px" @change="popupSelectorder"
hasPage :pageSize="20">
</popupSelect>
</template>
</el-table-column>
<el-table-column prop="lastModifyUserId" label="合同编号">
<template slot-scope="scope">
<el-input v-model="scope.row.lastModifyUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="lastModifyUserName" label="重量">
<template slot-scope="scope">
<el-input v-model="scope.row.lastModifyUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteMark" label="税率(%)">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteMark"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="departmentId" label="垫资金额">
<template slot-scope="scope">
<el-input v-model="scope.row.departmentId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="orgnizeId" label="税额">
<template slot-scope="scope">
<el-input v-model="scope.row.orgnizeId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteUserId" label="不含税金额">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteUserId"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="deleteUserName" label="业务类型">
<template slot-scope="scope">
<el-input v-model="scope.row.deleteUserName"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column prop="creatorTime" label="业务日期">
<template slot-scope="scope">
<el-input v-model="scope.row.creatorTime"
placeholder="请输入" clearable :style='{"width":"100%"}'>
</el-input>
</template>
</el-table-column>
<el-table-column label="操作" width="50">
<template slot-scope="scope">
<el-button size="mini" type="text" class="JNPF-table-delBtn"
@click="delpaymentdoc_item0List(scope.$index)">删除
</el-button>
</template>
</el-table-column>
</el-table>
<div class="table-actions" @click="addpaymentdoc_item0List()">
<el-button type="text" icon="el-icon-plus">添加</el-button>
</div>
</el-form-item>
</el-col>
</template>
</el-form>
</el-tab-pane>
</el-tabs>
</el-col>
</template>
</el-form>
</el-row>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false"> </el-button>
<el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail"> </el-button>
</span>
</el-dialog>
</el-dialog>
</template>
<script>
import request from '@/utils/request'
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
export default {
components: {},
props: [],
data() {
return {
visible: false,
loading: false,
isDetail: false,
dataForm: {
documentNo : '',
businessDate : '',
supplierName : "",
paymentType : "0",
ramount : '',
dueDate : '',
currency : "0",
collectionAccount : '',
colectionBank : '',
settlementType : "0",
remark : '',
paymentAmount : '',
unpaymentAmount : '',
status : "",
creatorUserName : "",
creatorTime : "",
lastModifyUserName : "",
lastModifyTime : "",
paymentdoc_item0List:[],
},
activeshpeyb:'0',
rules:
{
collectionAccount: [
{
required: true,
message: '请输入',
trigger: 'blur'
},
],
},
supplierNamecolumnOptions:[ {"label":"供应商名称","value":"supplier_name"}, {"label":"供应商编码","value":"supplier_code"},],
paymentTypeOptions:[{"fullName":"贷款","id":"0"},{"fullName":"物流运费","id":"1"},{"fullName":"仓储费","id":"2"},{"fullName":"委外加工费","id":"3"},{"fullName":"其他费用","id":"4"}],
currencyOptions:[{"fullName":"人民币","id":"0"},{"fullName":"美元","id":"1"},{"fullName":"英镑","id":"2"}],
settlementTypeOptions:[{"fullName":"现金","id":"0"},{"fullName":"赊购","id":"1"},{"fullName":"网银","id":"2"},{"fullName":"银企直连","id":"3"},{"fullName":"银票","id":"4"},{"fullName":"商票","id":"5"}],
statusOptions:[{"fullName":"已保存","id":"0"},{"fullName":"审批中","id":"1"},{"fullName":"已审批","id":"2"},{"fullName":"已付款","id":"3"}],
import request from '@/utils/request'
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
paymentdoc_item0purchaseorderIdcolumnOptions:[ {"label":"单据编号","value":"document_no"}, {"label":"合同编码","value":"contract_code"}, {"label":"重量","value":"num"}, {"label":"税额","value":"rate"}, {"label":"不含税金额","value":"not_amount"},],
}
},
computed: {},
watch: {},
created() {
export default {
components: {},
props: [],
data() {
return {
visible: false,
loading: false,
isDetail: false,
dataForm: {
documentNo: '',
businessDate: '',
supplierName: '',
paymentType: '0',
ramount: '',
dueDate: '',
currency: '0',
collectionAccount: '',
colectionBank: '',
settlementType: '0',
remark: '',
paymentAmount: '',
unpaymentAmount: '',
status: '',
creatorUserName: '',
creatorTime: '',
lastModifyUserName: '',
lastModifyTime: '',
paymentdoc_item0List: []
},
mounted() {},
methods: {
popupSelectorder(a, b){
for (let i = 0; i < this.dataForm.paymentdoc_item0List.length; i++) {
if(a == this.dataForm.paymentdoc_item0List[i].purchaseorderId){
this.dataForm.paymentdoc_item0List[i].lastModifyUserId = b.contract_code;
this.dataForm.paymentdoc_item0List[i].lastModifyUserName = b.num;
this.dataForm.paymentdoc_item0List[i].departmentId = b.advance_amount;
this.dataForm.paymentdoc_item0List[i].orgnizeId = b.rate;
this.dataForm.paymentdoc_item0List[i].deleteUserId = b.not_amount;
this.dataForm.ramount = parseFloat(this.dataForm.ramount) + parseFloat(b.amount);
activeshpeyb: '0',
rules:
{
collectionAccount: [
{
required: true,
message: '请输入',
trigger: 'blur'
}
}
],
amount: [{ required: true, message: '请输入', trigger: 'blur' }]
},
supplierNamecolumnOptions: [{ 'label': '供应商名称', 'value': 'supplier_name' }, {
'label': '供应商编码',
'value': 'supplier_code'
}, { 'label': '供应商地点名称', 'value': 'supplier_site_code' }],
paymentTypeOptions: [{ 'fullName': '贷款', 'id': '0' }, { 'fullName': '物流运费', 'id': '1' }, {
'fullName': '仓储费',
'id': '2'
}, { 'fullName': '委外加工费', 'id': '3' }, { 'fullName': '其他费用', 'id': '4' }],
currencyOptions: [{ 'fullName': '人民币', 'id': '0' }, { 'fullName': '美元', 'id': '1' }, {
'fullName': '英镑',
'id': '2'
}],
settlementTypeOptions: [{ 'fullName': '现金', 'id': '0' }, { 'fullName': '赊购', 'id': '1' }, {
'fullName': '网银',
'id': '2'
}, { 'fullName': '银企直连', 'id': '3' }, { 'fullName': '银票', 'id': '4' }, { 'fullName': '商票', 'id': '5' }],
statusOptions: [{ 'fullName': '已保存', 'id': '0' }, { 'fullName': '审批中', 'id': '1' }, {
'fullName': '已审批',
'id': '2'
}, { 'fullName': '已付款', 'id': '3' }],
paymentdoc_item0Exist() {
let isOk = true;
for(let i=0;i<this.dataForm.paymentdoc_item0List.length;i++){
const e = this.dataForm.paymentdoc_item0List[i];
}
return isOk;
},
clearData(data){
for (let key in data) {
if (data[key] instanceof Array) {
data[key] = [];
} else if (data[key] instanceof Object) {
this.clearData(data[key]);
} else {
data[key] = "";
}
}
},
init(id, isDetail) {
this.dataForm.id = id || 0;
this.visible = true;
this.isDetail = isDetail || false;
this.$nextTick(() => {
this.$refs['elForm'].resetFields();
if(this.dataForm.id){
this.loading = true
request({
url: '/api/example/Paymentdoc/'+this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
});
}else{
this.clearData(this.dataForm)
}
});
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
},
//
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
if (!this.paymentdoc_item0Exist()) return
this.request()
}
})
},
request() {
var _data =this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/example/Paymentdoc',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}else{
request({
url: '/api/example/Paymentdoc/'+this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
addpaymentdoc_item0List(){
let item = {
amount:undefined,
creatorUserId:undefined,
creatorUserName:undefined,
purchaseorderId:undefined,
lastModifyUserId:undefined,
lastModifyUserName:undefined,
deleteMark:undefined,
departmentId:undefined,
orgnizeId:undefined,
deleteUserId:undefined,
deleteUserName:undefined,
creatorTime:undefined,
}
this.dataForm.paymentdoc_item0List.push(item)
},
delpaymentdoc_item0List(index) {
this.dataForm.paymentdoc_item0List.splice(index, 1);
},
dataList(){
var _data = JSON.parse(JSON.stringify(this.dataForm));
for(let i=0;i<_data.paymentdoc_item0List.length;i++){
var _list = _data.paymentdoc_item0List[i];
}
return _data;
},
dataInfo(dataAll){
let _dataAll =dataAll
for(let i=0;i<_dataAll.paymentdoc_item0List.length;i++){
var _list = _dataAll.paymentdoc_item0List[i];
}
this.dataForm = _dataAll
},
},
paymentdoc_item0purchaseorderIdcolumnOptions: [{ 'label': '单据编号', 'value': 'document_no' }, {
'label': '合同编码',
'value': 'contract_code'
}, { 'label': '重量', 'value': 'num' }, { 'label': '税额', 'value': 'rate' }, {
'label': '不含税金额',
'value': 'not_amount'
}]
}
},
computed: {},
watch: {},
created() {
},
mounted() {
},
methods: {
popupSelectorder(a, b) {
for (let i = 0; i < this.dataForm.paymentdoc_item0List.length; i++) {
if (a == this.dataForm.paymentdoc_item0List[i].purchaseorderId) {
this.dataForm.paymentdoc_item0List[i].lastModifyUserId = b.contract_code
this.dataForm.paymentdoc_item0List[i].lastModifyUserName = b.num
this.dataForm.paymentdoc_item0List[i].departmentId = b.advance_amount
this.dataForm.paymentdoc_item0List[i].orgnizeId = b.rate
this.dataForm.paymentdoc_item0List[i].deleteUserId = b.not_amount
this.dataForm.ramount = parseFloat(this.dataForm.ramount) + parseFloat(b.amount)
}
}
},
paymentdoc_item0Exist() {
let isOk = true
for (let i = 0; i < this.dataForm.paymentdoc_item0List.length; i++) {
const e = this.dataForm.paymentdoc_item0List[i]
}
return isOk
},
clearData(data) {
for (let key in data) {
if (data[key] instanceof Array) {
data[key] = []
} else if (data[key] instanceof Object) {
this.clearData(data[key])
} else {
data[key] = ''
}
}
},
init(id, isDetail) {
this.dataForm.id = id || 0
this.visible = true
this.isDetail = isDetail || false
this.$nextTick(() => {
this.$refs['elForm'].resetFields()
if (this.dataForm.id) {
this.loading = true
request({
url: '/api/example/Paymentdoc/' + this.dataForm.id,
method: 'get'
}).then(res => {
this.dataInfo(res.data)
this.loading = false
})
} else {
this.clearData(this.dataForm)
}
})
this.$store.commit('generator/UPDATE_RELATION_DATA', {})
},
//
dataFormSubmit() {
this.$refs['elForm'].validate((valid) => {
if (valid) {
if (!this.paymentdoc_item0Exist()) return
this.request()
}
})
},
request() {
var _data = this.dataList()
if (!this.dataForm.id) {
request({
url: '/api/example/Paymentdoc',
method: 'post',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
} else {
request({
url: '/api/example/Paymentdoc/' + this.dataForm.id,
method: 'PUT',
data: _data
}).then((res) => {
this.$message({
message: res.msg,
type: 'success',
duration: 1000,
onClose: () => {
this.visible = false
this.$emit('refresh', true)
}
})
})
}
},
addpaymentdoc_item0List() {
let item = {
amount: undefined,
creatorUserId: undefined,
creatorUserName: undefined,
purchaseorderId: undefined,
lastModifyUserId: undefined,
lastModifyUserName: undefined,
deleteMark: undefined,
departmentId: undefined,
orgnizeId: undefined,
deleteUserId: undefined,
deleteUserName: undefined,
creatorTime: undefined
}
this.dataForm.paymentdoc_item0List.push(item)
},
delpaymentdoc_item0List(index) {
this.dataForm.paymentdoc_item0List.splice(index, 1)
},
dataList() {
var _data = JSON.parse(JSON.stringify(this.dataForm))
for (let i = 0; i < _data.paymentdoc_item0List.length; i++) {
var _list = _data.paymentdoc_item0List[i]
}
return _data
},
dataInfo(dataAll) {
let _dataAll = dataAll
for (let i = 0; i < _dataAll.paymentdoc_item0List.length; i++) {
var _list = _dataAll.paymentdoc_item0List[i]
}
this.dataForm = _dataAll
}
}
}
</script>

@ -1,351 +1,386 @@
<template>
<div class="JNPF-common-layout">
<div class="JNPF-common-layout">
<div class="JNPF-common-layout-center">
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="单据编号">
<el-input v-model="query.documentNo" placeholder="请输入" clearable> </el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="单据状态 ">
<el-select v-model="query.status" placeholder="请选择"
clearable>
<el-option v-for="(item, index) in statusOptions" :key="index"
:label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
<el-button icon="el-icon-refresh-right" @click="reset()"></el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()" >导出
</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()" >批量删除
</el-button>
<el-button type="primary" icon="el-icon-plus" @click="paymentapply()" >付款
</el-button>
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" content="刷新" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="reset()"/>
</el-tooltip>
<screenfull isContainer/>
</div>
</div>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c @selection-change="handleSelectionChange">
<el-table-column prop="documentNo" label="单据编号" width="0" align="left"
/>
<el-table-column prop="businessDate" label="申请时间" width="0" align="left"
/>
<el-table-column prop="supplierName" label="供应商名称" width="0" align="left"
/>
<el-table-column label="币别 " width="0" prop="currency" algin="left"
>
<template slot-scope="scope">
{{ scope.row.currency | dynamicText(currencyOptions) }}
</template>
</el-table-column>
<el-table-column prop="ramount" label="申请金额" width="0" align="left"
/>
<el-table-column prop="paymentAmount" label="付款金额" width="0" align="left"
/>
<el-table-column prop="unpaymentAmount" label="未付款金额" width="0" align="left"
/>
<el-table-column prop="dueDate" label="应付日期" width="0" align="left"
/>
<el-table-column prop="collectionAccount" label="收款账户" width="0" align="left"
/>
<el-table-column prop="colectionBank" label="收款银行" width="0" align="left"
/>
<el-table-column label="付款类型" width="0" prop="paymentType" algin="left"
>
<template slot-scope="scope">
{{ scope.row.paymentType | dynamicText(paymentTypeOptions) }}
</template>
</el-table-column>
<el-table-column label="结算类型" width="0" prop="settlementType" algin="left"
>
<template slot-scope="scope">
{{ scope.row.settlementType | dynamicText(settlementTypeOptions) }}
</template>
</el-table-column>
<el-table-column label="单据状态 " width="0" prop="status" algin="left"
>
<template slot-scope="scope">
{{ scope.row.status | dynamicText(statusOptions) }}
</template>
</el-table-column>
<el-table-column prop="creatorUserName" label="制单人" width="0" align="left"
/>
<el-table-column label="操作" fixed="right"
width="150" >
<template slot-scope="scope">
<el-button type="text"
@click="addOrUpdateHandle(scope.row.id)" >编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize" @pagination="initData"/>
</div>
<div class="JNPF-common-layout-center">
<el-row class="JNPF-common-search-box" :gutter="16">
<el-form @submit.native.prevent>
<el-col :span="6">
<el-form-item label="单据编号">
<el-input v-model="query.documentNo" placeholder="请输入" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="单据状态 ">
<el-select v-model="query.status" placeholder="请选择"
clearable>
<el-option v-for="(item, index) in statusOptions" :key="index"
:label="item.fullName" :value="item.id"
:disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search()"></el-button>
<el-button icon="el-icon-refresh-right" @click="reset()"></el-button>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="JNPF-common-layout-main JNPF-flex-main">
<div class="JNPF-common-head">
<div>
<el-button type="primary" icon="el-icon-plus" @click="addOrUpdateHandle()">
</el-button>
<el-button type="text" icon="el-icon-download" @click="exportData()">
</el-button>
<el-button type="text" icon="el-icon-delete" @click="handleBatchRemoveDel()">
</el-button>
<el-button type="success" size="medium" @click="paymentapply()">
</el-button>
</div>
<div class="JNPF-common-head-right">
<el-tooltip effect="dark" content="刷新" placement="top">
<el-link icon="icon-ym icon-ym-Refresh JNPF-common-head-icon" :underline="false"
@click="reset()"/>
</el-tooltip>
<screenfull isContainer/>
</div>
</div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
<JNPF-table v-loading="listLoading" :data="list" @sort-change='sortChange' has-c
@selection-change="handleSelectionChange">
<el-table-column prop="documentNo" label="单据编号" width="0" align="left"
/>
<el-table-column prop="businessDate" label="申请时间" width="0" align="left"
/>
<el-table-column prop="supplierName" label="供应商名称" width="0" align="left"
/>
<el-table-column label="币别 " width="0" prop="currency" algin="left"
>
<template slot-scope="scope">
{{ scope.row.currency | dynamicText(currencyOptions) }}
</template>
</el-table-column>
<el-table-column prop="ramount" label="申请金额" width="0" align="left"
/>
<el-table-column prop="paymentAmount" label="付款金额" width="0" align="left"
/>
<el-table-column prop="unpaymentAmount" label="未付款金额" width="0" align="left"
/>
<el-table-column prop="dueDate" label="应付日期" width="0" align="left"
/>
<el-table-column prop="collectionAccount" label="收款账户" width="0" align="left"
/>
<el-table-column prop="colectionBank" label="收款银行" width="0" align="left"
/>
<el-table-column label="付款类型" width="0" prop="paymentType" algin="left"
>
<template slot-scope="scope">
{{ scope.row.paymentType | dynamicText(paymentTypeOptions) }}
</template>
</el-table-column>
<el-table-column label="结算类型" width="0" prop="settlementType" algin="left"
>
<template slot-scope="scope">
{{ scope.row.settlementType | dynamicText(settlementTypeOptions) }}
</template>
</el-table-column>
<el-table-column label="单据状态 " width="0" prop="status" algin="left"
>
<template slot-scope="scope">
{{ scope.row.status | dynamicText(statusOptions) }}
</template>
</el-table-column>
<el-table-column prop="creatorUserName" label="制单人" width="0" align="left"
/>
<el-table-column label="操作" fixed="right"
width="150">
<template slot-scope="scope">
<el-button type="text"
@click="addOrUpdateHandle(scope.row.id)">编辑
</el-button>
<el-button type="text" class="JNPF-table-delBtn" @click="handleDel(scope.row.id)">
</el-button>
<el-button type="text"
@click="goDetail(scope.row.id)">详情
</el-button>
</template>
</el-table-column>
</JNPF-table>
<pagination :total="total" :page.sync="listQuery.currentPage" :limit.sync="listQuery.pageSize"
@pagination="initData"/>
</div>
</div>
<JNPF-Form v-if="formVisible" ref="JNPFForm" @refresh="refresh"/>
<ExportBox v-if="exportBoxVisible" ref="ExportBox" @download="download"/>
<Detail v-if="detailVisible" ref="Detail" @refresh="detailVisible=false"/>
</div>
</template>
<script>
import request from '@/utils/request'
import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
import JNPFForm from './Form'
import ExportBox from './ExportBox'
import {getDataInterfaceRes} from '@/api/systemData/dataInterface'
import Detail from './Detail'
import request from '@/utils/request'
import { getDictionaryDataSelector } from '@/api/systemData/dictionary'
import JNPFForm from './Form'
import ExportBox from './ExportBox'
import { getDataInterfaceRes } from '@/api/systemData/dataInterface'
import Detail from './Detail'
export default {
components: {JNPFForm, ExportBox,Detail},
data() {
return {
detailVisible: false,
query: {
documentNo:undefined,
status:undefined,
},
treeProps: {
children: 'children',
label: 'fullName',
value: 'id'
},
list: [],
listLoading: true,
multipleSelection: [], total: 0,
listQuery: {
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
},
formVisible: false,
exportBoxVisible: false,
columnList: [
{prop: 'documentNo', label: '单据编号'},
{prop: 'businessDate', label: '申请时间'},
{prop: 'supplierName', label: '供应商名称'},
{prop: 'currency', label: '币别 '},
{prop: 'ramount', label: '申请金额'},
{prop: 'paymentAmount', label: '付款金额'},
{prop: 'unpaymentAmount', label: '未付款金额'},
{prop: 'dueDate', label: '应付日期'},
{prop: 'collectionAccount', label: '收款账户'},
{prop: 'colectionBank', label: '收款银行'},
{prop: 'paymentType', label: '付款类型'},
{prop: 'settlementType', label: '结算类型'},
{prop: 'status', label: '单据状态 '},
{prop: 'creatorUserName', label: '制单人'},
],
paymentTypeOptions:[{"fullName":"贷款","id":"0"},{"fullName":"物流运费","id":"1"},{"fullName":"仓储费","id":"2"},{"fullName":"委外加工费","id":"3"},{"fullName":"其他费用","id":"4"}],
paymentTypeProps:{"label":"fullName","value":"id"},
currencyOptions:[{"fullName":"人民币","id":"0"},{"fullName":"美元","id":"1"},{"fullName":"英镑","id":"2"}],
currencyProps:{"label":"fullName","value":"id"},
settlementTypeOptions:[{"fullName":"现金","id":"0"},{"fullName":"赊购","id":"1"},{"fullName":"网银","id":"2"},{"fullName":"银企直连","id":"3"},{"fullName":"银票","id":"4"},{"fullName":"商票","id":"5"}],
settlementTypeProps:{"label":"fullName","value":"id"},
statusOptions:[{"fullName":"已保存","id":"0"},{"fullName":"审批中","id":"1"},{"fullName":"已审批","id":"2"},{"fullName":"已付款","id":"3"}],
statusProps:{"label":"fullName","value":"id"},
}
export default {
components: { JNPFForm, ExportBox, Detail },
data() {
return {
detailVisible: false,
query: {
documentNo: undefined,
status: undefined
},
computed: {
menuId() {
return this.$route.meta.modelId || ''
}
treeProps: {
children: 'children',
label: 'fullName',
value: 'id'
},
created() {
this.initData()
list: [],
listLoading: true,
multipleSelection: [], total: 0,
listQuery: {
currentPage: 1,
pageSize: 20,
sort: 'desc',
sidx: ''
},
methods: {
goDetail(id){
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(id)
})
},
sortChange({column, prop, order}) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop
formVisible: false,
exportBoxVisible: false,
columnList: [
{ prop: 'documentNo', label: '单据编号' },
{ prop: 'businessDate', label: '申请时间' },
{ prop: 'supplierName', label: '供应商名称' },
{ prop: 'currency', label: '币别 ' },
{ prop: 'ramount', label: '申请金额' },
{ prop: 'paymentAmount', label: '付款金额' },
{ prop: 'unpaymentAmount', label: '未付款金额' },
{ prop: 'dueDate', label: '应付日期' },
{ prop: 'collectionAccount', label: '收款账户' },
{ prop: 'colectionBank', label: '收款银行' },
{ prop: 'paymentType', label: '付款类型' },
{ prop: 'settlementType', label: '结算类型' },
{ prop: 'status', label: '单据状态 ' },
{ prop: 'creatorUserName', label: '制单人' }
],
paymentTypeOptions: [{ 'fullName': '贷款', 'id': '0' }, { 'fullName': '物流运费', 'id': '1' }, {
'fullName': '仓储费',
'id': '2'
}, { 'fullName': '委外加工费', 'id': '3' }, { 'fullName': '其他费用', 'id': '4' }],
paymentTypeProps: { 'label': 'fullName', 'value': 'id' },
currencyOptions: [{ 'fullName': '人民币', 'id': '0' }, { 'fullName': '美元', 'id': '1' }, {
'fullName': '英镑',
'id': '2'
}],
currencyProps: { 'label': 'fullName', 'value': 'id' },
settlementTypeOptions: [{ 'fullName': '现金', 'id': '0' }, { 'fullName': '赊购', 'id': '1' }, {
'fullName': '网银',
'id': '2'
}, { 'fullName': '银企直连', 'id': '3' }, { 'fullName': '银票', 'id': '4' }, { 'fullName': '商票', 'id': '5' }],
settlementTypeProps: { 'label': 'fullName', 'value': 'id' },
statusOptions: [{ 'fullName': '已保存', 'id': '0' }, { 'fullName': '审批中', 'id': '1' }, {
'fullName': '已审批',
'id': '2'
}, { 'fullName': '已付款', 'id': '3' }],
statusProps: { 'label': 'fullName', 'value': 'id' }
}
},
computed: {
menuId() {
return this.$route.meta.modelId || ''
}
},
created() {
this.initData()
},
methods: {
goDetail(id) {
this.detailVisible = true
this.$nextTick(() => {
this.$refs.Detail.init(id)
})
},
sortChange({ column, prop, order }) {
this.listQuery.sort = order == 'ascending' ? 'asc' : 'desc'
this.listQuery.sidx = !order ? '' : prop
this.initData()
},
initData() {
this.listLoading = true
let _query = {
...this.listQuery,
...this.query,
menuId: this.menuId
}
request({
url: `/api/example/Paymentdoc/getList`,
method: 'post',
data: _query
}).then(res => {
var _list = []
for (let i = 0; i < res.data.list.length; i++) {
let _data = res.data.list[i]
_list.push(_data)
}
this.list = _list
this.total = res.data.pagination.total
this.listLoading = false
})
},
handleDel(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
request({
url: `/api/example/Paymentdoc/${id}`,
method: 'DELETE'
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
},
initData() {
this.listLoading = true;
let _query = {
...this.listQuery,
...this.query,
menuId:this.menuId
};
request({
url: `/api/example/Paymentdoc/getList`,
method: 'post',
data: _query
}).then(res => {
var _list =[];
for(let i=0;i<res.data.list.length;i++){
let _data = res.data.list[i];
_list.push(_data)
}
this.list = _list
this.total = res.data.pagination.total
}
})
})
}).catch(() => {
})
},
handleSelectionChange(val) {
const res = val.map(item => item.id)
this.multipleSelection = res
},
paymentapply() {
if (!this.multipleSelection.length) {
this.$message({
type: 'error',
message: '请选择一条数据',
duration: 1500
})
return
}
let ids = this.multipleSelection.join()
if (this.multipleSelection.length === 1) {
let info = {}
info = this.list.find(function(info) {
return info.id == ids
})
if (info.status != 2) {
this.$message({
type: 'error',
message: '审核中,请先通过审核',
duration: 1500
})
return
}
let id = this.multipleSelection.join()
let param = {}
param = this.list.find(function(param) {
return param.id == id
})
this.listLoading = false
})
},
handleDel(id) {
this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
request({
url: `/api/example/Paymentdoc/${id}`,
method: 'DELETE'
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
}
});
})
}).catch(() => {
});
},
handleSelectionChange(val) {
const res = val.map(item => item.id)
this.multipleSelection = res
},
paymentapply(){
if (!this.multipleSelection.length) {
this.$message({
type: 'error',
message: '请选择一条数据',
duration: 1500,
})
return
}
let ids = this.multipleSelection.join()
if (this.multipleSelection.length ===1){
let info = {};
info = this.list.find(function(info) {
return info.id == ids
})
if (info.status != 2){
this.$message({
type: 'error',
message: '审核中,请先通过审核',
duration: 1500,
})
return
}else{
debugger
this.$router.push({path:'/api/collection/Collection'})
debugger
this.$router.push({ path: '/paymentdoc' })
request({
url: `/api/example/Paymentdoc/paymentapplylist`,
method: 'post',
data: param
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
}
}if (this.multipleSelection.length >1){
this.$message({
type: 'error',
message: '请选择单条数据',
duration: 1500,
})
}
},
handleBatchRemoveDel() {
if (!this.multipleSelection.length) {
this.$message({
type: 'error',
message: '请选择一条数据',
duration: 1500,
})
return
}
const ids = this.multipleSelection.join()
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
request({
url: `/api/example/Paymentdoc/batchRemove/${ids}`,
method: 'DELETE'
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
}
});
})
}).catch(() => {
})
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true
this.$nextTick(() => {
this.$refs.JNPFForm.init(id, isDetail)
})
},
exportData() {
this.exportBoxVisible = true
this.$nextTick(() => {
this.$refs.ExportBox.init(this.columnList)
})
},
download(data) {
let query = {...data, ...this.listQuery, ...this.query,menuId:this.menuId}
request({
url: `/api/example/Paymentdoc/Actions/Export`,
method: 'GET',
data: query
}).then(res => {
if (!res.data.url) return
this.jnpf.downloadFile(res.data.url)
this.$refs.ExportBox.visible = false
this.exportBoxVisible = false
})
},
search() {
this.listQuery = {
currentPage: 1,
pageSize: 20,
sort: "desc",
sidx: "",
}
})
})
}
if (this.multipleSelection.length > 1) {
this.$message({
type: 'error',
message: '请选择单条数据',
duration: 1500
})
}
},
handleBatchRemoveDel() {
if (!this.multipleSelection.length) {
this.$message({
type: 'error',
message: '请选择一条数据',
duration: 1500
})
return
}
const ids = this.multipleSelection.join()
this.$confirm('您确定要删除这些数据吗, 是否继续?', '提示', {
type: 'warning'
}).then(() => {
request({
url: `/api/example/Paymentdoc/batchRemove/${ids}`,
method: 'DELETE'
}).then(res => {
this.$message({
type: 'success',
message: res.msg,
onClose: () => {
this.initData()
},
refresh(isrRefresh) {
this.formVisible = false
if (isrRefresh) this.reset()
},
reset() {
for (let key in this.query) {
this.query[key] = undefined
}
this.search()
}
}
})
})
}).catch(() => {
})
},
addOrUpdateHandle(id, isDetail) {
this.formVisible = true
this.$nextTick(() => {
this.$refs.JNPFForm.init(id, isDetail)
})
},
exportData() {
this.exportBoxVisible = true
this.$nextTick(() => {
this.$refs.ExportBox.init(this.columnList)
})
},
download(data) {
let query = { ...data, ...this.listQuery, ...this.query, menuId: this.menuId }
request({
url: `/api/example/Paymentdoc/Actions/Export`,
method: 'GET',
data: query
}).then(res => {
if (!res.data.url) return
this.jnpf.downloadFile(res.data.url)
this.$refs.ExportBox.visible = false
this.exportBoxVisible = false
})
},
search() {
this.listQuery = {
currentPage: 1,
pageSize: 20,
sort: 'desc',
sidx: ''
}
this.initData()
},
refresh(isrRefresh) {
this.formVisible = false
if (isrRefresh) this.reset()
},
reset() {
for (let key in this.query) {
this.query[key] = undefined
}
this.search()
}
}
}
</script>

Loading…
Cancel
Save