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);
- }
- })
- });
|