| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | // 推荐相似材料const RECOMMEND_BOOK = (() => {  const setting = {    header: [      { headerName: '主从对应码', headerWidth: 100, dataCode: 'code', dataType: 'String', hAlign: 'left', vAlign: 'center', formatter: "@" },      { headerName: '别名编码', headerWidth: 70, dataCode: 'classCode', dataType: 'String', hAlign: 'left', vAlign: 'center', formatter: "@" },      { headerName: '计算式', headerWidth: 100, dataCode: 'expString', dataType: 'String', hAlign: 'left', vAlign: 'center' },      { headerName: '材料名称', headerWidth: 275, dataCode: 'name', dataType: 'String', hAlign: 'left', vAlign: 'center' },      { headerName: '规格型号', headerWidth: 180, dataCode: 'specs', dataType: 'String', hAlign: 'left', vAlign: 'center' },      { headerName: '单位', headerWidth: 80, dataCode: 'unit', dataType: 'String', hAlign: 'center', vAlign: 'center' },    ],  };  // 初始化表格  // 初始化表格  const workBookObj = {    book: null,    sheet: null,  };  const buildWorkBook = () => {    workBookObj.book = initSheet($('.recommend-spread')[0], setting);    workBookObj.book.options.allowUserDragDrop = true;    workBookObj.book.options.allowUserDragFill = true;    workBookObj.book.options.allowExtendPasteRange = false;    lockUtil.lockSpreads([workBookObj.book], true);    workBookObj.sheet = workBookObj.book.getSheet(0);  }  // 表格显示的数据  const cache = [];  // 清空  function clear() {    cache.length = 0;    workBookObj.sheet.setRowCount(0);  }  // 初始化数据  async function loadRecommendData(keyword) {    clear();    $.bootstrapLoading.start();    try {      const items = await ajaxPost('/priceInfo/getRecommendPriceSummaryData', { keyword }, 1000 * 60 * 5);      cache.push(...items);      showData(workBookObj.sheet, cache, setting.header);    } catch (err) {      clear();      alert(err);    } finally {      $.bootstrapLoading.end();    }  }  // 双击更新空表编码和别名编码  const handleDbClick = (sender, args) => {    const item = cache[args.row];    if (item) {      // 只有珠海才更新计算式      //const expString = /珠海/.test(AREA_BOOK.curArea.name || '') ? item.expString : undefined;      EMPTY_BOOK.updateRowCode(item.code || '', item.classCode || '', item.expString || '');    }  }  const bindEvent = () => {    workBookObj.book.bind(GC.Spread.Sheets.Events.CellDoubleClick, handleDbClick)  }  return {    buildWorkBook,    bindEvent,    clear,    loadRecommendData,    workBookObj,  }})();$(document).ready(() => {  $('#empty-area').on('shown.bs.modal', function () {    // 生成表格    if (!RECOMMEND_BOOK.workBookObj.book) {      RECOMMEND_BOOK.buildWorkBook();      RECOMMEND_BOOK.bindEvent();    }  });  $('#empty-area').on('hidden.bs.modal', function () {    RECOMMEND_BOOK.clear();  });  // 回车搜索分词  $('#recommend-search').bind('keydown', function (event) {    if (event.keyCode === 13) {      const searchStr = $(this).val();      RECOMMEND_BOOK.loadRecommendData(searchStr);    }  })});
 |