Commit 6a623ef0 by qiaoyanqi

引用动作加忽略字段

parent db554a79
import {actionIgnoreField} from './util/referenceIgnore.js';
import addInfoModal from '../control/copy-bill-modal.vue'; import addInfoModal from '../control/copy-bill-modal.vue';
export default { export default {
execute: function (bill, param) { execute: function (bill, param) {
...@@ -16,9 +17,11 @@ export default { ...@@ -16,9 +17,11 @@ export default {
//添加忽略字段,如果出现有引用关系的字段,需要置为空,不然会出问题 //添加忽略字段,如果出现有引用关系的字段,需要置为空,不然会出问题
let ignoreTempFields = 'id,billCode,billState,flowState,BILLSTATEAUDIT,SHLLDEFINE,SHLLID,SQDH,'; let ignoreTempFields = 'id,billCode,billState,flowState,BILLSTATEAUDIT,SHLLDEFINE,SHLLID,SQDH,';
if ('ignoreFields' in param.param && param.param.ignoreFields.length > 0) { if ('ignoreFields' in param.param && param.param.ignoreFields.length > 0) {
ignoreTempFields += param.param.ignoreFields ignoreTempFields += param.param.ignoreFields;
} }
ignoreTempFields += actionIgnoreField(bill);//有引用动作的忽略字段
c.ignoreFields = ignoreTempFields.split(','); c.ignoreFields = ignoreTempFields.split(',');
c.ignoreFields = [...new Set(c.ignoreFields)];//去重
c.modal_visible = true; c.modal_visible = true;
setTimeout(() => { setTimeout(() => {
c.getNewBillId(); c.getNewBillId();
......
import draftName from '../control/draftName.vue'; import draftName from '../control/draftName.vue';
import {actionIgnoreField} from './util/referenceIgnore.js';
export default { export default {
execute: function (bill, param) { execute: function (bill, param) {
if (param) { if (param) {
...@@ -14,6 +14,8 @@ export default { ...@@ -14,6 +14,8 @@ export default {
if ('ignoreFields' in param.param && param.param.ignoreFields.length > 0) { if ('ignoreFields' in param.param && param.param.ignoreFields.length > 0) {
ignoreTempFields += param.param.ignoreFields ignoreTempFields += param.param.ignoreFields
} }
ignoreTempFields += actionIgnoreField(bill);//有引用动作的忽略字段
ignoreTempFields = [...new Set(ignoreTempFields.split(','))].join();//去重
Object.keys(c.data).forEach(e => { Object.keys(c.data).forEach(e => {
if (Array.isArray(c.data[e])) { if (Array.isArray(c.data[e])) {
for (let i = 0; i < c.data[e].length; i++) { for (let i = 0; i < c.data[e].length; i++) {
......
/**
* 获取有引用关系动作的忽略字段
* 应用存草稿功能或者是复制单据功能时,一些引用字段需要置为空。
* 存草稿忽略字段三个来源:
* 1.固定写死的系统字段id,billCode,billState,flowState,BILLSTATEAUDIT
* 2.存草稿动作或者是复制单据动作,自行扩展的忽略字段
* 3.有引用关系的动作配置的字段
* 后续如果新增有引用类型的动作,需要考虑忽略字段
* @author qiaoyanqi
* @date 2022-01-24
*/
export function actionIgnoreField(bill) {
if (bill.action && bill.action.length > 0) {
let obj = bill.action.find(v=>v.execute =='customerSelectAction')//引用申请单动作
let str =''
if(obj && obj.param && obj.param.field){
str += Object.keys(obj.param.field).join();
}
return str;
}
}
\ 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