This commit is contained in:
parent
346e1142fe
commit
ac6d5375a6
|
@ -0,0 +1,8 @@
|
||||||
|
# 默认忽略的文件
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# 基于编辑器的 HTTP 客户端请求
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CoolRequestCommonStatePersistent">
|
||||||
|
<option name="searchCache" value="src/purp/pp/supplierprice/list/events/batchEvents.js" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="NCHomeConfig">
|
||||||
|
<option name="loginToken" value="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ASMSmaliIdeaPluginConfiguration">
|
||||||
|
<asm skipDebug="true" skipFrames="true" skipCode="false" expandFrames="false" />
|
||||||
|
<groovy codeStyle="LEGACY" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/tk2312-web.iml" filepath="$PROJECT_DIR$/.idea/tk2312-web.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
70
config.json
70
config.json
|
@ -1,25 +1,47 @@
|
||||||
{
|
{
|
||||||
"buildEntryPath": [
|
"buildEntryPath": [
|
||||||
"./src/mmpac/mmpac/pmo/*/index.js",
|
"./src/mmpac/mmpac/pickm/*/index.js",
|
||||||
"./src/mmpac/mmpac/pickm/*/index.js"
|
"./src/mmpac/mmpac/pickm/*/*/index.js"
|
||||||
],
|
],
|
||||||
"proxyJson": false,
|
"buildEntryPath1": [
|
||||||
"proxy": "http://127.0.0.1:8080/",
|
"./src/uapbd/refer/pub/*/index.js",
|
||||||
"buildWithoutHTML": [
|
"./src/ic/ic/sapplybill/*/index.js",
|
||||||
"uap/refer",
|
"./src/uapbd/refer/pub/*/index.js",
|
||||||
"uapbd/refer"
|
"./src/arap/paybill/paybill/*/index.js",
|
||||||
],
|
"./src/sscrp/public/common/components/job-style/*/index.js",
|
||||||
"devPort": 3001,
|
"./src/ssctp/sscuser/sscapprove/*/index.js",
|
||||||
"patch": {
|
"./src/cmp/informer/SettlementCenter/*/index.js",
|
||||||
"path": [],
|
"./src/fbm/fbm/gather/*/index.js",
|
||||||
"provider": "",
|
"./src/sscivm/invoiceSale/*/*/index.js",
|
||||||
"department": "",
|
"./src/sscivm/invoiceSale/*/*/invoiceSaleList.js",
|
||||||
"project": "",
|
"./src/sscivm/invoiceSale/*/*/invoiceSaleCard.js",
|
||||||
"branch": ""
|
"./src/sscivm/invoiceApplication/invoiceApl/*/index.js",
|
||||||
} ,
|
"./src/mmpac/mmpac/pickm/*/index.js",
|
||||||
"eslint": {
|
"./src/mmpac/mmpac/pickm/*/*/index.js",
|
||||||
"path": [],
|
"./src/purp/pp/supplierprice/*/index.js",
|
||||||
"enable": true,
|
"./src/uapbd/mmbase/bom0202/*/index.js",
|
||||||
"autoFix": false
|
"./src/uapbd/material/material_grp/*/index.js",
|
||||||
}
|
"./src/pu/pu/buyingreq/*/index.js",
|
||||||
}
|
"./src/uapbd/mmbase/bom0202/*/index.js",
|
||||||
|
"./src/uapbd/material/material_grp/*/index.js"
|
||||||
|
],
|
||||||
|
"proxyJson": false,
|
||||||
|
"proxy": "http://127.0.0.1:80/",
|
||||||
|
"buildWithoutHTML": [
|
||||||
|
"uap/refer",
|
||||||
|
"uapbd/refer"
|
||||||
|
],
|
||||||
|
"devPort": 3001,
|
||||||
|
"patch": {
|
||||||
|
"path": [],
|
||||||
|
"provider": "",
|
||||||
|
"department": "",
|
||||||
|
"project": "",
|
||||||
|
"branch": ""
|
||||||
|
},
|
||||||
|
"eslint": {
|
||||||
|
"path": [],
|
||||||
|
"enable": true,
|
||||||
|
"autoFix": false
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,269 +1,205 @@
|
||||||
import { ajax, toast, base } from 'nc-lightapp-front';
|
import {ajax, base, toast} from 'nc-lightapp-front';
|
||||||
let { NCModal, NCButton, NCTooltip, NCHotKeys } = base;
|
import {AREA, DIALOGCODE, FIELD, URL} from '../../constance';
|
||||||
import { AREA, URL, DIALOGCODE, FIELD, PAGECARDCODE } from '../../constance';
|
import {getLangByResId} from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
||||||
import { initLang, getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
import {showWarningInfo} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
|
||||||
import PickmReplaceDlg from '../../pickmreplace/list';
|
import PickmBorrowDlg from "../../pickmborrow/list";
|
||||||
import { RownoUtils } from '../../../../../mmpub/mmpub/pub/tool/cardTableTools';
|
|
||||||
import { buttonController } from '../viewController/index';
|
|
||||||
import { showSuccessInfo, showErrorInfo, showWarningInfo, showWarningDialog } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
|
|
||||||
|
|
||||||
const TABLE_HEAD = 'replace_head';
|
let {NCModal, NCButton, NCTooltip, NCHotKeys} = base;
|
||||||
const TABLE_BODY = 'replace_body'
|
|
||||||
export default function replaceBtnClick(props, data) {
|
const TABLE_HEAD = 'borrow_list';
|
||||||
let _this = this;
|
export default function borrowBtnClick(props, record) {
|
||||||
this.headDatas = [];
|
let _this = this;
|
||||||
this.bodyDatas = {};
|
this.bodyDatas = {};
|
||||||
let setHeadDatas = (val) => {
|
this.props = {};
|
||||||
this.headDatas = val;
|
let setProps = (val) => {
|
||||||
};
|
this.props = val;
|
||||||
let setBodyDatas = (val) => {
|
}
|
||||||
this.bodyDatas = val;
|
let bids = [];
|
||||||
};
|
let hid;
|
||||||
let getBodyDatas = () => {
|
let rows = props.cardTable.getCheckedRows(AREA.bodyTable);
|
||||||
return this.bodyDatas;
|
// 如果没有选中行,则提示并返回,不进行任何操作
|
||||||
}
|
if (!rows) {
|
||||||
this.replaceProps = {};
|
return;
|
||||||
let setReplaceProps = (val) => {
|
}
|
||||||
this.replaceProps = val;
|
if (rows.length <= 0) {
|
||||||
}
|
hid = this.props.form.getFormItemsValue(AREA.formArea, FIELD.hid).value;
|
||||||
ajax({
|
} else {
|
||||||
url: URL.replaceQueryURL,
|
rows.map((item) => {
|
||||||
data: data,
|
let cpickm_bid = props.cardTable.getValByKeyAndIndex(AREA.bodyTable, item.index, 'cpickm_bid').value;
|
||||||
success: res => {
|
bids.push(cpickm_bid);
|
||||||
if (res.success && res.data) {
|
});
|
||||||
props.modal.show('ReplaceDlg', {
|
}
|
||||||
size: 'xlg',
|
let appcode = props.getAppCode();
|
||||||
title: getLangByResId(this, '5008Pickm-000093'),/* 国际化处理: 替代*/
|
let param = {
|
||||||
content: <PickmReplaceDlg showdata={res.data} setHeadDatas={setHeadDatas} setBodyDatas={setBodyDatas} getBodyDatas={getBodyDatas} setReplaceProps={setReplaceProps} />,
|
cpickmid: hid,
|
||||||
userControl: true,
|
cpickmbids: bids,
|
||||||
leftBtnName: '',
|
pageid: DIALOGCODE.CLQUERYDLG,
|
||||||
rightBtnName: getLangByResId(this, '5008Pickm-000013'),/* 国际化处理: 取消*/
|
appcode: appcode
|
||||||
beSureBtnClick: replaceOKBtnClicks.bind(this, props, true),
|
}
|
||||||
cancelBtnClick: () => {
|
ajax({
|
||||||
props.modal.close('ReplaceDlg');
|
url: URL.pickmItemsQuery,
|
||||||
},
|
data: param,
|
||||||
showCustomBtns: true,
|
success: res => {
|
||||||
customBtns: <div><NCButton fieldid="autoMatch" onClick={() => { autoMatchBtnClick.call(this, props) }}>{getLangByResId(this, '5008Pickm-000103')}</NCButton>
|
if (res.success && res.data) {
|
||||||
<NCTooltip
|
// let showdata = res.data;
|
||||||
placement="top"
|
let rows = res.data.data;
|
||||||
inverse
|
// console.log('bids = ', bids);
|
||||||
overlay={`${getLangByResId(this, '5008Pickm-000102')} (${NCHotKeys.USUAL_KEYS.NC_MODAL_CONFIRM})`}
|
/*let rows1 = [];
|
||||||
trigger={['hover', 'focus']}
|
rows.map((item) => {
|
||||||
className="model-helper-overlay"
|
let values = item.data.values;
|
||||||
>
|
// 借料数量 = 计划出库数量-累计出库数量-累计发货数量-累计委外数量,所有数值用getNumber处理null转0
|
||||||
<NCButton fieldid="confirm" colors="primary" onClick={() => {
|
values.borrowedQty = {
|
||||||
replaceOKBtnClicks.call(this, props, true);
|
value: getNumber(values.nplanoutastnum) - getNumber(values.naccoutastnum) -
|
||||||
}}>{getLangByResId(this, '5008Pickm-000102')}(<u>Y</u>)</NCButton>{/* 国际化处理: 确定*/}
|
getNumber(values.nshouldastnum) - getNumber(values.npscastnum)
|
||||||
</NCTooltip>
|
};
|
||||||
<NCTooltip
|
let form = props.form.getAllFormValue(AREA.formArea);
|
||||||
placement="top"
|
values.cmaterialvid = form.rows[0].values["cmaterialvid"];
|
||||||
inverse
|
values.cmaterialvidName = {
|
||||||
overlay={`${getLangByResId(this, '5008Pickm-000013')} (${NCHotKeys.USUAL_KEYS.NC_MODAL_CALCEL})`}
|
value: form.rows[0].values["cmaterialvid.name"].value
|
||||||
trigger={['focus', 'hover']}
|
};
|
||||||
className="model-helper-overlay"
|
if (undefined != form.rows[0].values["cmaterialvid.def26"]) {
|
||||||
>
|
values.cmaterialvidDef26 = {
|
||||||
<NCButton fieldid="cancel" onClick={() => {
|
value: form.rows[0].values["cmaterialvid.def26"].value
|
||||||
props.modal.close('ReplaceDlg');
|
};
|
||||||
}}>{getLangByResId(this, '5008Pickm-000013')}(<u>N</u>)</NCButton>{/* 国际化处理: 取消*/}
|
}
|
||||||
</NCTooltip></div>,
|
let rowItem = {
|
||||||
hideRightBtn: false, //隐藏足部右边的按钮,默认是false不隐藏,隐藏是true
|
isOptimized: false,
|
||||||
hideLeftBtn: false //隐藏足部左边的按钮,默认是false不隐藏,隐藏是true
|
status: '0',
|
||||||
});
|
values: values
|
||||||
}
|
};
|
||||||
}
|
// 确保 bids 是数组类型
|
||||||
});
|
if (!Array.isArray(bids)) {
|
||||||
|
bids = [bids];
|
||||||
|
}
|
||||||
|
if (values.cpickm_bid && values.cpickm_bid.value && (bids.indexOf(values.cpickm_bid.value) > -1) && values.borrowedQty.value > 0) {
|
||||||
|
rows1.push(rowItem);
|
||||||
|
}
|
||||||
|
});*/
|
||||||
|
props.modal.show('BorrowDlg', {
|
||||||
|
size: 'max',
|
||||||
|
title: getLangByResId(this, '5008Pickm-000093'),/* 国际化处理: 替代*/
|
||||||
|
content: <PickmBorrowDlg showdata={rows}
|
||||||
|
setProps={setProps}/>,
|
||||||
|
userControl: true,
|
||||||
|
// leftBtnName: '',
|
||||||
|
// rightBtnName: getLangByResId(this, '5008Pickm-000013'),/* 国际化处理: 取消*/
|
||||||
|
beSureBtnClick: oKBtnClicks.bind(this, props, true),
|
||||||
|
cancelBtnClick: () => {
|
||||||
|
props.modal.close('BorrowDlg');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
function autoMatchBtnClick(props) {
|
|
||||||
let repBodys = {};
|
|
||||||
let repHeads = this.replaceProps.editTable.getAllRows('replace_head');
|
|
||||||
let pickmbid;
|
|
||||||
let headbid = repHeads[0].values.cpickm_bid.value;
|
|
||||||
let bodys = [];
|
|
||||||
repHeads.forEach((head) => {
|
|
||||||
pickmbid = head.values.cpickm_bid.value;
|
|
||||||
if (this.bodyDatas && this.bodyDatas[pickmbid]) {
|
|
||||||
bodys = [];
|
|
||||||
this.bodyDatas[pickmbid].forEach((item) => {
|
|
||||||
bodys.push(item);
|
|
||||||
});
|
|
||||||
if (bodys.length > 0) {
|
|
||||||
repBodys[pickmbid] = JSON.stringify({
|
|
||||||
pageid: DIALOGCODE.REPLACEDLG,
|
|
||||||
model: {
|
|
||||||
areaType: "table",
|
|
||||||
pageinfo: null,
|
|
||||||
rows: bodys,
|
|
||||||
areacode: 'replace_body'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
function oKBtnClicks(props) {
|
||||||
});
|
let rowids = [];
|
||||||
let param = {
|
let hids = [];
|
||||||
pageid: PAGECARDCODE,
|
let hid;
|
||||||
repHeads: JSON.stringify({
|
let rows = props.table.getCheckedRows(AREA.borrowMaterialDialog);
|
||||||
pageid: DIALOGCODE.REPLACEDLG,
|
hid = props.form.getFormItemsValue(AREA.formArea, FIELD.hid).value;
|
||||||
model: {
|
hids.push(hid);
|
||||||
areaType: "table",
|
// 如果没有选中行,则提示并返回,不进行任何操作
|
||||||
pageinfo: null,
|
if (!rows || rows.length <= 0) {
|
||||||
rows: repHeads,
|
showWarningInfo('请选择行');
|
||||||
areacode: 'replace_head',
|
return;
|
||||||
}
|
}
|
||||||
}),
|
for (let i = 0; i < rows.length; i++) {
|
||||||
repBodys: repBodys
|
rowids.push(rows[i].data.values.cpickm_bid.value);
|
||||||
}
|
}
|
||||||
ajax({
|
let data = {
|
||||||
url: URL.replaceAutoMatchURL,
|
cpickmids: hids,
|
||||||
data: param,
|
cpickmbids: rowids
|
||||||
success: res => {
|
}
|
||||||
if (res.success && res.data) {
|
console.log('data = ', data);
|
||||||
this.bodyDatas = res.data.body;
|
ajax({
|
||||||
this.replaceProps.setBodyDatas(res.data.body)
|
url: URL.pickmItemsQuery,
|
||||||
this.replaceProps.setHeadDatas( res.data.head[TABLE_HEAD]);
|
data: data,
|
||||||
this.replaceProps.editTable.setTableData(TABLE_HEAD, { rows: res.data.head[TABLE_HEAD].rows });
|
success: res => {
|
||||||
let bodys = [];
|
if (res.success && res.data) {
|
||||||
if (res.data.body[headbid]) {
|
if (res.success) {
|
||||||
bodys = res.data.body[headbid]
|
toast({color: 'success', title: "推送成功"});
|
||||||
}
|
this.props.modal.close(AREA.borrowMaterialDialog);
|
||||||
this.replaceProps.editTable.setTableData(TABLE_BODY, { rows: bodys });
|
}
|
||||||
if (res.data.msg) {
|
}
|
||||||
showWarningInfo(res.data.msg);
|
},
|
||||||
}
|
error: (error) => {
|
||||||
else{
|
toast({
|
||||||
showSuccessInfo(getLangByResId(this, '5008Pickm-000104'));
|
color: 'warning',
|
||||||
}
|
content: error.message
|
||||||
}
|
});
|
||||||
},
|
}
|
||||||
error: (error) => {
|
});
|
||||||
toast({
|
|
||||||
color: 'warning',
|
|
||||||
content: error.message
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
function replaceOKBtnClicks(props, flag) {
|
|
||||||
let repHeads = [];
|
|
||||||
let repBodys = {};
|
|
||||||
let bodys = [];
|
|
||||||
let mainIds = [];
|
|
||||||
let heads = this.replaceProps.editTable.getAllRows('replace_head');
|
|
||||||
if (heads) {
|
|
||||||
let pickmbid;
|
|
||||||
heads.forEach((head) => {
|
|
||||||
pickmbid = head.values.cpickm_bid.value;
|
|
||||||
if (this.bodyDatas && this.bodyDatas[pickmbid]) {
|
|
||||||
bodys = [];
|
|
||||||
this.bodyDatas[pickmbid].forEach((item) => {
|
|
||||||
if (item.values.rep_repnum && item.values.rep_repnum.value && item.values.rep_repnum.value > 0) {
|
|
||||||
bodys.push(item);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (bodys.length > 0) {
|
|
||||||
mainIds.push(pickmbid);
|
|
||||||
repHeads.push(head);
|
|
||||||
repBodys[pickmbid] = JSON.stringify({
|
|
||||||
pageid: DIALOGCODE.REPLACEDLG,
|
|
||||||
model: {
|
|
||||||
areaType: "table",
|
|
||||||
pageinfo: null,
|
|
||||||
rows: bodys,
|
|
||||||
areacode: 'replace_body'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
function doQuery(props, hid, bids, rows) {
|
||||||
});
|
let appcode = props.getAppCode();
|
||||||
}
|
|
||||||
if (repHeads.length < 1) {
|
|
||||||
props.modal.close('ReplaceDlg');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let bodyData = props.cardTable.getAllRows(AREA.bodyTable);
|
|
||||||
let oldReplaces=[];
|
|
||||||
let rownos=[];
|
|
||||||
bodyData.map((item, i) => {
|
|
||||||
if(item.values.vrowno && item.values.vrowno.value){
|
|
||||||
rownos.push(item.values.vrowno.value);
|
|
||||||
}
|
|
||||||
if (item.values.creplacesrcid && item.values.creplacesrcid.value && mainIds.includes(item.values.creplacesrcid.value)) {
|
|
||||||
oldReplaces.push(item);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
let param = {
|
|
||||||
pageid: PAGECARDCODE,
|
|
||||||
isCheckAtp: flag,
|
|
||||||
repHeads: JSON.stringify({
|
|
||||||
pageid: DIALOGCODE.REPLACEDLG,
|
|
||||||
model: {
|
|
||||||
areaType: "table",
|
|
||||||
pageinfo: null,
|
|
||||||
rows: repHeads,
|
|
||||||
areacode: 'replace_head',
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
repBodys: repBodys,
|
|
||||||
rownos:rownos,
|
|
||||||
oldRepBodys:JSON.stringify({
|
|
||||||
pageid: PAGECARDCODE,
|
|
||||||
model: {
|
|
||||||
areaType: "table",
|
|
||||||
pageinfo: null,
|
|
||||||
rows: oldReplaces,
|
|
||||||
areacode: AREA.bodyTable,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
ajax({
|
|
||||||
url: URL.replaceDoURL,
|
|
||||||
data: param,
|
|
||||||
success: res => {
|
|
||||||
if (res.success && res.data) {
|
|
||||||
if (res.data && res.data.isAtpCheckResume && res.data.isAtpCheckResume == true) {
|
|
||||||
showWarningDialog(getLangByResId(this, '5008Pickm-000001')/* 国际化处理: 提示*/, res.data.atpCheckMsg
|
|
||||||
, {
|
|
||||||
beSureBtnClick: replaceOKBtnClicks.bind(this, props, false)
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
props.modal.close('ReplaceDlg');
|
|
||||||
let len=props.cardTable.getNumberOfRows(AREA.bodyTable);
|
|
||||||
let cpcikmbid;
|
|
||||||
let updateArray = [];
|
|
||||||
let indexs=[];
|
|
||||||
let repItem={};
|
|
||||||
for (let i = 0; i < len; i++) {
|
|
||||||
cpcikmbid=props.cardTable.getValByKeyAndIndex(AREA.bodyTable,i,'cpickm_bid');
|
|
||||||
if(cpcikmbid&&cpcikmbid.value&&res.data[cpcikmbid.value]){
|
|
||||||
let obj = { index: i, data: res.data[cpcikmbid.value].mainItem };
|
|
||||||
updateArray.push(obj);
|
|
||||||
repItem[i]=res.data[cpcikmbid.value].repItems;
|
|
||||||
indexs.push(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (updateArray.length > 0) {
|
|
||||||
props.cardTable.updateDataByIndexs(AREA.bodyTable, updateArray);
|
|
||||||
for(let j=indexs.length-1;j>=0;j--){
|
|
||||||
props.cardTable.insertRowsAfterIndex(AREA.bodyTable,repItem[indexs[j]],indexs[j]);
|
|
||||||
}
|
|
||||||
RownoUtils.setRowNo(props, AREA.bodyTable, FIELD.vrowno);
|
|
||||||
props.cardTable.selectAllRows(AREA.bodyTable, false);
|
|
||||||
props.cardTable.setAllCheckboxAble(AREA.bodyTable, true);
|
|
||||||
buttonController.lineSelected.call(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
ajax({
|
||||||
},
|
url: '/nccloud/mmpac/pickm/pickmItemsQuery.do',
|
||||||
error: (error) => {
|
data: {
|
||||||
toast({
|
cpickmid: hid,
|
||||||
color: 'warning',
|
cpickmbids: bids,
|
||||||
content: error.message
|
pageid: DIALOGCODE.CLQUERYDLG,
|
||||||
});
|
appcode: appcode
|
||||||
}
|
},
|
||||||
});
|
success: res => {
|
||||||
|
let bids = res.data.data;
|
||||||
|
// console.log('bids = ', bids);
|
||||||
|
let rows1 = [];
|
||||||
|
rows.map((item) => {
|
||||||
|
let values = item.data.values;
|
||||||
|
// 借料数量 = 计划出库数量-累计出库数量-累计发货数量-累计委外数量,所有数值用getNumber处理null转0
|
||||||
|
values.borrowedQty = {
|
||||||
|
value: getNumber(values.nplanoutastnum) - getNumber(values.naccoutastnum) -
|
||||||
|
getNumber(values.nshouldastnum) - getNumber(values.npscastnum)
|
||||||
|
};
|
||||||
|
let def26 = this.props.form.getFormItemsValue(AREA.formArea, "cmaterialvid").value;
|
||||||
|
// let def27 = this.props.form.getFormItemsValue(AREA.formArea,"cmaterialvid.name").value;
|
||||||
|
let form = this.props.form.getAllFormValue(AREA.formArea);
|
||||||
|
values.cmaterialvid = form.rows[0].values["cmaterialvid"];
|
||||||
|
values.cmaterialvidName = {
|
||||||
|
value: form.rows[0].values["cmaterialvid.name"].value
|
||||||
|
};
|
||||||
|
if (undefined != form.rows[0].values["cmaterialvid.def26"]) {
|
||||||
|
values.cmaterialvidDef26 = {
|
||||||
|
value: form.rows[0].values["cmaterialvid.def26"].value
|
||||||
|
};
|
||||||
|
}
|
||||||
|
let rowItem = {
|
||||||
|
isOptimized: false,
|
||||||
|
status: '0',
|
||||||
|
values: values
|
||||||
|
};
|
||||||
|
// 确保 bids 是数组类型
|
||||||
|
if (!Array.isArray(bids)) {
|
||||||
|
bids = [bids];
|
||||||
|
}
|
||||||
|
// 筛选出未生成的行
|
||||||
|
// console.log('values.cpickm_bid = ', values.cpickm_bid.value);
|
||||||
|
// console.log('values.indexOf = ', bids.indexOf(values.cpickm_bid.value));
|
||||||
|
if (values.cpickm_bid && values.cpickm_bid.value && (bids.indexOf(values.cpickm_bid.value) > -1) && values.borrowedQty.value > 0) {
|
||||||
|
rows1.push(rowItem);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let data = {
|
||||||
|
areacode: 'clquery',
|
||||||
|
rows: rows1
|
||||||
|
};
|
||||||
|
// console.log('rows = ', rows);
|
||||||
|
// console.log('data = ', data);
|
||||||
|
props.table.setAllTableData(AREA.borrowMaterialDialog, data);
|
||||||
|
props.modal.show(AREA.borrowMaterialDialog);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 本地安全数值转换方法,null/undefined/空对象转0
|
||||||
}
|
function getNumber(data) {
|
||||||
|
if (data && data.value != null) {
|
||||||
|
return +data.value;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -272,6 +272,7 @@ class PickmCard extends Component {
|
||||||
{createModal('TakeOverDlg', {zIndex: "300"})}
|
{createModal('TakeOverDlg', {zIndex: "300"})}
|
||||||
{createModal('SetBackDeliverDlg', {zIndex: "280"})}
|
{createModal('SetBackDeliverDlg', {zIndex: "280"})}
|
||||||
{createModal('ReplaceDlg', {zIndex: "300"})}
|
{createModal('ReplaceDlg', {zIndex: "300"})}
|
||||||
|
{createModal('BorrowDlg', {zIndex: "300"})}
|
||||||
|
|
||||||
{createModal(AREA.borrowMaterialDialog, {
|
{createModal(AREA.borrowMaterialDialog, {
|
||||||
title: '借料入库明细',
|
title: '借料入库明细',
|
||||||
|
|
|
@ -42,6 +42,7 @@ import {pickmTakeOver} from '../../../pub/pickmtakeover';
|
||||||
import {getLangByResId} from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
import {getLangByResId} from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
||||||
import {pickmBackDeliverWithSet} from '../../../pub/pickmbackdeliverwithset';
|
import {pickmBackDeliverWithSet} from '../../../pub/pickmbackdeliverwithset';
|
||||||
import {toast} from "../../../../../gl/public/components/utils";
|
import {toast} from "../../../../../gl/public/components/utils";
|
||||||
|
import borrowBtnClick from "../btnClicks/borrowBtnClick";
|
||||||
|
|
||||||
export default async function clickBtn(props, id, text, record, index) {
|
export default async function clickBtn(props, id, text, record, index) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
|
@ -818,33 +819,11 @@ export default async function clickBtn(props, id, text, record, index) {
|
||||||
showWarningInfo(getLangByResId(this, '5008Pickm-000061'));
|
showWarningInfo(getLangByResId(this, '5008Pickm-000061'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// console.log('selectRows = ', selectRows);
|
|
||||||
// 判断选中行的借料数量是否>0,如果存在<=0的行,则提示并返回
|
|
||||||
let hasInvalidRow = false;
|
|
||||||
let warningMessage = getLangByResId(this, '5008Pickm-000106'); /* 国际化处理: 借料数量必须大于0!*/
|
|
||||||
// for (const item of selectRows) {
|
|
||||||
// let values = item.data.values;
|
|
||||||
// // 借料数量 = 计划出库数量-累计出库数量-累计发货数量-累计委外数量
|
|
||||||
// let borrowedQty = getNumber(values.nplanoutastnum) - getNumber(values.naccoutastnum) -
|
|
||||||
// getNumber(values.nshouldastnum) - getNumber(values.npscastnum);
|
|
||||||
// if (borrowedQty <= 0) {
|
|
||||||
// hasInvalidRow = true;
|
|
||||||
// // 获取行号用于提示信息
|
|
||||||
// let vrowno = props.cardTable.getValByKeyAndIndex(AREA.bodyTable, item.index, 'vrowno');
|
|
||||||
// warningMessage = warningMessage + ' 行号:' + `[${vrowno.value}]`;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (hasInvalidRow) {
|
|
||||||
// showErrorInfo('错误', warningMessage);
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
billstatus = props.form.getFormItemsValue(AREA.formArea, 'fbillstatus');
|
billstatus = props.form.getFormItemsValue(AREA.formArea, 'fbillstatus');
|
||||||
//审批态
|
//审批态
|
||||||
if (billstatus && billstatus.value && billstatus.value == 1) {
|
if (billstatus && billstatus.value && billstatus.value == 1) {
|
||||||
detailqueryBtnClick.call(this, this.props, record);
|
// detailqueryBtnClick.call(this, this.props, record);
|
||||||
|
borrowBtnClick.call(this, this.props, record);
|
||||||
} else {
|
} else {
|
||||||
toast({color: 'warning', title: "只有审批后单据才能生产其他入库单"});
|
toast({color: 'warning', title: "只有审批后单据才能生产其他入库单"});
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,8 @@ const AREA = {
|
||||||
cardHeadBtnArea: 'card_head', //卡片表头按钮区域
|
cardHeadBtnArea: 'card_head', //卡片表头按钮区域
|
||||||
cardBodyBtnArea: 'card_body', //卡片表体按钮区域
|
cardBodyBtnArea: 'card_body', //卡片表体按钮区域
|
||||||
cardBodyInnerBtnArea: 'card_body_inner', //卡片表体操作按钮区域
|
cardBodyInnerBtnArea: 'card_body_inner', //卡片表体操作按钮区域
|
||||||
borrowMaterialDialog: 'NCTable_83c3abf9' //借料弹窗
|
borrowMaterialDialog: 'NCTable_83c3abf9', //借料弹窗
|
||||||
|
borrowList: 'borrow_list' //借料弹窗
|
||||||
};
|
};
|
||||||
const MANUFACTURE = 'fa';//製造場景
|
const MANUFACTURE = 'fa';//製造場景
|
||||||
|
|
||||||
|
@ -23,7 +24,8 @@ const DIALOGCODE = {
|
||||||
BACKDELIVERDLG: '50080102_backdeliver',
|
BACKDELIVERDLG: '50080102_backdeliver',
|
||||||
SETBACKDELIVERDLG: '50080102_backdeliverwithset',
|
SETBACKDELIVERDLG: '50080102_backdeliverwithset',
|
||||||
TAKEOVERDLG: '50080102_takeover',
|
TAKEOVERDLG: '50080102_takeover',
|
||||||
REPLACEDLG: '50080102_replace'
|
REPLACEDLG: '50080102_replace',
|
||||||
|
BORROWDLG: '50080102_borrow'
|
||||||
}
|
}
|
||||||
|
|
||||||
const LIST_BTN = {
|
const LIST_BTN = {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import headBeforeEvent from './headBeforeEvent';
|
import headBeforeEvent from './headBeforeEvent';
|
||||||
import headAfterEvent from './headAfterEvent';
|
import headAfterEvent from './headAfterEvent';
|
||||||
import bodyAfterEvent from './bodyAfterEvent';
|
export { headBeforeEvent,headAfterEvent };
|
||||||
import bodyBeforeEvent from './bodyBeforeEvent';
|
|
||||||
export { headBeforeEvent,headAfterEvent,bodyAfterEvent, bodyBeforeEvent };
|
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
import React, { Component } from 'react';
|
import React, {Component} from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import {base, createPage, high} from 'nc-lightapp-front';
|
||||||
import { createPage, ajax, base, high } from 'nc-lightapp-front';
|
import {initTemplate} from './init';
|
||||||
const { Refer } = high;
|
import {initLang} from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
||||||
import { initTemplate } from './init';
|
import {headAfterEvent} from './events';
|
||||||
import { initLang, getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
import {DIALOGCODE} from "../../constance";
|
||||||
import { headAfterEvent, headBeforeEvent, bodyAfterEvent, bodyBeforeEvent } from './events';
|
|
||||||
import { AREA, URL, DIALOGCODE, FIELD, PAGECARDCODE } from '../../constance';
|
|
||||||
const { NCModal } = base;
|
|
||||||
const TABLE_HEAD = 'replace_head';
|
|
||||||
const TABLE_BODY = 'replace_body'
|
|
||||||
|
|
||||||
class PickmReplaceDlg extends Component {
|
const {Refer} = high;
|
||||||
|
const {NCModal} = base;
|
||||||
|
const TABLE_HEAD = 'borrow_list';
|
||||||
|
|
||||||
|
class PickmBorrowDlg extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
props.use.editTable(TABLE_HEAD);
|
props.use.editTable(TABLE_HEAD);
|
||||||
props.use.editTable(TABLE_BODY);
|
|
||||||
this.state = {
|
this.state = {
|
||||||
totalRepNum: {}
|
totalRepNum: {}
|
||||||
};
|
};
|
||||||
|
@ -24,124 +22,39 @@ class PickmReplaceDlg extends Component {
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
this.initData();
|
this.initData();
|
||||||
}
|
}
|
||||||
|
|
||||||
//请求列表数据
|
//请求列表数据
|
||||||
initData = () => {
|
initData = () => {
|
||||||
let showdata = this.props.showdata;
|
let showdata = this.props.showdata;
|
||||||
let heads = [];
|
this.props.editTable.setTableData(TABLE_HEAD, showdata);
|
||||||
let bodys = [];
|
this.props.setProps(this.props);
|
||||||
if (showdata && showdata.head) {
|
|
||||||
heads = showdata.head[TABLE_HEAD].rows;
|
|
||||||
if (showdata.body) {
|
|
||||||
bodys = showdata.body[TABLE_BODY].rows;
|
|
||||||
}
|
|
||||||
let cpickmbid = showdata.head[TABLE_HEAD].rows[0].values.cpickm_bid.value;
|
|
||||||
let bodyData = {};
|
|
||||||
bodyData[cpickmbid] = bodys;
|
|
||||||
this.setState({
|
|
||||||
bodyDatas: bodyData
|
|
||||||
});
|
|
||||||
}
|
|
||||||
this.props.editTable.setTableData(TABLE_HEAD, { rows: heads });
|
|
||||||
this.props.editTable.setTableData(TABLE_BODY, { rows: bodys });
|
|
||||||
this.props.setReplaceProps(this.props);
|
|
||||||
};
|
};
|
||||||
onRowClick = (props, moduleId, record, index, e) => {
|
|
||||||
this.loadBodyInfo(props, record, index);
|
|
||||||
}
|
|
||||||
loadBodyInfo(props, record, index) {
|
|
||||||
let bodyData = this.props.getBodyDatas();
|
|
||||||
let cpickmbid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cpickm_bid');
|
|
||||||
let bodys = [];
|
|
||||||
let totalRepNum = this.state.totalRepNum;
|
|
||||||
if (bodyData && bodyData[cpickmbid.value]) {
|
|
||||||
let cmatreilvid;
|
|
||||||
let devOrg;
|
|
||||||
bodys = bodyData[cpickmbid.value];
|
|
||||||
if (bodys && bodys.length > 0) {
|
|
||||||
bodys.forEach(body => {
|
|
||||||
cmatreilvid = body.values.cbmaterialvid.value;
|
|
||||||
devOrg = body.values.cdeliverorgid.value;
|
|
||||||
if (totalRepNum && totalRepNum[devOrg + cmatreilvid]) {
|
|
||||||
body.values.rep_totalrepnum = totalRepNum[devOrg + cmatreilvid].num;
|
|
||||||
body.values.rep_totalrepastnum = totalRepNum[devOrg + cmatreilvid].astNum;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
this.props.editTable.setTableData(TABLE_BODY, { rows: bodys });
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
let userjson = {};
|
|
||||||
if (totalRepNum) {
|
|
||||||
Object.keys(totalRepNum).forEach(key => {
|
|
||||||
userjson[key] = totalRepNum[key].num.value;
|
|
||||||
})
|
|
||||||
}
|
|
||||||
let param = {
|
|
||||||
pageid: DIALOGCODE.REPLACEDLG,
|
|
||||||
model: {
|
|
||||||
areaType: "table",
|
|
||||||
pageinfo: null,
|
|
||||||
rows: [record],
|
|
||||||
areacode: TABLE_HEAD,
|
|
||||||
},
|
|
||||||
userjson: JSON.stringify(
|
|
||||||
userjson
|
|
||||||
)
|
|
||||||
};
|
|
||||||
ajax({
|
|
||||||
url: URL.replaceBodyQueryURL,
|
|
||||||
data: param,
|
|
||||||
success: res => {
|
|
||||||
if (res.success) {
|
|
||||||
if (res.data) {
|
|
||||||
bodys = res.data[TABLE_BODY].rows;
|
|
||||||
}
|
|
||||||
bodyData[cpickmbid.value] = bodys;
|
|
||||||
this.props.editTable.setTableData(TABLE_BODY, { rows: bodys });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onRowDoubleClick = (record, index, props, e) => {
|
|
||||||
this.loadBodyInfo(props, record, index);
|
|
||||||
}
|
|
||||||
render() {
|
render() {
|
||||||
let { editTable } = this.props;
|
let {editTable} = this.props;
|
||||||
let { createEditTable } = editTable;
|
let {createEditTable} = editTable;
|
||||||
return <div class="flex-container" style={{ height: '100%' }}>
|
return <div class="flex-container" style={{height: '100%'}}>
|
||||||
<div className='flex-container'>
|
<div className='flex-container'>
|
||||||
{createEditTable(TABLE_HEAD, {
|
{createEditTable(TABLE_HEAD, {
|
||||||
showIndex: true,
|
|
||||||
// height: 100,
|
|
||||||
onRowClick: this.onRowClick.bind(this),
|
|
||||||
onRowDoubleClick: this.onRowDoubleClick.bind(this),
|
|
||||||
onBeforeEvent: headBeforeEvent.bind(this),
|
|
||||||
onAfterEvent: headAfterEvent.bind(this),
|
|
||||||
isAddRow: false,
|
|
||||||
showCheck: false
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
<div className='flex-container'>
|
|
||||||
{createEditTable(TABLE_BODY, {
|
|
||||||
onBeforeEvent: bodyBeforeEvent.bind(this),
|
|
||||||
onAfterEvent: bodyAfterEvent.bind(this),
|
|
||||||
showCheck: false,
|
|
||||||
showIndex: true,
|
showIndex: true,
|
||||||
hideAdd: false,
|
// height: 100,
|
||||||
adaptionHeight: true
|
// onRowClick: this.onRowClick.bind(this),
|
||||||
|
// onRowDoubleClick: this.onRowDoubleClick.bind(this),
|
||||||
|
// onBeforeEvent: headBeforeEvent.bind(this),
|
||||||
|
onAfterEvent: headAfterEvent.bind(this),
|
||||||
|
isAddRow: false,
|
||||||
|
showCheck: false
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</div>;
|
</div>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PickmReplaceDlg = createPage({
|
PickmBorrowDlg = createPage({
|
||||||
billinfo: {
|
billinfo: {
|
||||||
billtype: 'grid',
|
billtype: 'grid',
|
||||||
pagecode: '50080102_replace',
|
pagecode: DIALOGCODE.BORROWDLG
|
||||||
bodycode: 'replace_body'
|
|
||||||
}//,
|
}//,
|
||||||
})(PickmReplaceDlg);
|
})(PickmBorrowDlg);
|
||||||
|
|
||||||
export default PickmReplaceDlg;
|
export default PickmBorrowDlg;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { DIALOGCODE } from '../../../constance';
|
import { DIALOGCODE } from '../../../constance';
|
||||||
import { getLangByResId } from '../../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
import { getLangByResId } from '../../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
|
||||||
const TABLE_HEAD = 'replace_head';
|
const TABLE_HEAD = 'borrow_list';
|
||||||
const TABLE_BODY = 'replace_body'
|
|
||||||
export default function (props) {
|
export default function (props) {
|
||||||
let appcode = props.getAppCode();
|
let appcode = props.getAppCode();
|
||||||
if (props.getAppCode().startsWith('5009')) {
|
if (props.getAppCode().startsWith('5009')) {
|
||||||
|
@ -14,15 +14,15 @@ export default function (props) {
|
||||||
props.createUIDom(
|
props.createUIDom(
|
||||||
{
|
{
|
||||||
appcode: appcode,
|
appcode: appcode,
|
||||||
pagecode: DIALOGCODE.REPLACEDLG
|
pagecode: DIALOGCODE.BORROWDLG
|
||||||
},
|
},
|
||||||
(templedata) => {
|
(templedata) => {
|
||||||
if (templedata.template) {
|
if (templedata.template) {
|
||||||
let meta = templedata.template;
|
let meta = templedata.template;
|
||||||
modifierMeta.call(this, this.props, meta);
|
// modifierMeta.call(this, this.props, meta);
|
||||||
props.meta.setMeta(meta);
|
props.meta.setMeta(meta);
|
||||||
props.editTable.setStatus(TABLE_HEAD, 'edit');
|
props.editTable.setStatus(TABLE_HEAD, 'edit');
|
||||||
props.editTable.setStatus(TABLE_BODY, 'edit');
|
// props.editTable.setStatus(TABLE_BODY, 'edit');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ const headKeys = ['pk_org', 'pk_customer', 'gmf_zh', 'pk_customer_v', 'gmf_dz',
|
||||||
* def1:合同销售订单编号
|
* def1:合同销售订单编号
|
||||||
*/
|
*/
|
||||||
const bodyKeys = ['xmdj', 'sl', 'xmje', 'se', 'xmsl', 'xmjshj', 'pk_materiel',
|
const bodyKeys = ['xmdj', 'sl', 'xmje', 'se', 'xmsl', 'xmjshj', 'pk_materiel',
|
||||||
'zkje', 'fphxz', 'taxcode', 'spbm', 'sl', 'xmjshj', 'def1'];
|
'zkje', 'fphxz', 'taxcode', 'spbm', 'sl', 'def1'];
|
||||||
|
|
||||||
export default function (moduleId, key, value, changedrows, index, record) {
|
export default function (moduleId, key, value, changedrows, index, record) {
|
||||||
// console.log('valueChange', moduleId, key, value, changedrows, index);
|
// console.log('valueChange', moduleId, key, value, changedrows, index);
|
||||||
|
@ -48,9 +48,9 @@ export default function (moduleId, key, value, changedrows, index, record) {
|
||||||
(moduleId == presetVar.bodyAreaId && bodyKeys.indexOf(key) > -1)) {
|
(moduleId == presetVar.bodyAreaId && bodyKeys.indexOf(key) > -1)) {
|
||||||
hasChange = true;
|
hasChange = true;
|
||||||
}
|
}
|
||||||
// if (bodyKeys.includes(key)) {
|
/*if (bodyKeys.includes(key)) {
|
||||||
// debugger;
|
debugger;
|
||||||
// }
|
}*/
|
||||||
if (hasChange) {
|
if (hasChange) {
|
||||||
// 取得表头数据
|
// 取得表头数据
|
||||||
let headBodyData;
|
let headBodyData;
|
||||||
|
@ -72,7 +72,9 @@ export default function (moduleId, key, value, changedrows, index, record) {
|
||||||
checkrule: 'true',
|
checkrule: 'true',
|
||||||
templateid: this.props.meta.getMeta().pageid
|
templateid: this.props.meta.getMeta().pageid
|
||||||
}
|
}
|
||||||
// console.log('sendData = ', sendData);
|
if (key == 'xmjshj') {
|
||||||
|
console.log('sendData = ', sendData);
|
||||||
|
}
|
||||||
requestApi.valueChange({
|
requestApi.valueChange({
|
||||||
data: sendData,
|
data: sendData,
|
||||||
success: (data) => {
|
success: (data) => {
|
||||||
|
|
Loading…
Reference in New Issue