展开 在风云激荡的大背景下,先锋企业不断探索、永不止步。CMEF和医学界联名发起的高端访谈专栏——《拓境者》震撼来袭! 中核安科锐不断突破中国高端放疗技术瓶颈,推出的多款高端肿瘤治疗设备推动我国放疗行业逐渐向精准化、智能化方向发展,极大提升了放疗设备的临床可操作性、可靠性和舒适性,为国内放疗界带来新的变革。 此外,中核安科锐将携Tomo C、射波刀和放射治疗协作云平台锐智云RIX+、中核芯智联平台ICS 2.0等重磅产品参与此次CMEF,全方位展示其在精准放疗及数智化建设方面的最新技术成果。 4月11日—14日,国家会展中心(上海),中核安科锐在3.1D29与您不见不散! →点击此处获取门票← var __INLINE_SCRIPT__ = (function () { 'use strict'; function _arrayLikeToArray(arr, len) { if (len == null len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null iter["@@iterator"] != null) return Array.from(iter); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" n === "Set") return Array.from(o); if (n === "Arguments" /^(?:Ui I)nt(?:8 16 32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.In order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) _iterableToArray(arr) _unsupportedIterableToArray(arr) _nonIterableSpread(); } function textOverflow(el, binding) { var _a; var text = el.innerHTML; if (!text !text.length) return; var count = 0; function getFragmentHTML(frag) { var _a; var div = document.createDocumentFragment(); div.appendChild(frag); var span = document.createElement('span'); span.innerHTML = ((_a = binding.value) === null _a === void 0 ? void 0 : _a.html) '...'; if (div.lastElementChild) { div.lastElementChild.style.display = 'inline'; } div.appendChild(span); el.extraElement = span; return div; } function needTextOverflow() { var _a; if ((_a = binding.value) === null _a === void 0 ? void 0 : _a.lineClamp) { return binding.value.lineClamp < computeLineNum(el); } else { return el.offsetHeight < el.scrollHeight; } } if (needTextOverflow()) { try { var getLeaf = function getLeaf(node) { var result = []; if (!node.childNodes node.childNodes.length === 0) { return [node]; } node.childNodes.forEach(function (child) { result = [].concat(_toConsumableArray(result), _toConsumableArray(getLeaf(child))); }); return result; }; var findLastNode = function findLastNode(start, end) { if (end - start <= 1) { range.setEndAfter(leaves[start]); setNewFrag(el, getFragmentHTML(range.cloneContents())); return needTextOverflow() ? start : end; } var mid = start + end >> 1; count++; range.setEndAfter(leaves[mid]); setNewFrag(el, getFragmentHTML(range.cloneContents())); return needTextOverflow() ? findLastNode(start, mid) : findLastNode(mid, end); }; var findLastCharIndex = function findLastCharIndex(start, end) { if (end - start <= 1) { if (start === 0) { range.setEndBefore(lastNode); } else { range.setEnd(lastNode, start); } setNewFrag(el, getFragmentHTML(range.cloneContents())); return start; } var mid = start + end >> 1; count++; range.setEnd(lastNode, mid); setNewFrag(el, getFragmentHTML(range.cloneContents())); return needTextOverflow() ? findLastCharIndex(start, mid) : findLastCharIndex(mid, end); }; var dom = document.createElement('div'); dom.innerHTML = text; var leaves = getLeaf(dom); var range = document.createRange(); range.setStartBefore(leaves[0]); var lastNodeIndex = findLastNode(0, leaves.length - 1); var lastNode = leaves[lastNodeIndex]; findLastCharIndex(0, lastNode.textContent.length); ((_a = binding.value) === null _a === void 0 ? void 0 : _a.processExtraElement) && binding.value.processExtraElement(el.extraElement, el); console.log(count); } catch (error) { var newErr = Object.assign(error, { _info: text, message: 'text overflow error' + text }); console.error(newErr); } } } function computeLineNum(el) { var computyStyle = getComputedStyle(el); return Math.round(el.offsetHeight / parseFloat(computyStyle.lineHeight)); } function removeAllChild(el) { var childNodes = Array.from(el.childNodes); childNodes.forEach(function (child) { el.removeChild(child); }); } function setNewFrag(el, frag) { removeAllChild(el); el.appendChild(frag); } var __setDesc = function __setDesc(desc, isNoEncode, itemShowType) { function getAttr(s, a) { var m = s.match(new RegExp(a + '\\s*=\\s*["\']?([^"\'\\s>]+)["\']?')); return m && m[1]; } function filterContentWithLinkNWeapp(str) { str = str.split(/(]*>)((?:. )*?)(<\/a>)/); var valid; for (var i = 0; i < str.length; i++) { if (i % 4 === 1) { valid = false; var href = getAttr(str[i], 'href'); if (/^https?:\/\/mp\.weixin\.qq\.com/.test(href)) { valid = true; } var r = '' : ''; } else if (i % 4 === 3) { !valid && (str[i] = ''); } else { str[i] = str[i].replace(/<.*?>/g, ''); } } return str.join(''); } if (isNoEncode) { if (itemShowType * 1 === 8) desc = desc.html(false); desc = window.__emojiFormat(filterContentWithLinkNWeapp(desc).replace(//g, '').replace(//g, '
')); } else { desc = desc.replace(//g, '').replace(//g, '
').replace(/\s/g, ' '); } if (itemShowType * 1 === 8) { var descDom = document.getElementById('js_image_desc'); descDom && (descDom.innerHTML = desc); if (location.href.indexOf('immerse_style=1') > -1 && descDom) { var r = window.innerHeight - descDom.getBoundingClientRect().y - document.getElementById('wx_expand_bottom').offsetHeight; var l = window.getComputedStyle(descDom).lineHeight; window.__immersiveFullDesc = desc; window.__immersiveOmited = 1; textOverflow(descDom, { value: { lineClamp: Math.floor(r / parseFloat(l)), html: '... 展开' } }); } } else if (itemShowType * 1 === 10) { var _descDom = document.getElementById('js_text_desc'); _descDom && (_descDom.innerHTML = desc); var titleDom = document.getElementById('js_text_title'); var titleRect = titleDom ? titleDom.getBoundingClientRect() : undefined; var descRect = _descDom ? _descDom.getBoundingClientRect() : undefined; if (titleRect && titleRect.height > 17 * 1.4 + 2 descRect && descRect.height > 17 * 1.6 + 2) { var dom = document.querySelector('.js_share_notice_dom'); dom.classList.add('text_align_left'); } } else { var _descDom2 = document.getElementById('js_common_share_desc'); var descDomWrap = document.getElementById('js_common_share_desc_wrap'); if (!_descDom2 !descDomWrap) { return; } _descDom2.innerHTML = desc; setTimeout(function () { var folderSwitcher = document.getElementById('js_folder_text_switch'); if (_descDom2.offsetHeight - descDomWrap.offsetHeight > 1) { descDomWrap.className += ' weui-ellipsis_multi'; folderSwitcher.style.display = 'block'; } else { folderSwitcher.style.display = 'none'; } }, 300); } }; if (!window.__second_open__) { var videoContentNoEncode = window.a_value_which_never_exists '在风云激荡的大背景下,先锋企业不断探索、永不止步。CMEF和医学界联名发起的高端访谈专栏——《拓境者》震撼来袭!\x0a\x0a中核安科锐不断突破中国高端放疗技术瓶颈,推出的多款高端肿瘤治疗设备推动我国放疗行业逐渐向精准化、智能化方向发展,极大提升了放疗设备的临床可操作性、可靠性和舒适性,为国内放疗界带来新的变革。\x0a\x0a此外,中核安科锐将携Tomo C、射波刀和放射治疗协作云平台锐智云RIX+、中核芯智联平台ICS 2.0等重磅产品参与此次CMEF,全方位展示其在精准放疗及数智化建设方面的最新技术成果。\x0a\x0a4月11日—14日,国家会展中心(上海),中核安科锐在3.1D29与您不见不散!\x0a\x3ca target=\x22_blank\x22 data-itemshowtype=\x220\x22 href=\x22http://mp.weixin.qq.com/s?__biz=MjM5MDMyODAwMw==\x26amp;mid=2651627415\x26amp;idx=1\x26amp;sn=de5af56604a45efd237ba3da93a4ff1d\x26amp;chksm=bdbe4a3b8ac9c32dedd5eb546162e6deac72d5e0c56a49727c346dd28cae9c05b96de3a7021c\x26amp;scene=142#wechat_redirect\x22\x3e→点击此处获取门票←\x3c/a\x3e'; var TextContentNoEncode = window.a_value_which_never_exists ''; var itemShowType = window.a_value_which_never_exists '5'; var content = window.a_value_which_never_exists ''; var desc = window.a_value_which_never_exists '在风云激荡的大背景下,先锋企业不断探索、永不止步。CMEF和医学界联名发起的高端访谈专栏——《拓境者》震撼来袭!\x0a\x0a中核安科锐不断突破中国高端放疗技术瓶颈,推出的多款高端肿瘤治疗设备推动我国放疗行业逐渐向精准化、智能化方向发展,极大提升了放疗设备的临床可操作性、可靠性和舒适性,为国内放疗界带来新的变革。\x0a\x0a此外,中核安科锐将携Tomo C、射波刀和放射治疗协作云平台锐智云RIX+、中核芯智联平台ICS 2.0等重磅产品参与此次CMEF,全方位展示其在精准放疗及数智化建设方面的最新技术成果。\x0a\x0a4月11日—14日,国家会展中心(上海),中核安科锐在3.1D29与您不见不散!\x0a\x26lt;a target=\x26quot;_blank\x26quot; data-itemshowtype=\x26quot;0\x26quot; href=\x26quot;http://mp.weixin.qq.com/s?__biz=MjM5MDMyODAwMw==\x26amp;amp;mid=2651627415\x26amp;amp;idx=1\x26amp;amp;sn=de5af56604a45efd237ba3da93a4ff1d\x26amp;amp;chksm=bdbe4a3b8ac9c32dedd5eb546162e6deac72d5e0c56a49727c346dd28cae9c05b96de3a7021c\x26amp;amp;scene=142#wechat_redirect\x26quot;\x26gt;→点击此处获取门票←\x26lt;/a\x26gt;'; if (videoContentNoEncode) { __setDesc(videoContentNoEncode, true, itemShowType); } else if (TextContentNoEncode) { __setDesc(TextContentNoEncode, true, itemShowType); } else if (itemShowType * 1 === 8) { __setDesc(content desc, true, itemShowType); } else { __setDesc(desc, false, itemShowType); } window.__setDesc = __setDesc; } return __setDesc; })();