|
|
@@ -45,7 +45,17 @@ export class ReasonableSafeMedicine {
|
|
|
return Array.from(gather);
|
|
|
},
|
|
|
toString() {
|
|
|
- const parse = (value, highlight) => { return value; };
|
|
|
+ const parse = (value, highlight) => {
|
|
|
+ const match = value.match(/^([^(\d]+)(\d+[g|克])?(?:\((.+)\))?$/);
|
|
|
+ if (!match) return value;
|
|
|
+
|
|
|
+ const [_, prefix = value, dosage, suffix] = match;
|
|
|
+ return [
|
|
|
+ `<span class="${highlight.label && 'highlight'}">${prefix}</span>`,
|
|
|
+ dosage ? `<span>${dosage}</span>` : '',
|
|
|
+ suffix ? `<span class="${highlight.value && 'highlight'}">(${suffix})</span>` : '',
|
|
|
+ ].filter(Boolean).join(' ');
|
|
|
+ };
|
|
|
let html = ``;
|
|
|
for (const {name, highlight = {}, collection} of this) {
|
|
|
html += `
|