|
@@ -561,7 +561,12 @@ $(document).ready(() => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (col.field.indexOf('_dgn_') > 0) {
|
|
|
+ if (col.field === 'memo') {
|
|
|
+ updateData.main = {
|
|
|
+ id: node.id
|
|
|
+ };
|
|
|
+ updateData.main[col.field] = newValue;
|
|
|
+ } else if (col.field.indexOf('_dgn_') > 0) {
|
|
|
updateData.dgn = {
|
|
|
id: node.id
|
|
|
};
|
|
@@ -604,12 +609,12 @@ $(document).ready(() => {
|
|
|
if (validCols.length === 0) { return; }
|
|
|
|
|
|
const sortData = sheet.zh_tree.nodes;
|
|
|
- const datas = [], dgnDatas = [];
|
|
|
+ const datas = [], dgnDatas = [], mainDatas = [];
|
|
|
for (let iRow = sel.row; iRow < sel.row + sel.rowCount; iRow++) {
|
|
|
const node = sortData[iRow];
|
|
|
if (node) {
|
|
|
- const data = { lid: node.id }, dgnData = { id: node.id };
|
|
|
- let filter = true, filterDgn = true;
|
|
|
+ const data = { lid: node.id }, dgnData = { id: node.id }, mainData = { id: node.id };
|
|
|
+ let filter = true, filterDgn = true, filterMain = true;
|
|
|
for (const iCol of validCols) {
|
|
|
const colSetting = sheet.zh_setting.cols[iCol];
|
|
|
if (sheet.zh_setting.dgnUpFields.indexOf(colSetting.field) !== -1) {
|
|
@@ -625,6 +630,9 @@ $(document).ready(() => {
|
|
|
dgnData[colSetting.field] = 0;
|
|
|
filterDgn = false;
|
|
|
}
|
|
|
+ } else if (colSetting.field === 'memo') {
|
|
|
+ mainData[colSetting.field] = null;
|
|
|
+ filterMain = false;
|
|
|
} else {
|
|
|
data[colSetting.field] = null;
|
|
|
filter = false;
|
|
@@ -632,12 +640,14 @@ $(document).ready(() => {
|
|
|
}
|
|
|
if (!filter) datas.push(data);
|
|
|
if (!filterDgn) dgnDatas.push(dgnData);
|
|
|
+ if (!filterMain) mainDatas.push(mainData);
|
|
|
}
|
|
|
}
|
|
|
- if (datas.length > 0 || dgnDatas.length > 0) {
|
|
|
+ if (datas.length > 0 || dgnDatas.length > 0 || mainDatas.length > 0) {
|
|
|
const bills = {};
|
|
|
if (datas.length > 0) bills.stage = datas;
|
|
|
if (dgnDatas.length > 0) bills.dgn = dgnDatas;
|
|
|
+ if (mainDatas.length > 0) bills.main = mainDatas;
|
|
|
postData(window.location.href + '/update', {bills: bills}, function (result) {
|
|
|
const nodes = stageTree.loadPostStageData(result);
|
|
|
stageTreeSpreadObj.refreshTreeNodes(slSpread.getActiveSheet(), nodes);
|
|
@@ -653,7 +663,8 @@ $(document).ready(() => {
|
|
|
const stageField = ['contract_qty', 'contract_tp', 'qc_qty', 'postil'];
|
|
|
for (let iCol = range.col; iCol < range.col + range.colCount; iCol++) {
|
|
|
const col = info.sheet.zh_setting.cols[iCol];
|
|
|
- if ((stageField.indexOf(col.field) === -1) && setting.dgnUpFields.indexOf(col.field) === -1) {
|
|
|
+ if ((stageField.indexOf(col.field) === -1) && setting.dgnUpFields.indexOf(col.field) === -1
|
|
|
+ && col.field !== 'memo') {
|
|
|
toastr.error('不可修改此数据');
|
|
|
info.cancel = true;
|
|
|
return;
|
|
@@ -664,15 +675,15 @@ $(document).ready(() => {
|
|
|
clipboardPasted(e, info) {
|
|
|
if (info.sheet.zh_setting && info.sheet.zh_tree) {
|
|
|
const sheet = info.sheet, setting = info.sheet.zh_setting;
|
|
|
- const filterNodes = [], datas = [], dgnDatas = [];
|
|
|
+ const filterNodes = [], datas = [], dgnDatas = [], mainDatas = [];
|
|
|
let bHint = false;
|
|
|
|
|
|
for (let iRow = 0; iRow < info.cellRange.rowCount; iRow++) {
|
|
|
const curRow = iRow + info.cellRange.row;
|
|
|
const node = sheet.zh_tree.getItemsByIndex(curRow);
|
|
|
|
|
|
- const data = {lid: node.id}, dgnData = {id: node.id};
|
|
|
- let filter = false, filterDgn = false;
|
|
|
+ const data = {lid: node.id}, dgnData = {id: node.id}, mainData = {id: node.id};
|
|
|
+ let filter = true, filterDgn = true, filterMain = true;
|
|
|
for (let iCol = 0; iCol < info.cellRange.colCount; iCol++) {
|
|
|
const curCol = info.cellRange.col + iCol;
|
|
|
const col = info.sheet.zh_setting.cols[curCol];
|
|
@@ -690,31 +701,36 @@ $(document).ready(() => {
|
|
|
const num = _.toNumber(text);
|
|
|
if (num) {
|
|
|
dgnData[col.field] = num;
|
|
|
+ filterDgn = false;
|
|
|
} else {
|
|
|
try {
|
|
|
dgnData[col.field] = math.evaluate(transExpr(text));
|
|
|
+ filterDgn = false;
|
|
|
} catch(err) {
|
|
|
if (!bHint) {
|
|
|
toastr.warning('粘贴了非法表达式,已过滤');
|
|
|
bHint = true;
|
|
|
}
|
|
|
- filterDgn = true;
|
|
|
}
|
|
|
}
|
|
|
+ } else if (col.field === 'memo') {
|
|
|
+ mainData.memo = text;
|
|
|
+ filterMain = false;
|
|
|
} else {
|
|
|
if (col.type === 'Number') {
|
|
|
const num = _.toNumber(text);
|
|
|
if (num) {
|
|
|
data[col.field] = num;
|
|
|
+ filter = false;
|
|
|
} else {
|
|
|
try {
|
|
|
data[col.field] = math.evaluate(transExpr(text));
|
|
|
+ filter = false;
|
|
|
} catch(err) {
|
|
|
if (!bHint) {
|
|
|
toastr.warning('粘贴了非法表达式,已过滤');
|
|
|
bHint = true;
|
|
|
}
|
|
|
- filter = true;
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
@@ -722,17 +738,19 @@ $(document).ready(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (filter && filterDgn) {
|
|
|
+ if (filter && filterDgn && filterMain) {
|
|
|
filterNodes.push(node);
|
|
|
} else {
|
|
|
if (!filter) datas.push(data);
|
|
|
if (!filterDgn) dgnDatas.push(dgnData);
|
|
|
+ if (!filterMain) mainDatas.push(mainData);
|
|
|
}
|
|
|
}
|
|
|
- if (datas.length > 0 || dgnDatas.length > 0) {
|
|
|
+ if (datas.length > 0 || dgnDatas.length > 0 || mainDatas.length > 0) {
|
|
|
const updateData = {};
|
|
|
if (datas.length > 0) updateData.stage = datas;
|
|
|
if (dgnDatas.length > 0) updateData.dgn = dgnDatas;
|
|
|
+ if (mainDatas.length > 0) updateData.main = mainDatas;
|
|
|
postData(window.location.href + '/update', {bills: updateData}, function (data) {
|
|
|
const nodes = stageTree.loadPostStageData(data);
|
|
|
stageTreeSpreadObj.refreshTreeNodes(slSpread.getActiveSheet(), nodes.concat(filterNodes));
|