|
@@ -931,5 +931,123 @@ const showSelectTab = function(select, spread, afterShow) {
|
|
|
$('#bills-tag-keyword').bind('keydown', e => {if (e.keyCode === 13) searchTagsAndShow();});
|
|
|
|
|
|
return { loadDatas, updateDatasAndShow, show, getBillsTagsColor, getBillsTagsInfo, refreshBillsTagView, }
|
|
|
- }
|
|
|
+ };
|
|
|
+
|
|
|
+ $.sumLoadMiss = function (setting) {
|
|
|
+ if (!setting.spreadSetting) {
|
|
|
+ setting.spreadSetting = {
|
|
|
+ cols: [
|
|
|
+ { title: '清单编号', field: 'b_code', width: 80, formatter: '@' },
|
|
|
+ { title: '清单名称', field: 'name', width: 120, formatter: '@' },
|
|
|
+ { title: '单位', field: 'unit', width: 50, formatter: '@' },
|
|
|
+ { title: '数量', field: 'qty', width: 60 },
|
|
|
+ {
|
|
|
+ title: '类型', field: 'type', width: 100, getValue: function (x) {
|
|
|
+ switch (x.type) {
|
|
|
+ case 'less': return '数量变小';
|
|
|
+ case 'miss': return '找不到清单';
|
|
|
+ case 'qc': return '变更';
|
|
|
+ case 'miss-qc': return '变更(找不到清单)';
|
|
|
+ default: return '';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ emptyRows: 0,
|
|
|
+ headRows: 1,
|
|
|
+ headRowHeight: [32],
|
|
|
+ defaultRowHeight: 21,
|
|
|
+ headerFont: '12px 微软雅黑',
|
|
|
+ font: '12px 微软雅黑',
|
|
|
+ selectedBackColor: '#fffacd',
|
|
|
+ readOnly: true,
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ const clearMissData = function () {
|
|
|
+ if (setting.storeKey) removeLocalCache(setting.storeKey);
|
|
|
+ };
|
|
|
+
|
|
|
+ const autoShowHistory = function (show) {
|
|
|
+ if (setting.storeKey) {
|
|
|
+ setLocalCache(setting.storeKey + '-showHis', show.toString());
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ if (setting.selector && setting.relaSpread) {
|
|
|
+ const resultId = setting.id + '-spread';
|
|
|
+ const obj = $(setting.selector);
|
|
|
+ obj.html(
|
|
|
+ ' <div id="' + resultId + '" class="sjs-sh">\n' +
|
|
|
+ ' </div>'
|
|
|
+ );
|
|
|
+ autoFlashHeight();
|
|
|
+
|
|
|
+ const spread = SpreadJsObj.createNewSpread($('#' + resultId)[0]);
|
|
|
+ const sheet = spread.getActiveSheet();
|
|
|
+ SpreadJsObj.initSheet(sheet, setting.spreadSetting);
|
|
|
+
|
|
|
+ const loadMissData = function (data, his = false) {
|
|
|
+ const sourceTree = setting.relaSpread.getActiveSheet().zh_tree;
|
|
|
+ if (!sourceTree) return;
|
|
|
+
|
|
|
+ for (const d of data) {
|
|
|
+ d.serialNo = sourceTree.getNodeIndex(sourceTree.getItems(d.ledger_id)) + 1;
|
|
|
+ }
|
|
|
+ data.sort(function (a, b) {
|
|
|
+ return a.serialNo - b.serialNo;
|
|
|
+ });
|
|
|
+
|
|
|
+ SpreadJsObj.loadSheetData(sheet, SpreadJsObj.DataType.Data, data);
|
|
|
+ if (!his && setting.storeKey) {
|
|
|
+ setLocalCache(setting.storeKey, JSON.stringify(data));
|
|
|
+ }
|
|
|
+ $(setting.tabSelector).show();
|
|
|
+ };
|
|
|
+ const showMissList = function () {
|
|
|
+ const tab = $(setting.tabSelector), tabPanel = $(tab.attr('content'));
|
|
|
+ $('a', '.side-menu').removeClass('active');
|
|
|
+ tab.addClass('active');
|
|
|
+ $('.tab-content .tab-pane').removeClass('active');
|
|
|
+ tabPanel.addClass('active');
|
|
|
+ showSideTools(true);
|
|
|
+ spread.refresh();
|
|
|
+ if (setting.afterShow) setting.afterShow();
|
|
|
+ };
|
|
|
+ const loadHisMissData = function () {
|
|
|
+ if (setting.storeKey) {
|
|
|
+ const storeStr = getLocalCache(setting.storeKey);
|
|
|
+
|
|
|
+ const storeData = storeStr ? JSON.parse(storeStr) : [];
|
|
|
+ if (storeData.length > 0) {
|
|
|
+ loadMissData(storeData, true);
|
|
|
+ const showHis = getLocalCache(setting.storeKey + '-showHis');
|
|
|
+ if (showHis === 'true') {
|
|
|
+ showMissList();
|
|
|
+ removeLocalCache(setting.storeKey + '-showHis');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ spread: spread,
|
|
|
+ loadMissData: loadMissData,
|
|
|
+ clearMissData: clearMissData,
|
|
|
+ loadHisMissData: loadHisMissData,
|
|
|
+ show: showMissList,
|
|
|
+ autoShowHistory: autoShowHistory,
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ const loadMissData = function (data) {
|
|
|
+ if (setting.storeKey) {
|
|
|
+ setLocalCache(setting.storeKey, JSON.stringify(data));
|
|
|
+ }
|
|
|
+ };
|
|
|
+ return {
|
|
|
+ loadErrorData: loadMissData,
|
|
|
+ clearErrorData: clearMissData,
|
|
|
+ autoShowHistory: autoShowHistory,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ };
|
|
|
})(jQuery);
|