Commit 1a27e916 by qiaoyanqi

处理上下张,新增凭证中心通用功能

parent dd458d64
export default {
execute(context, param) {
GMS.queryObject.index=-1;//上张下张用
// 新建单据状态设置为可编辑,单据id为空
GMS.vbus.$emit('change-form-state', {state: '', billId: null})
},
......
......@@ -21,6 +21,7 @@ export default {
if (data.status == 200 && data.data.code == 0) {
GMS.$hideContainer.$Modal.remove();
GMS.$hideContainer.$Message.success('删除成功');
GMS.queryObject.index=-1;//上张下张用
GMS.vbus.$emit('change-form-state', {state: '', billId: null})
} else {
GMS.$hideContainer.$Modal.remove();
......
......@@ -109,6 +109,10 @@ export default {
bill.getMasterData().setValue("recver", response.data.content.billData.recver);
bill.getMasterData().setValue("billCode", response.data.content.billData.billCode);
const id = response.data.content.billData.id;
//处理上张下张
if(GMS.queryObject.index==-1){
GMS.queryObject.index=0;
}
GMS.vbus.$Message.success("保存成功");
GMS.vbus.$emit('change-form-state', { state: 'readOnly', billId: id})
GMS.vbus.$emit("saveSuccess", buidData, param);
......
......@@ -98,6 +98,10 @@ export default {
bill.getMasterData().setValue("recver", response.data.content.billData.recver);
bill.getMasterData().setValue("billCode", response.data.content.billData.billCode);
const id = response.data.content.billData.id;
//处理上张下张
if(GMS.queryObject.index==-1){
GMS.queryObject.index=0;
}
GMS.vbus.$Message.success("暂存成功");
GMS.vbus.$emit('change-form-state', {state: 'readOnly', billId: id})
GMS.vbus.$emit("saveSuccess", buidData, param);
......
......@@ -80,6 +80,7 @@ export default {
columns: [
{
title: "草稿名称",
tooltip:true,
key: "title",
},
{
......
......@@ -35,7 +35,7 @@ export default {
}
let defineName = this.context.dataObject.getValue(configDefineName);
let id = this.context.dataObject.getValue(configId);
let a = "/showBillForm/" + defineName + '_R/' + id;
let a = "/showBillForm/" + defineName + '_E/' + id;
let routeData = GMS.routerManager.getRouter().resolve({
path: a
});
......
......@@ -389,6 +389,141 @@ export default {
"title": "刷新交易状态"
},
{
"value": "voucherQueryTYAction",
"discard": false,
"path": "通用",
"extends": {
"paramDes": [
{
"isRequired": true,
"ref": "bill",
"type": "metaData",
"title": "单据billDefine",
"key": "billDefine"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据id",
"key": "billId"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据code",
"key": "billCode"
}
]
},
"description": "联查凭证描述",
"title": "联查凭证"
}, {
"value": "leafletGenerationTYAction",
"discard": false,
"path": "通用",
"extends": {
"paramDes": [
{
"isRequired": true,
"ref": "bill",
"type": "metaData",
"title": "单据billDefine",
"key": "billDefine"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据id",
"key": "billId"
},
{
"isRequired": true,
"type": "string",
"title": "子表字段标识",
"key": "subTable"
},
{
"isRequired": true,
"type": "Boolean",
"title": "是否直接生成",
"key": "directGeneration"
}
]
},
"description": "单张生成描述",
"title": "单张生成"
}, {
"value": "summaryGenerationTYAction",
"discard": false,
"path": "通用",
"extends": {
"paramDes": [
{
"isRequired": true,
"ref": "bill",
"type": "metaData",
"title": "单据billDefine",
"key": "billDefine"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据id",
"key": "billId"
},
{
"isRequired": true,
"type": "string",
"title": "子表字段标识",
"key": "subTable"
},
{
"isRequired": true,
"type": "Boolean",
"title": "是否直接生成",
"key": "directGeneration"
}
]
},
"description": "汇总生成描述",
"title": "汇总生成"
}, {
"value": "undoGenerationTYAction",
"discard": false,
"path": "通用",
"extends": {
"paramDes": [
{
"isRequired": true,
"ref": "bill",
"type": "metaData",
"title": "单据billDefine",
"key": "billDefine"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据id",
"key": "billId"
},
{
"isRequired": true,
"ref": "columnField",
"type": "field",
"title": "单据code",
"key": "billCode"
}
]
},
"description": "撤销生成描述",
"title": "撤销生成"
},
{
"value": "voucherQueryAction",
"discard": false,
"path": "凭证中心",
......
......@@ -39,11 +39,15 @@ import deleteInvoiceAction from './actions/deleteInvoiceAction.js'
import saveActionBXD from './actions/saveActionBXD';
//queryAction
import leafletGenerationAction from './query-actions/leafletGenerationAction.js'
import leafletGenerationTYAction from './query-actions/leafletGenerationTYAction.js'
import summaryGenerationAction from './query-actions/summaryGenerationAction.js'
import seeDetailAction from './query-actions/seeDetailAction.js'
import goToDetail from './query-actions/goToDetail.js'
import summaryGenerationTYAction from './query-actions/summaryGenerationTYAction.js'
import undoGenerationAction from './query-actions/undoGenerationAction.js'
import undoGenerationTYAction from './query-actions/undoGenerationTYAction.js'
import voucherQueryAction from './query-actions/voucherQueryAction.js'
import voucherQueryTYAction from './query-actions/voucherQueryTYAction.js'
import seeDetailAction from './query-actions/seeDetailAction.js'
import goToDetail from './query-actions/goToDetail.js'
import updateStateAction from './query-actions/updateStateAction.js'
import createBill from './query-actions/createBill.js';
import editBill from './query-actions/editBill.js';
......@@ -176,9 +180,13 @@ export default {
MdStringMultiFilter,
MdYWHDDXFilter,
voucherQueryAction,
voucherQueryTYAction,
leafletGenerationAction,
leafletGenerationTYAction,
summaryGenerationAction,
summaryGenerationTYAction,
undoGenerationAction,
undoGenerationTYAction,
seeDetailAction,
goToDetail,
updateStateAction,
......
/*
* @Description:凭证中心/单张生成
*/
import axios from 'axios'
export default {
execute(context, param) {
......
/*
* @Description:通用/单张生成
*/
import axios from 'axios'
export default {
execute(context, param) {
let subTable = param.subTable||'BXMXZB';
let directGeneration = param.directGeneration||false;
if (!param.billId || !param.billDefine) {
context.dom.$Message.info("请配置查询单据参数");
return;
}
if(context.selects.length==0){
context.dom.$Message.info("请勾择需要生成的数据");
return;
}
let that = this;
let billDefine = param.billDefine.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
let arrApi1 = [];
context.selects.forEach(v=>{
arrApi1.push(that.searchBillObj(billDefine,v[param.billId]))
})
let arr = [];
let arrApi = [];
Promise.all(arrApi1).then((list) => {
list.forEach((v,i)=>{
let res = v;
if(res && res[subTable]){
res[subTable].forEach(v=>{
let billDefine = v.BILLNAME && v.BILLNAME.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
arrApi.push(that.searchBillObj(billDefine,v.BILLID,i))
})
}
arr.push({//直接生成
index:i,
data:res
})
})
if(!directGeneration){//间接生成
Promise.all(arrApi).then((subList) => {
arr.forEach(v=>{
v.detailData=[];
subList.forEach(f=>{
if(v.index==f.index){
v.detailData.push(f);
}
})
})
that.generateVoucher(arr,context);
})
}else{
that.generateVoucher(arr,context);//直接生成
}
})
},
generateVoucher(list,context){
axios({
          method: 'POST',
          url:GMS.url+'/mechanismVchr/singleCreateVchr',//单张生成接口
          headers: {
              Authorization:GMS.token,
          },
data:list
        }).then(res => {
          if (res.status === 200) {
if(res.data.data.showVoucher){//展示凭证
GMS.vbus.$emit('previewVoucher',res.data.data);
}else{
if(res.data.data.successVchrs && res.data.data.successVchrs.length > 0){
GMS.vbus.$emit('custom-query-refresh');
GMS.vbus.$emit('tab-count-refresh');
}
context.dom.$Modal.warning({
title: '信息提示',
content: res.data.data.processMsg,
onOk: () => {},
});
}
          }
        })
},
searchBillObj(billDefine, billId, index) {
return new Promise((resolve, reject) => {
GMS.$http.get(
`/gms/bill/${billDefine}/${billId}?withSubs=true`
).then((data) => {
if (data.status == 200 && data.data.code == 0) {
let obj = data.data.content
obj.billDefine = billDefine;
obj.index = index
resolve(obj);
}
}).catch((error)=>{
reject(error)
})
})
}
}
\ No newline at end of file
/*
* @Description:凭证中心/汇总生成
*/
import axios from 'axios'
export default {
execute(context, param) {
......@@ -53,7 +56,7 @@ export default {
generateVoucher(list,context){
axios({
          method: 'POST',
url:GMS.url+'/v1/reimbursePort/combineCreateVchr',
url:GMS.url+'/v1/reimbursePort/combineCreateVchr',//汇总生成
          headers: {
              Authorization:GMS.token,
          },
......
/*
* @Description:通用/汇总生成
*/
import axios from 'axios'
export default {
execute(context, param) {
let subTable = param.subTable||'BXMXZB';
let directGeneration = param.directGeneration||false;
if (!param.billId || !param.billDefine) {
context.dom.$Message.info("请配置查询单据参数");
return;
}
if(context.selects.length==0){
context.dom.$Message.info("请勾择需要生成的数据");
return;
}
let that = this;
let billDefine = param.billDefine.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
let arrApi1 = [];
context.selects.forEach(v=>{
arrApi1.push(that.searchBillObj(billDefine,v[param.billId]))
})
let arr = [];
let arrApi = [];
Promise.all(arrApi1).then((list) => {
list.forEach((v,i)=>{
let res = v;
if(res && res[subTable]){
res[subTable].forEach(v=>{
let billDefine = v.BILLNAME && v.BILLNAME.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
arrApi.push(that.searchBillObj(billDefine,v.BILLID,i))
})
}
arr.push({//直接生成
index:i,
data:res
})
})
if(!directGeneration){//间接生成
Promise.all(arrApi).then((subList) => {
arr.forEach(v=>{
v.detailData=[];
subList.forEach(f=>{
if(v.index==f.index){
v.detailData.push(f);
}
})
})
that.generateVoucher(arr,context);
})
}else{
that.generateVoucher(arr,context);
}
})
},
generateVoucher(list,context){
axios({
          method: 'POST',
url:GMS.url+'/mechanismVchr/combineCreateVchr',//汇总生成
          headers: {
              Authorization:GMS.token,
          },
data:list
        }).then(res => {
          if (res.status === 200) {
if(res.data.data.showVoucher){//展示凭证
GMS.vbus.$emit('previewVoucher',res.data.data);
}else{
if(res.data.data.successVchrs && res.data.data.successVchrs.length > 0){
GMS.vbus.$emit('custom-query-refresh');
GMS.vbus.$emit('tab-count-refresh');
}
context.dom.$Modal.warning({
title: '信息提示',
content: res.data.data.processMsg,
onOk: () => {},
});
}
          }
        })
},
searchBillObj(billDefine, billId ,index) {
return new Promise((resolve, reject) => {
GMS.$http.get(
`/gms/bill/${billDefine}/${billId}?withSubs=true`
).then((data) => {
if (data.status == 200 && data.data.code == 0) {
let obj = data.data.content
obj.billDefine = billDefine;
obj.index = index
resolve(obj);
}
}).catch((error)=>{
reject(error)
})
})
}
}
\ No newline at end of file
/*
* @Description:凭证中心/撤销生成
*/
import axios from 'axios'
export default {
execute(context, param) {
......
/*
* @Description:通用/撤销生成
*/
import axios from 'axios'
export default {
execute(context, param) {
if (!param.billId || !param.billDefine) {
context.dom.$Message.info("请配置查询单据参数");
return;
}
if(context.selects.length==0){
context.dom.$Message.info("请勾择需要撤销的数据");
return;
}
let that = this;
let billDefine = param.billDefine.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
let arr=[];
context.selects.forEach(v=>{
arr.push({
id:v[param.billId],
billCode:v[param.billCode],
billDefine:billDefine
})
})
that.deleteVchrAsync(arr,context);
},
deleteVchrAsync(list,context){
axios({
          method: 'POST',
          url:GMS.url+'/mechanismVchr/deleteVchr',//撤销凭证
          headers: {
              Authorization:GMS.token,
          },
data:list
        }).then(res => {
          if (res.status === 200) {
if(res.data.data.showVoucher){//展示凭证
GMS.vbus.$emit('previewVoucher',res.data.data);
}else{
if(res.data.data.successVchrs && res.data.data.successVchrs.length > 0){
GMS.vbus.$emit('custom-query-refresh');
GMS.vbus.$emit('tab-count-refresh');
}
context.dom.$Modal.warning({
title: '信息提示',
content: res.data.data.processMsg,
onOk: () => {},
});
}
          }
        })
}
}
\ No newline at end of file
/*
* @Description:凭证中心/联查凭证
*/
import axios from 'axios'
export default {
execute(context, param) {
......
/*
* @Description:通用/联查凭证
*/
import axios from 'axios'
export default {
execute(context, param) {
if (!param.billId || !param.billDefine) {
context.dom.$Message.info("请配置查询单据参数");
return;
}
if(context.selects.length==0){
context.dom.$Message.info("请勾择需要联查的数据");
return;
}
if(context.selects.length > 1){
context.dom.$Message.info("只能勾选一条数据");
return;
}
let that = this;
let billDefine = param.billDefine.replace(/_E/ig, "").replace(/_R/ig, "").replace(/_A/ig, "");
let obj = {};
if(context.selects.length == 1){
context.selects.forEach(v=>{
obj = {
id:v[param.billId],
billCode:v[param.billCode],
billDefine:billDefine
}
})
}
that.showVchrAsync(obj,context);
},
showVchrAsync(obj,context){
axios({
          method: 'POST',
          url:GMS.url+'/mechanismVchr/showVchr',//查看凭证
          headers: {
              Authorization:GMS.token,
          },
data:obj
        }).then(res => {
          if (res.status === 200) {
if(res.data.data.showVoucher){//展示凭证
let obj = res.data.data;
obj.previewState = 'readonly';
GMS.vbus.$emit('previewVoucher',res.data.data);
}else{
context.dom.$Modal.warning({
title: '信息提示',
content: res.data.data.processMsg,
onOk: () => {},
});
}
          }
        })
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment