├── cdnrefresh-dirs.txt ├── .browserslistrc ├── public ├── lib │ └── UEditor │ │ ├── themes │ │ ├── iframe.css │ │ └── default │ │ │ └── images │ │ │ ├── anchor.gif │ │ │ ├── arrow.png │ │ │ ├── charts.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── lock.gif │ │ │ ├── scale.png │ │ │ ├── spacer.gif │ │ │ ├── upload.png │ │ │ ├── word.gif │ │ │ ├── arrow_up.png │ │ │ ├── cursor_h.gif │ │ │ ├── cursor_h.png │ │ │ ├── cursor_v.gif │ │ │ ├── cursor_v.png │ │ │ ├── filescan.png │ │ │ ├── loading.gif │ │ │ ├── sortable.png │ │ │ ├── arrow_down.png │ │ │ ├── button-bg.gif │ │ │ ├── highlighted.gif │ │ │ ├── icons-all.gif │ │ │ ├── loaderror.png │ │ │ ├── pagebreak.gif │ │ │ ├── sparator_v.png │ │ │ ├── toolbar_bg.png │ │ │ ├── videologo.gif │ │ │ ├── wordpaste.png │ │ │ ├── cancelbutton.gif │ │ │ ├── unhighlighted.gif │ │ │ ├── dialog-title-bg.png │ │ │ ├── neweditor-tab-bg.png │ │ │ ├── table-cell-align.png │ │ │ └── tangram-colorpicker.png │ │ ├── jsp │ │ ├── lib │ │ │ ├── json.jar │ │ │ ├── commons-io-2.4.jar │ │ │ ├── ueditor-1.1.2.jar │ │ │ ├── commons-codec-1.9.jar │ │ │ └── commons-fileupload-1.3.1.jar │ │ └── controller.jsp │ │ ├── button-icon │ │ └── d2admin.png │ │ ├── lang │ │ ├── en │ │ │ └── images │ │ │ │ ├── copy.png │ │ │ │ ├── music.png │ │ │ │ ├── addimage.png │ │ │ │ ├── button.png │ │ │ │ ├── upload.png │ │ │ │ ├── background.png │ │ │ │ ├── localimage.png │ │ │ │ ├── deletedisable.png │ │ │ │ ├── deleteenable.png │ │ │ │ ├── listbackground.png │ │ │ │ ├── alldeletebtnupskin.png │ │ │ │ ├── rotateleftdisable.png │ │ │ │ ├── rotateleftenable.png │ │ │ │ ├── rotaterightdisable.png │ │ │ │ ├── rotaterightenable.png │ │ │ │ └── alldeletebtnhoverskin.png │ │ └── zh-cn │ │ │ └── images │ │ │ ├── copy.png │ │ │ ├── music.png │ │ │ ├── upload.png │ │ │ └── localimage.png │ │ ├── dialogs │ │ ├── image │ │ │ └── images │ │ │ │ ├── bg.png │ │ │ │ ├── icons.gif │ │ │ │ ├── icons.png │ │ │ │ ├── image.png │ │ │ │ ├── success.gif │ │ │ │ ├── success.png │ │ │ │ ├── alignicon.jpg │ │ │ │ └── progress.png │ │ ├── table │ │ │ ├── dragicon.png │ │ │ └── edittip.html │ │ ├── video │ │ │ └── images │ │ │ │ ├── bg.png │ │ │ │ ├── icons.gif │ │ │ │ ├── icons.png │ │ │ │ ├── image.png │ │ │ │ ├── success.gif │ │ │ │ ├── success.png │ │ │ │ ├── progress.png │ │ │ │ ├── center_focus.jpg │ │ │ │ ├── file-icons.gif │ │ │ │ ├── file-icons.png │ │ │ │ ├── left_focus.jpg │ │ │ │ ├── none_focus.jpg │ │ │ │ └── right_focus.jpg │ │ ├── emotion │ │ │ └── images │ │ │ │ ├── 0.gif │ │ │ │ ├── bface.gif │ │ │ │ ├── cface.gif │ │ │ │ ├── fface.gif │ │ │ │ ├── tface.gif │ │ │ │ ├── wface.gif │ │ │ │ ├── yface.gif │ │ │ │ ├── jxface2.gif │ │ │ │ └── neweditor-tab-bg.png │ │ ├── attachment │ │ │ ├── images │ │ │ │ ├── bg.png │ │ │ │ ├── icons.gif │ │ │ │ ├── icons.png │ │ │ │ ├── image.png │ │ │ │ ├── success.gif │ │ │ │ ├── success.png │ │ │ │ ├── alignicon.gif │ │ │ │ ├── alignicon.png │ │ │ │ ├── progress.png │ │ │ │ ├── file-icons.gif │ │ │ │ └── file-icons.png │ │ │ └── fileTypeImages │ │ │ │ ├── icon_chm.gif │ │ │ │ ├── icon_doc.gif │ │ │ │ ├── icon_exe.gif │ │ │ │ ├── icon_jpg.gif │ │ │ │ ├── icon_mp3.gif │ │ │ │ ├── icon_mv.gif │ │ │ │ ├── icon_pdf.gif │ │ │ │ ├── icon_ppt.gif │ │ │ │ ├── icon_psd.gif │ │ │ │ ├── icon_rar.gif │ │ │ │ ├── icon_txt.gif │ │ │ │ ├── icon_xls.gif │ │ │ │ └── icon_default.png │ │ ├── background │ │ │ └── images │ │ │ │ ├── bg.png │ │ │ │ └── success.png │ │ ├── scrawl │ │ │ └── images │ │ │ │ ├── addimg.png │ │ │ │ ├── brush.png │ │ │ │ ├── delimg.png │ │ │ │ ├── empty.png │ │ │ │ ├── emptyH.png │ │ │ │ ├── eraser.png │ │ │ │ ├── redo.png │ │ │ │ ├── redoH.png │ │ │ │ ├── scale.png │ │ │ │ ├── scaleH.png │ │ │ │ ├── size.png │ │ │ │ ├── undo.png │ │ │ │ ├── undoH.png │ │ │ │ └── delimgH.png │ │ ├── template │ │ │ ├── images │ │ │ │ ├── bg.gif │ │ │ │ ├── pre0.png │ │ │ │ ├── pre1.png │ │ │ │ ├── pre2.png │ │ │ │ ├── pre3.png │ │ │ │ └── pre4.png │ │ │ └── template.html │ │ ├── charts │ │ │ └── images │ │ │ │ ├── charts0.png │ │ │ │ ├── charts1.png │ │ │ │ ├── charts2.png │ │ │ │ ├── charts3.png │ │ │ │ ├── charts4.png │ │ │ │ └── charts5.png │ │ ├── help │ │ │ └── help.css │ │ └── spechars │ │ │ └── spechars.html │ │ └── third-party │ │ ├── video-js │ │ └── font │ │ │ ├── vjs.eot │ │ │ ├── vjs.ttf │ │ │ └── vjs.woff │ │ ├── snapscreen │ │ └── UEditorSnapscreen.exe │ │ ├── highcharts │ │ └── modules │ │ │ └── heatmap.js │ │ └── webuploader │ │ └── webuploader.css ├── icon.ico ├── image │ ├── baidu-pan-logo.png │ ├── theme │ │ ├── line │ │ │ ├── bg.jpg │ │ │ ├── logo │ │ │ │ ├── all.png │ │ │ │ └── icon-only.png │ │ │ └── preview@2x.png │ │ ├── star │ │ │ ├── bg.jpg │ │ │ ├── logo │ │ │ │ ├── all.png │ │ │ │ └── icon-only.png │ │ │ └── preview@2x.png │ │ ├── d2 │ │ │ ├── logo │ │ │ │ ├── all.png │ │ │ │ └── icon-only.png │ │ │ └── preview@2x.png │ │ ├── violet │ │ │ ├── logo │ │ │ │ ├── all.png │ │ │ │ └── icon-only.png │ │ │ └── preview@2x.png │ │ └── tomorrow-night-blue │ │ │ ├── logo │ │ │ ├── all.png │ │ │ └── icon-only.png │ │ │ └── preview@2x.png │ └── loading │ │ └── loading-spin.svg └── markdown │ └── demo.md ├── qshell ├── src ├── views │ ├── demo │ │ ├── d2-crud │ │ │ ├── demo24 │ │ │ │ └── doc.md │ │ │ ├── demo29 │ │ │ │ └── doc.md │ │ │ ├── demo28 │ │ │ │ └── doc.md │ │ │ ├── demo5 │ │ │ │ └── doc.md │ │ │ ├── demo8 │ │ │ │ └── doc.md │ │ │ ├── demo27 │ │ │ │ └── doc.md │ │ │ ├── demo2 │ │ │ │ └── doc.md │ │ │ ├── demo7 │ │ │ │ └── doc.md │ │ │ ├── demo4 │ │ │ │ └── doc.md │ │ │ ├── demo6 │ │ │ │ └── doc.md │ │ │ ├── demo11 │ │ │ │ └── doc.md │ │ │ ├── demo3 │ │ │ │ └── doc.md │ │ │ ├── demo10 │ │ │ │ └── doc.md │ │ │ ├── demo21 │ │ │ │ └── doc.md │ │ │ ├── demo22 │ │ │ │ └── doc.md │ │ │ ├── demo12 │ │ │ │ └── doc.md │ │ │ ├── demo30 │ │ │ │ └── doc.md │ │ │ ├── demo15 │ │ │ │ └── doc.md │ │ │ ├── demo14 │ │ │ │ └── doc.md │ │ │ ├── demo9 │ │ │ │ └── doc.md │ │ │ ├── demo1 │ │ │ │ └── doc.md │ │ │ ├── demo13 │ │ │ │ └── doc.md │ │ │ ├── demo18 │ │ │ │ └── doc.md │ │ │ ├── demo19 │ │ │ │ └── doc.md │ │ │ ├── demo31 │ │ │ │ └── doc.md │ │ │ ├── demo20 │ │ │ │ └── doc.md │ │ │ ├── demo16 │ │ │ │ └── doc.md │ │ │ ├── demo26 │ │ │ │ ├── doc.md │ │ │ │ ├── MyTag.vue │ │ │ │ └── codeComponent.js │ │ │ ├── demo17 │ │ │ │ └── doc.md │ │ │ ├── demo25 │ │ │ │ ├── doc.md │ │ │ │ └── MyTag.vue │ │ │ ├── demo23 │ │ │ │ └── doc.md │ │ │ └── index │ │ │ │ └── index.vue │ │ ├── playground │ │ │ ├── log │ │ │ │ ├── console │ │ │ │ │ └── image │ │ │ │ │ │ └── demo.png │ │ │ │ ├── error │ │ │ │ │ └── index.vue │ │ │ │ ├── ajax │ │ │ │ │ └── index.vue │ │ │ │ └── log │ │ │ │ │ └── index.vue │ │ │ ├── add-routes │ │ │ │ └── alternates │ │ │ │ │ ├── 1.vue │ │ │ │ │ ├── 2.vue │ │ │ │ │ └── 3.vue │ │ │ ├── env │ │ │ │ └── index.vue │ │ │ ├── page-cache │ │ │ │ ├── off.vue │ │ │ │ └── on.vue │ │ │ ├── store │ │ │ │ ├── fullscreen │ │ │ │ │ └── index.vue │ │ │ │ ├── ua │ │ │ │ │ └── index.vue │ │ │ │ ├── transition │ │ │ │ │ └── index.vue │ │ │ │ └── size │ │ │ │ │ └── index.vue │ │ │ ├── index │ │ │ │ └── index.vue │ │ │ ├── page-argu │ │ │ │ └── get.vue │ │ │ ├── locales │ │ │ │ └── index.vue │ │ │ └── db │ │ │ │ └── all │ │ │ │ └── index.vue │ │ ├── charts │ │ │ ├── list │ │ │ │ ├── _mixin │ │ │ │ │ └── list.js │ │ │ │ ├── gauge │ │ │ │ │ └── demo1 │ │ │ │ │ │ └── index.vue │ │ │ │ ├── waterfall │ │ │ │ │ └── demo1 │ │ │ │ │ │ └── index.vue │ │ │ │ └── funnel │ │ │ │ │ └── demo1 │ │ │ │ │ └── index.vue │ │ │ └── index │ │ │ │ └── index.vue │ │ ├── components │ │ │ ├── highlight │ │ │ │ ├── code │ │ │ │ │ ├── javascript.js │ │ │ │ │ ├── css.js │ │ │ │ │ ├── scss.js │ │ │ │ │ └── html.js │ │ │ │ └── index.vue │ │ │ ├── editor-simpleMDE │ │ │ │ ├── text.js │ │ │ │ └── index.vue │ │ │ ├── container │ │ │ │ ├── md │ │ │ │ │ ├── short.md │ │ │ │ │ └── long.md │ │ │ │ ├── full.vue │ │ │ │ ├── card.vue │ │ │ │ ├── full-slot.vue │ │ │ │ ├── card-slot.vue │ │ │ │ ├── full-bs.vue │ │ │ │ ├── card-bs.vue │ │ │ │ ├── ghost.vue │ │ │ │ ├── ghost-slot.vue │ │ │ │ └── ghost-bs.vue │ │ │ ├── markdown │ │ │ │ ├── url.vue │ │ │ │ ├── source.vue │ │ │ │ └── md │ │ │ │ │ └── doc.md │ │ │ ├── contextmenu │ │ │ │ ├── style │ │ │ │ │ └── pub.scss │ │ │ │ ├── simple.vue │ │ │ │ └── divier.vue │ │ │ ├── editor-quill │ │ │ │ └── value.js │ │ │ ├── json-tree │ │ │ │ └── index.vue │ │ │ ├── index │ │ │ │ └── index.vue │ │ │ ├── icon │ │ │ │ ├── select-svg.vue │ │ │ │ └── icon.vue │ │ │ ├── editor-ueditor │ │ │ │ └── index.vue │ │ │ └── layout │ │ │ │ └── splitpane.vue │ │ ├── frame │ │ │ ├── html │ │ │ │ └── index.vue │ │ │ ├── d2-doc │ │ │ │ └── index.vue │ │ │ └── index │ │ │ │ └── index.vue │ │ ├── plugins │ │ │ ├── mock │ │ │ │ ├── md │ │ │ │ │ └── doc.md │ │ │ │ ├── data │ │ │ │ │ └── settingDPD.js │ │ │ │ └── mixins │ │ │ │ │ ├── function.js │ │ │ │ │ └── regexp.js │ │ │ ├── index │ │ │ │ └── index.vue │ │ │ └── export │ │ │ │ ├── data │ │ │ │ └── index.js │ │ │ │ └── txt.vue │ │ ├── element │ │ │ ├── data-badge │ │ │ │ └── index.vue │ │ │ ├── data-tag │ │ │ │ └── index.vue │ │ │ ├── data-tree │ │ │ │ └── index.vue │ │ │ ├── form-form │ │ │ │ └── index.vue │ │ │ ├── form-rate │ │ │ │ └── index.vue │ │ │ ├── form-select │ │ │ │ └── index.vue │ │ │ ├── form-slider │ │ │ │ └── index.vue │ │ │ ├── form-switch │ │ │ │ └── index.vue │ │ │ ├── form-upload │ │ │ │ └── index.vue │ │ │ ├── others-card │ │ │ │ └── index.vue │ │ │ ├── data-pagination │ │ │ │ └── index.vue │ │ │ ├── data-progress │ │ │ │ └── index.vue │ │ │ ├── form-cascader │ │ │ │ └── index.vue │ │ │ ├── form-date-picker │ │ │ │ └── index.vue │ │ │ ├── form-time-picker │ │ │ │ └── index.vue │ │ │ ├── form-transfer │ │ │ │ └── index.vue │ │ │ ├── navigation-menu │ │ │ │ └── index.vue │ │ │ ├── navigation-steps │ │ │ │ └── index.vue │ │ │ ├── navigation-tabs │ │ │ │ └── index.vue │ │ │ ├── notice-alert │ │ │ │ └── index.vue │ │ │ ├── notice-loading │ │ │ │ └── index.vue │ │ │ ├── notice-message │ │ │ │ └── index.vue │ │ │ ├── others-carousel │ │ │ │ └── index.vue │ │ │ ├── others-collapse │ │ │ │ └── index.vue │ │ │ ├── others-dialog │ │ │ │ └── index.vue │ │ │ ├── others-popover │ │ │ │ └── index.vue │ │ │ ├── others-tooltip │ │ │ │ └── index.vue │ │ │ ├── form-color-picker │ │ │ │ └── index.vue │ │ │ ├── form-datetime-picker │ │ │ │ └── index.vue │ │ │ ├── form-input-number │ │ │ │ └── index.vue │ │ │ ├── navigation-breadcrumb │ │ │ │ └── index.vue │ │ │ ├── navigation-dropdown │ │ │ │ └── index.vue │ │ │ ├── notice-message-box │ │ │ │ └── index.vue │ │ │ ├── notice-notification │ │ │ │ └── index.vue │ │ │ ├── index │ │ │ │ └── index.vue │ │ │ └── basic-icon │ │ │ │ └── index.vue │ │ └── business │ │ │ ├── index │ │ │ └── index.vue │ │ │ └── table │ │ │ └── 1 │ │ │ └── componnets │ │ │ └── PageFooter │ │ │ └── index.vue │ └── system │ │ ├── index │ │ ├── index.js │ │ ├── image │ │ │ └── qr@2x.png │ │ └── components │ │ │ ├── d2-help │ │ │ └── image │ │ │ │ ├── qq.png │ │ │ │ └── we.png │ │ │ └── d2-page-cover │ │ │ └── image │ │ │ └── darkblue@2x.png │ │ ├── login │ │ ├── index.js │ │ └── image │ │ │ ├── logo@2x.png │ │ │ └── login-code.png │ │ ├── function │ │ ├── refresh │ │ │ └── index.js │ │ └── redirect │ │ │ └── index.js │ │ └── error │ │ └── 404 │ │ └── index.vue ├── assets │ ├── style │ │ ├── theme │ │ │ ├── d2 │ │ │ │ └── index.scss │ │ │ ├── line │ │ │ │ └── index.scss │ │ │ ├── star │ │ │ │ └── index.scss │ │ │ ├── tomorrow-night-blue │ │ │ │ └── index.scss │ │ │ ├── violet │ │ │ │ └── index.scss │ │ │ └── register.scss │ │ ├── fixed │ │ │ ├── tree-view.scss │ │ │ ├── markdown.scss │ │ │ ├── vue-splitpane.scss │ │ │ ├── n-progress.scss │ │ │ ├── vue-grid-layout.scss │ │ │ ├── base.scss │ │ │ └── element.scss │ │ ├── unit │ │ │ └── color.scss │ │ ├── animate │ │ │ └── vue-transition.scss │ │ └── public.scss │ └── svg-icons │ │ ├── index.js │ │ └── icons │ │ ├── search.svg │ │ ├── history.svg │ │ ├── add.svg │ │ ├── love.svg │ │ ├── camera.svg │ │ ├── like.svg │ │ ├── star.svg │ │ ├── message.svg │ │ ├── user.svg │ │ ├── share.svg │ │ └── notice.svg ├── layout │ └── header-aside │ │ ├── index.js │ │ └── components │ │ ├── header-search │ │ └── index.vue │ │ ├── mixin │ │ └── menu.js │ │ ├── header-fullscreen │ │ └── index.vue │ │ ├── header-user │ │ └── index.vue │ │ ├── header-color │ │ └── index.vue │ │ └── header-theme │ │ └── index.vue ├── libs │ ├── util.import.production.js │ ├── util.import.development.js │ └── util.js ├── components │ ├── highlight-styles │ │ ├── pojoaque.jpg │ │ ├── school-book.png │ │ ├── brown-papersq.png │ │ ├── darkula.css │ │ ├── ascetic.css │ │ └── mono-blue.css │ ├── d2-icon │ │ ├── font-awesome-4.7.0 │ │ │ └── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ └── index.vue │ ├── d2-ueditor │ │ ├── ueditor.config.js │ │ ├── button │ │ │ └── d2admin.js │ │ └── index.vue │ ├── d2-icon-svg │ │ └── index.vue │ ├── d2-module-index-menu │ │ ├── components │ │ │ └── item.vue │ │ └── index.vue │ ├── d2-container-frame │ │ └── index.vue │ ├── d2-container │ │ └── components │ │ │ ├── d2-container-full-bs.vue │ │ │ ├── d2-container-ghost-bs.vue │ │ │ ├── d2-container-card-bs.vue │ │ │ ├── d2-container-full.vue │ │ │ ├── d2-container-ghost.vue │ │ │ └── d2-container-card.vue │ └── d2-link-btn │ │ └── index.vue ├── plugin │ ├── open │ │ └── index.js │ ├── log │ │ └── index.js │ ├── error │ │ └── index.js │ └── d2admin │ │ └── index.js ├── api │ ├── demo.playground.log.ajax.js │ ├── sys.login.js │ ├── demo.plugins.mocks.ajax.js │ ├── components.markdown.js │ ├── demo.business.table.1.js │ └── demo.business.issues.142.js ├── store │ ├── index.js │ └── modules │ │ └── d2admin │ │ ├── modules │ │ ├── ua.js │ │ ├── gray.js │ │ └── releases.js │ │ └── index.js ├── locales │ ├── zh-chs.json │ ├── zh-cht.json │ ├── ja.json │ └── en.json ├── mock │ ├── index.js │ ├── d2-mock │ │ └── patch │ │ │ └── withCredentials.js │ └── api │ │ ├── demo.plugins.mock.ajax.js │ │ ├── demo.business.table.1.js │ │ ├── demo.business.issues.142.js │ │ └── sys.login.js ├── menu │ └── modules │ │ ├── demo-frame.js │ │ └── demo-business.js ├── App.vue ├── router │ └── modules │ │ └── frame.js └── i18n.js ├── .env.development ├── .postcssrc.js ├── doc └── image │ ├── banner.png │ ├── join@2x.png │ ├── js-now@2x.png │ ├── d2-admin@2x.png │ ├── reward-me@2x.png │ └── give-a-star@2x.png ├── tools └── vue-filename-injector │ ├── index.js │ ├── src │ ├── lib │ │ ├── loader.js │ │ ├── config.js │ │ └── injector.js │ └── index.js │ └── README.md ├── .env.nomock ├── tests └── unit │ ├── .eslintrc.js │ ├── d2-icon-svg.spec.js │ ├── d2-icon.spec.js │ ├── d2-link-btn.spec.js │ ├── d2-module-index-banner.spec.js │ ├── d2-container-frame.spec.js │ └── d2-source.spec.js ├── babel.config.js ├── .env.netlify ├── .env.travis ├── .github └── ISSUE_TEMPLATE │ ├── bug.md │ ├── update.md │ ├── demo.md │ ├── display.md │ ├── doc.md │ ├── feature.md │ ├── question.md │ └── other.md ├── .env ├── .eslintignore ├── .gitignore ├── jsconfig.json ├── .eslintrc.js ├── jest.config.js ├── .travis.yml └── qiniu-config /cdnrefresh-dirs.txt: -------------------------------------------------------------------------------- 1 | https://d2admin.fairyever.com/ -------------------------------------------------------------------------------- /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 8 4 | -------------------------------------------------------------------------------- /public/lib/UEditor/themes/iframe.css: -------------------------------------------------------------------------------- 1 | /*可以在这里添加你自己的css*/ 2 | -------------------------------------------------------------------------------- /qshell: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/qshell -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo24/doc.md: -------------------------------------------------------------------------------- 1 | `header` slot 可以在表头添加自定义内容。代码如下: 2 | -------------------------------------------------------------------------------- /.env.development: -------------------------------------------------------------------------------- 1 | # 开发环境 2 | 3 | # 页面 title 前缀 4 | VUE_APP_TITLE=D2Admin Dev 5 | -------------------------------------------------------------------------------- /public/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/icon.ico -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo29/doc.md: -------------------------------------------------------------------------------- 1 | 在 `D2 Crud` 组件中传入 `pagination` 对象,即可开启分页。代码如下: 2 | -------------------------------------------------------------------------------- /.postcssrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {} 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /doc/image/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/banner.png -------------------------------------------------------------------------------- /doc/image/join@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/join@2x.png -------------------------------------------------------------------------------- /src/views/system/index/index.js: -------------------------------------------------------------------------------- 1 | import page from './page' 2 | 3 | export default page 4 | -------------------------------------------------------------------------------- /src/views/system/login/index.js: -------------------------------------------------------------------------------- 1 | import page from './page' 2 | 3 | export default page 4 | -------------------------------------------------------------------------------- /doc/image/js-now@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/js-now@2x.png -------------------------------------------------------------------------------- /src/assets/style/theme/d2/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting.scss'; 2 | @import '../theme.scss'; 3 | -------------------------------------------------------------------------------- /src/assets/style/theme/line/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting.scss'; 2 | @import '../theme.scss'; 3 | -------------------------------------------------------------------------------- /src/assets/style/theme/star/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting.scss'; 2 | @import '../theme.scss'; 3 | -------------------------------------------------------------------------------- /src/layout/header-aside/index.js: -------------------------------------------------------------------------------- 1 | import layout from './layout' 2 | 3 | export default layout 4 | -------------------------------------------------------------------------------- /src/libs/util.import.production.js: -------------------------------------------------------------------------------- 1 | module.exports = file => () => import('@/views/' + file) 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo28/doc.md: -------------------------------------------------------------------------------- 1 | 在 `D2 Crud` 组件中传入 `loading-options` ,即可自定义表格加载状态。代码如下: 2 | -------------------------------------------------------------------------------- /doc/image/d2-admin@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/d2-admin@2x.png -------------------------------------------------------------------------------- /doc/image/reward-me@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/reward-me@2x.png -------------------------------------------------------------------------------- /src/libs/util.import.development.js: -------------------------------------------------------------------------------- 1 | module.exports = file => require('@/views/' + file).default 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo5/doc.md: -------------------------------------------------------------------------------- 1 | 只要在 `options` 对象中定义了 `height` 属性,即可实现固定表头的表格,而不需要额外的代码。代码如下: 2 | -------------------------------------------------------------------------------- /tools/vue-filename-injector/index.js: -------------------------------------------------------------------------------- 1 | const all = require('./src/index.js') 2 | module.exports = all 3 | -------------------------------------------------------------------------------- /doc/image/give-a-star@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/doc/image/give-a-star@2x.png -------------------------------------------------------------------------------- /public/image/baidu-pan-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/baidu-pan-logo.png -------------------------------------------------------------------------------- /public/image/theme/line/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/line/bg.jpg -------------------------------------------------------------------------------- /public/image/theme/star/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/star/bg.jpg -------------------------------------------------------------------------------- /src/assets/style/theme/tomorrow-night-blue/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting.scss'; 2 | @import '../theme.scss'; 3 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo8/doc.md: -------------------------------------------------------------------------------- 1 | 数据结构比较复杂的时候,可使用多级表头来展现数据的层次关系,只需在 `columns` 中使用 `children` 字段对子级表头进行嵌套即可。代码如下: 2 | -------------------------------------------------------------------------------- /public/image/theme/d2/logo/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/d2/logo/all.png -------------------------------------------------------------------------------- /public/image/theme/d2/preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/d2/preview@2x.png -------------------------------------------------------------------------------- /public/image/theme/line/logo/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/line/logo/all.png -------------------------------------------------------------------------------- /public/image/theme/star/logo/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/star/logo/all.png -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/lib/json.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/jsp/lib/json.jar -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo27/doc.md: -------------------------------------------------------------------------------- 1 | 在 `D2 Crud` 组件中传入 `loading` ,即可控制表格加载状态,`loading` 的可选值为 `true` 和 `false`。代码如下: 2 | -------------------------------------------------------------------------------- /.env.nomock: -------------------------------------------------------------------------------- 1 | # No Mock 构建 2 | 3 | # 指定构建模式 4 | NODE_ENV=production 5 | 6 | # 标记当前是 No Mock 构建 7 | VUE_APP_BUILD_MODE=NOMOCK 8 | -------------------------------------------------------------------------------- /public/image/theme/line/preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/line/preview@2x.png -------------------------------------------------------------------------------- /public/image/theme/star/preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/star/preview@2x.png -------------------------------------------------------------------------------- /public/image/theme/violet/logo/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/violet/logo/all.png -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo2/doc.md: -------------------------------------------------------------------------------- 1 | `options` 对象可以对表格进行配置,其中 `stripe` 属性可以创建带斑马纹的表格。它接受一个 `Boolean` ,设置为 `true` 即为启用。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo7/doc.md: -------------------------------------------------------------------------------- 1 | 通过在 `options` 对象设置 `maxHeight` 属性为 `D2 Crud` 指定最大高度。此时若表格所需的高度大于最大高度,则会显示一个滚动条。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/system/index/image/qr@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/index/image/qr@2x.png -------------------------------------------------------------------------------- /public/image/theme/d2/logo/icon-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/d2/logo/icon-only.png -------------------------------------------------------------------------------- /public/image/theme/violet/preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/violet/preview@2x.png -------------------------------------------------------------------------------- /src/views/system/login/image/logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/login/image/logo@2x.png -------------------------------------------------------------------------------- /public/image/theme/line/logo/icon-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/line/logo/icon-only.png -------------------------------------------------------------------------------- /public/image/theme/star/logo/icon-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/star/logo/icon-only.png -------------------------------------------------------------------------------- /public/lib/UEditor/button-icon/d2admin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/button-icon/d2admin.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/copy.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/music.png -------------------------------------------------------------------------------- /src/assets/style/fixed/tree-view.scss: -------------------------------------------------------------------------------- 1 | .tree-view-wrapper.tree-view-small { 2 | .tree-view-item { 3 | font-size: 10px; 4 | } 5 | } -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo4/doc.md: -------------------------------------------------------------------------------- 1 | 可以通过指定 `D2 Crud` 组件 `options` 对象中的 `rowClassName` 属性来为 `D2 Crud` 中的某一行添加 `class` ,表明该行处于某种状态。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo6/doc.md: -------------------------------------------------------------------------------- 1 | 固定列需要在 `columns` 对象数组中给需要固定的列传入 `fixed` 属性,它接受 `Boolean` 值或者 `left` `right` ,表示左边固定还是右边固定。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/system/login/image/login-code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/login/image/login-code.png -------------------------------------------------------------------------------- /tools/vue-filename-injector/src/lib/loader.js: -------------------------------------------------------------------------------- 1 | module.exports = function (source, map) { 2 | this.callback(null, source, map) 3 | } 4 | -------------------------------------------------------------------------------- /public/image/theme/violet/logo/icon-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/violet/logo/icon-only.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/table/dragicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/table/dragicon.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/lib/commons-io-2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/jsp/lib/commons-io-2.4.jar -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/lib/ueditor-1.1.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/jsp/lib/ueditor-1.1.2.jar -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/addimage.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/button.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/upload.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/zh-cn/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/zh-cn/images/copy.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/zh-cn/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/zh-cn/images/music.png -------------------------------------------------------------------------------- /src/components/highlight-styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/highlight-styles/pojoaque.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/lib/commons-codec-1.9.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/jsp/lib/commons-codec-1.9.jar -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/background.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/localimage.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/zh-cn/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/zh-cn/images/upload.png -------------------------------------------------------------------------------- /src/components/highlight-styles/school-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/highlight-styles/school-book.png -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo11/doc.md: -------------------------------------------------------------------------------- 1 | 在 `columns` 中设置 `sortable` 属性为 `true` ,即可实现以该列为基准的排序。可以通过 `options` 的 `defaultSort` 属性设置默认的排序列和排序顺序。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo3/doc.md: -------------------------------------------------------------------------------- 1 | 默认情况下, `D2 Crud` 是不具有竖直方向的边框的,如果需要,可以在 `options` 对象中传入一个 `border` 属性,它接受一个 `Boolean` ,设置为 `true` 即可启用。代码如下: 2 | -------------------------------------------------------------------------------- /public/image/theme/tomorrow-night-blue/logo/all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/tomorrow-night-blue/logo/all.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/background/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/background/images/bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/image.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/success.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/success.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/addimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/addimg.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/brush.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/delimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/delimg.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/empty.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/emptyH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/emptyH.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/eraser.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/redo.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/redoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/redoH.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/scale.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/scaleH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/scaleH.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/size.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/undo.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/undoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/undoH.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/bg.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/pre0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/pre0.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/pre1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/pre1.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/pre2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/pre2.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/pre3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/pre3.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/template/images/pre4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/template/images/pre4.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/image.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/success.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/success.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/deletedisable.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/deleteenable.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/zh-cn/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/zh-cn/images/localimage.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/anchor.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/arrow.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/charts.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/lock.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/scale.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/upload.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/word.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/word.gif -------------------------------------------------------------------------------- /src/components/highlight-styles/brown-papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/highlight-styles/brown-papersq.png -------------------------------------------------------------------------------- /public/image/theme/tomorrow-night-blue/preview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/tomorrow-night-blue/preview@2x.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts0.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts1.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts2.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts3.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts4.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/charts/images/charts5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/charts/images/charts5.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/alignicon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/alignicon.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/image/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/image/images/progress.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/scrawl/images/delimgH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/scrawl/images/delimgH.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/progress.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/listbackground.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/arrow_up.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/cursor_h.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/cursor_h.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/cursor_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/cursor_h.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/cursor_v.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/cursor_v.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/cursor_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/cursor_v.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/filescan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/filescan.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/loading.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/sortable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/sortable.png -------------------------------------------------------------------------------- /public/lib/UEditor/third-party/video-js/font/vjs.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/third-party/video-js/font/vjs.eot -------------------------------------------------------------------------------- /public/lib/UEditor/third-party/video-js/font/vjs.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/third-party/video-js/font/vjs.ttf -------------------------------------------------------------------------------- /public/lib/UEditor/third-party/video-js/font/vjs.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/third-party/video-js/font/vjs.woff -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo10/doc.md: -------------------------------------------------------------------------------- 1 | `D2 Crud` 组件提供了多选的支持,只需要配置 `selection-row` 属性即可实现多选。之后由 `selection-change` 事件来管理选择项发生变化时触发的事件,它会传入 `selection` 。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/playground/log/console/image/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/demo/playground/log/console/image/demo.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/image.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/success.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/success.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/background/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/background/images/success.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/file-icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/file-icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/lib/commons-fileupload-1.3.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/jsp/lib/commons-fileupload-1.3.1.jar -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/rotateleftdisable.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/rotateleftenable.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/rotaterightdisable.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/rotaterightenable.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/arrow_down.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/button-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/button-bg.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/highlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/highlighted.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/icons-all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/icons-all.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/loaderror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/loaderror.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/pagebreak.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/sparator_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/sparator_v.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/toolbar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/toolbar_bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/wordpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/wordpaste.png -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo21/doc.md: -------------------------------------------------------------------------------- 1 | 向 `form-options` 中传入 `gutter` 属性来控制栅格间隔,向 `add-template` 或 `edit-template` 的 `component` 对象传入 `span` 属性来控制栅格占据的列数。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/system/index/components/d2-help/image/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/index/components/d2-help/image/qq.png -------------------------------------------------------------------------------- /src/views/system/index/components/d2-help/image/we.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/index/components/d2-help/image/we.png -------------------------------------------------------------------------------- /tests/unit/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | jest: true 4 | }, 5 | rules: { 6 | 'import/no-extraneous-dependencies': 'off' 7 | } 8 | } -------------------------------------------------------------------------------- /public/image/theme/tomorrow-night-blue/logo/icon-only.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/image/theme/tomorrow-night-blue/logo/icon-only.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/alignicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/alignicon.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/alignicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/alignicon.png -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/progress.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/cancelbutton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/cancelbutton.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/unhighlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/unhighlighted.gif -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app' 4 | ], 5 | // 允许两种编码引入方式共存,也就是 common 规范与 es6 规范的共存处理 6 | sourceType: 'unambiguous' 7 | } 8 | -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/file-icons.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/images/file-icons.png -------------------------------------------------------------------------------- /public/lib/UEditor/lang/en/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/lang/en/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/dialog-title-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/dialog-title-bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/table-cell-align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/table-cell-align.png -------------------------------------------------------------------------------- /src/plugin/open/index.js: -------------------------------------------------------------------------------- 1 | import util from '@/libs/util' 2 | 3 | export default { 4 | install (Vue, options) { 5 | Vue.prototype.$open = util.open 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo22/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `D2 Crud` 传入 `add-rules` 或 `edit-rules` 可开启新增/修改表单校验,校验规则参见:[async-validator](https://github.com/yiminghe/async-validator)。代码如下: 2 | -------------------------------------------------------------------------------- /.env.netlify: -------------------------------------------------------------------------------- 1 | # travis 2 | 3 | # 指定构建模式 4 | NODE_ENV=production 5 | 6 | # 标记当前构建方式 7 | VUE_APP_BUILD_MODE=NETLIFY 8 | 9 | # 显示源码按钮 10 | VUE_APP_SCOURCE_LINK=TRUE 11 | -------------------------------------------------------------------------------- /.env.travis: -------------------------------------------------------------------------------- 1 | # travis 2 | 3 | # 指定构建模式 4 | NODE_ENV=production 5 | 6 | # 标记当前构建方式 7 | VUE_APP_BUILD_MODE=TRAVIS 8 | 9 | # 显示源码按钮 10 | VUE_APP_SCOURCE_LINK=TRUE 11 | -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /public/lib/UEditor/third-party/snapscreen/UEditorSnapscreen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/third-party/snapscreen/UEditorSnapscreen.exe -------------------------------------------------------------------------------- /src/assets/style/fixed/markdown.scss: -------------------------------------------------------------------------------- 1 | // markdown 样式补丁 2 | .markdown-body { 3 | ul { 4 | list-style: disc; 5 | } 6 | h1, h2 { 7 | border-bottom: none; 8 | } 9 | } -------------------------------------------------------------------------------- /src/assets/style/fixed/vue-splitpane.scss: -------------------------------------------------------------------------------- 1 | // vue-splitpane 样式补丁 2 | .splitter-pane-resizer { 3 | background-color: $color-border-1 !important; 4 | opacity: 1 !important; 5 | } -------------------------------------------------------------------------------- /src/components/d2-icon/font-awesome-4.7.0/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/d2-icon/font-awesome-4.7.0/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_chm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_chm.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_doc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_doc.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_exe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_exe.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_jpg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_jpg.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_mp3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_mp3.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_mv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_mv.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_pdf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_pdf.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_ppt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_ppt.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_psd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_psd.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_rar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_rar.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_txt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_txt.gif -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_xls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_xls.gif -------------------------------------------------------------------------------- /public/lib/UEditor/themes/default/images/tangram-colorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/themes/default/images/tangram-colorpicker.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "👾 BUG" 3 | about: 代码错误 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 👾 BUG | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo12/doc.md: -------------------------------------------------------------------------------- 1 | 在 `columns` 中设置 `filters` `filterMethod` 属性即可开启该列的筛选,`filters` 是一个数组, `filterMethod` 是一个方法,它用于决定某些数据是否显示,会传入三个参数:`value`, `row` 和 `column`。代码如下: 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/update.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "⚙ 功能升级" 3 | about: 升级某个功能 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | ⚙ 功能升级 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/public/lib/UEditor/dialogs/attachment/fileTypeImages/icon_default.png -------------------------------------------------------------------------------- /src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /src/views/demo/charts/list/_mixin/list.js: -------------------------------------------------------------------------------- 1 | export default { 2 | data () { 3 | return { 4 | pubSetting: { 5 | height: '100%' 6 | } 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/views/demo/components/highlight/code/javascript.js: -------------------------------------------------------------------------------- 1 | export default `[].forEach.call($$("*"), a => { 2 | a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) 3 | })` 4 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo30/doc.md: -------------------------------------------------------------------------------- 1 | 通过 `form-data-change` 事件可以监听表单内的数据变化,监听在crud内部是通过change事件触发的(这意味着input类组件失去焦点才会触发事件,单纯输入不会触发),接收一个对象参数 {key, value},`key` 为改变的字段,`value` 为改变后的值。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/system/index/components/d2-page-cover/image/darkblue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/views/system/index/components/d2-page-cover/image/darkblue@2x.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/demo.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "🎮 示例相关" 3 | about: 增加或者完善示例 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 🎮 示例相关 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/display.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "🌈 显示优化" 3 | about: 显示方面调整 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 🌈 显示优化 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/doc.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "📔 文档相关" 3 | about: 更新或者新增文档内容 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 📔 文档相关 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "🔩 功能开发" 3 | about: 开发新的功能 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 🔩 功能开发 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "🤔 提问" 3 | about: 提出使用方面的问题 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 🤔 提问 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icai/d2-admin/master/src/components/d2-icon/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /src/views/demo/components/highlight/code/css.js: -------------------------------------------------------------------------------- 1 | export default `body { 2 | background-color: aliceblue; 3 | height: 100%; 4 | } 5 | .my-card { 6 | height: 300px; 7 | width: 300px; 8 | }` 9 | -------------------------------------------------------------------------------- /tools/vue-filename-injector/src/lib/config.js: -------------------------------------------------------------------------------- 1 | const defaultPropName = '__source' 2 | const blockName = 'vue-filename-injector' 3 | 4 | module.exports = { 5 | defaultPropName, 6 | blockName 7 | } 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/other.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "🖐 其它问题" 3 | about: 其它类型的 issue 请使用该模板 4 | --- 5 | 6 | ``` 7 | 为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分 8 | 🖐 其它问题 | 你的标题 9 | ``` 10 | 11 | 如果需要,在这里描述具体内容 -------------------------------------------------------------------------------- /src/views/demo/components/highlight/code/scss.js: -------------------------------------------------------------------------------- 1 | export default `body { 2 | background-color: aliceblue; 3 | height: 100%; 4 | .my-card { 5 | height: 300px; 6 | width: 300px; 7 | } 8 | }` 9 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo15/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `options` 传入 `spanMethod` 方法可以实现合并行,方法的参数是一个对象,里面包含当前行 `row` 、当前列 `column` 、当前行号 `rowIndex` 、当前列号 `columnIndex` 四个属性。该函数可以返回一个键名为 `rowspan` 和 `colspan` 的对象。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/playground/add-routes/alternates/1.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/views/demo/playground/add-routes/alternates/2.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/views/demo/playground/add-routes/alternates/3.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | VUE_APP_TITLE=D2Admin 2 | VUE_APP_API=/api/ 3 | VUE_APP_REPO=https://github.com/d2-projects/d2-admin 4 | VUE_APP_I18N_LOCALE=zh-chs 5 | VUE_APP_I18N_FALLBACK_LOCALE=en 6 | VUE_APP_ELEMENT_COLOR=#409EFF 7 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | # 忽略目录 2 | build/ 3 | tests/ 4 | node_modules/ 5 | 6 | # D2CRUD 演示 7 | src/views/demo/d2-crud/ 8 | 9 | # node 覆盖率文件 10 | coverage/ 11 | 12 | # 忽略文件 13 | **/*-min.js 14 | **/*.min.js 15 | -------------------------------------------------------------------------------- /src/api/demo.playground.log.ajax.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function getInvalidUrl () { 4 | return request({ 5 | url: '/invalid-url', 6 | method: 'get' 7 | }) 8 | } 9 | -------------------------------------------------------------------------------- /src/views/system/function/refresh/index.js: -------------------------------------------------------------------------------- 1 | export default { 2 | beforeRouteEnter (to, from, next) { 3 | next(instance => instance.$router.replace(from.fullPath)) 4 | }, 5 | render: h => h() 6 | } 7 | -------------------------------------------------------------------------------- /src/api/sys.login.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function AccountLogin (data) { 4 | return request({ 5 | url: '/login', 6 | method: 'post', 7 | data 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/views/demo/components/highlight/code/html.js: -------------------------------------------------------------------------------- 1 | export default `` 9 | -------------------------------------------------------------------------------- /src/api/demo.plugins.mocks.ajax.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function PluginMocksAjax () { 4 | return request({ 5 | url: '/demo/plugins/mock/ajax', 6 | method: 'get' 7 | }) 8 | } 9 | -------------------------------------------------------------------------------- /src/components/highlight-styles/darkula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Deprecated due to a typo in the name and left here for compatibility purpose only. 3 | Please use darcula.css instead. 4 | */ 5 | 6 | @import url('darcula.css'); 7 | -------------------------------------------------------------------------------- /src/assets/style/fixed/n-progress.scss: -------------------------------------------------------------------------------- 1 | #nprogress { 2 | .bar { 3 | background: $color-primary !important; 4 | } 5 | .peg { 6 | box-shadow: 0 0 10px $color-primary, 0 0 5px $color-primary !important; 7 | } 8 | } -------------------------------------------------------------------------------- /src/views/demo/components/editor-simpleMDE/text.js: -------------------------------------------------------------------------------- 1 | export default `# 标题 2 | 3 | - 列表 4 | - 列表 5 | 6 | \`\`\` 7 | alert('Hello') 8 | \`\`\` 9 | 10 | [D2Admin in github](https://github.com/d2-projects/d2-admin)` 11 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo14/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `options` 传入 `spanMethod` 方法可以实现合并行,方法的参数是一个对象,里面包含当前行 `row` 、当前列 `column` 、当前行号 `rowIndex` 、当前列号 `columnIndex` 四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表 `rowspan` ,第二个元素代表 `colspan` 。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo9/doc.md: -------------------------------------------------------------------------------- 1 | `D2 Crud` 组件提供了单选的支持,只需要在 `options` 对象中将 `highlightCurrentRow` 属性设为 `true` 即可实现单选。之后由 `current-change` 事件来管理选中时触发的事件,它会传入 `currentRow` 和 `oldCurrentRow`。如果需要显示索引,需要配置 `index-row` 属性。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/system/function/redirect/index.js: -------------------------------------------------------------------------------- 1 | export default { 2 | beforeRouteEnter (to, from, next) { 3 | next(instance => instance.$router.replace(JSON.parse(from.params.route))) 4 | }, 5 | render: h => h() 6 | } 7 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo1/doc.md: -------------------------------------------------------------------------------- 1 | 在 `D2 Crud` 组件中传入 `columns` 和 `data` 对象数组,即可创建一个最基础的表格,`columns` 中的 `key` 需要与 `data` 中对象的key严格对照,可以在 `columns` 对象中传入 `width` 属性来控制列宽。当表格中的数据通过操作变化时,可以通过 `this.$refs.d2Crud.d2CrudData` 拿到变化后的表格数据。代码如下: 2 | -------------------------------------------------------------------------------- /src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | import d2admin from './modules/d2admin' 5 | 6 | Vue.use(Vuex) 7 | 8 | export default new Vuex.Store({ 9 | modules: { 10 | d2admin 11 | } 12 | }) 13 | -------------------------------------------------------------------------------- /src/api/components.markdown.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function ComponentsMarkdownBase (url) { 4 | return request({ 5 | baseURL: process.env.BASE_URL, 6 | url, 7 | method: 'get' 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo13/doc.md: -------------------------------------------------------------------------------- 1 | 将 `options` 中的 `showSummary` 设置为 `true` 就会在表格尾部展示合计行。默认情况下,对于合计行,第一列不进行数据求合操作,而是显示「合计」二字(可通过 `sumText` 配置),其余列会将本列所有数值进行求合操作,并显示出来。当然,你也可以定义自己的合计逻辑。使用 `summaryMethod` 并传入一个方法,返回一个数组,这个数组中的各项就会显示在合计行的各列中。代码如下: 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # Log files 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # Editor directories and files 11 | .idea 12 | .vscode 13 | *.suo 14 | *.ntvs* 15 | *.njsproj 16 | *.sln 17 | *.sw* -------------------------------------------------------------------------------- /src/api/demo.business.table.1.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function BusinessTable1List (params) { 4 | return request({ 5 | url: '/demo/business/table/1/fetch', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /src/assets/style/fixed/vue-grid-layout.scss: -------------------------------------------------------------------------------- 1 | // vue-splitpane 样式补丁 2 | .vue-grid-item { 3 | &.vue-grid-placeholder { 4 | border: 1px solid $color-border-1; 5 | background-color: rgba(#FFF, .3); 6 | opacity: 1; 7 | border-radius: 4px; 8 | } 9 | } -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo18/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `D2 Crud` 传入 `rowHandle` 可开启表格操作列,传入 `remove` 对象可以开启删除模式,`confirm` 属性的值为 `Boolean` 类型,控制删除前是否弹出confirm框进行提示, `row-remove` 事件控制数据删除,参数: `index` 是当前删除行的索引, `row` 是当前删除行的数据, `done` 用于控制删除成功,可以在 `done()` 之前加入自己的逻辑代码。代码如下: 2 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2017", 4 | "allowSyntheticDefaultImports": false, 5 | "baseUrl": "./", 6 | "paths": { 7 | "@/*": ["src/*"] 8 | } 9 | }, 10 | "exclude": ["node_modules", "dist"] 11 | } 12 | -------------------------------------------------------------------------------- /src/views/demo/components/container/md/short.md: -------------------------------------------------------------------------------- 1 | ## vue.js 2 | 3 | **易用** 4 | 5 | 已经会了 HTML、CSS、JavaScript?即刻阅读指南开始构建应用! 6 | 7 | **灵活** 8 | 9 | 不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。 10 | 11 | **高效** 12 | 13 | 20kB min+gzip 运行大小 14 | 15 | 超快虚拟 DOM 16 | 17 | 最省心的优化 -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo19/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `D2 Crud` 传入 `rowHandle` 可开启表格操作列,传入 `custom` 数组对象可以自定义模式,数组中每一个对象定义一个自定义按钮,对象属性支持所有的 `el-button` 属性, `emit` 属性定义了监听的事件,例如 `emit` 的值为 `custom-emit-1`,就在 `D2 Crud` 中监听 `custom-emit-1` 事件 监听的事件参数: `index` 是当前行的索引, `row` 是当前行的数据。代码如下: 2 | -------------------------------------------------------------------------------- /src/assets/style/theme/violet/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting.scss'; 2 | @import '../theme.scss'; 3 | 4 | .theme-#{$theme-name} { 5 | .d2-layout-header-aside-group { 6 | background: #bc00e3; 7 | background: linear-gradient(120deg, #bc00e3 0%, #4EFFFB 100%); 8 | } 9 | } -------------------------------------------------------------------------------- /src/locales/zh-chs.json: -------------------------------------------------------------------------------- 1 | { 2 | "_name": "简体中文", 3 | "page": { 4 | "demo": { 5 | "playground": { 6 | "locales": { 7 | "text": "D2Admin 是一个完全 开源免费 的企业中后台产品前端集成方案,使用最新的前端技术栈,已经做好大部分项目前期准备工作,并且带有大量示例代码,助力管理系统敏捷开发。" 8 | } 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/locales/zh-cht.json: -------------------------------------------------------------------------------- 1 | { 2 | "_name": "繁體中文", 3 | "page": { 4 | "demo": { 5 | "playground": { 6 | "locales": { 7 | "text": "D2Admin 是一個完全 開源免費 的企業中後台產品前端集成方案,使用最新的前端技術棧,已經做好大部分項目前期準備工作,並且帶有大量示例代碼,助力管理系統敏捷開發。" 8 | } 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/views/demo/frame/html/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /src/views/demo/plugins/mock/md/doc.md: -------------------------------------------------------------------------------- 1 | 你可以点击每个演示卡片右上角的刷新按钮检查每次 `mock` 不同的结果 2 | 3 | 官方演示页面 [http://mockjs.com/examples.html](http://mockjs.com/examples.html) 4 | 5 | 官方 `Wiki` [https://github.com/nuysoft/Mock/wiki/Getting-Started](https://github.com/nuysoft/Mock/wiki/Getting-Started) -------------------------------------------------------------------------------- /src/views/demo/frame/d2-doc/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 14 | -------------------------------------------------------------------------------- /src/assets/svg-icons/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | const requireAll = requireContext => requireContext.keys().map(requireContext) 4 | const req = require.context('./icons', false, /\.svg$/) 5 | const iconMap = requireAll(req) 6 | 7 | Vue.prototype.$IconSvg = iconMap.map(e => e.default.id.slice(3)) 8 | -------------------------------------------------------------------------------- /src/components/d2-ueditor/ueditor.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | UEDITOR_HOME_URL: '/lib/UEditor/', 3 | // 编辑器不自动被内容撑高 4 | autoHeightEnabled: false, 5 | // 初始容器高度 6 | initialFrameHeight: 240, 7 | // 初始容器宽度 8 | initialFrameWidth: '100%', 9 | // 关闭自动保存 10 | enableAutoSave: false 11 | } 12 | -------------------------------------------------------------------------------- /src/mock/index.js: -------------------------------------------------------------------------------- 1 | import d2Mock from './d2-mock' 2 | 3 | const req = context => context.keys().map(context) 4 | const options = req(require.context('./api/', true, /\.js$/)) 5 | .filter(e => e.default) 6 | .map(e => e.default) 7 | 8 | options.forEach(option => { 9 | d2Mock.load(option) 10 | }) 11 | -------------------------------------------------------------------------------- /src/locales/ja.json: -------------------------------------------------------------------------------- 1 | { 2 | "_name": "日本語", 3 | "page": { 4 | "demo": { 5 | "playground": { 6 | "locales": { 7 | "text": "D2Adminは、最新のフロントエンドテクノロジースタックを使用した、完全にオープンソースの無料エンタープライズバックエンド製品フロントエンド統合ソリューションであり、プロジェクトのほとんどの準備を整えており、システムのアジャイル開発の管理に役立つ多くのサンプルコードを備えています。" 8 | } 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/assets/style/fixed/base.scss: -------------------------------------------------------------------------------- 1 | // 优化显示 2 | html, body { 3 | margin: 0px; 4 | height: 100%; 5 | font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif; 6 | #app { 7 | @extend %full; 8 | a { 9 | text-decoration: none; 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo31/doc.md: -------------------------------------------------------------------------------- 1 | `D2 Crud` 向外部暴露了一些方法,除了之前介绍过的 `showDialog` 和 `closeDialog` 方法,还有以下几个常用方法: 2 | - updateCell 3 | * 更新单元格 4 | * 参数:rowIndex, key, value 5 | - updateRow 6 | * 更新行 7 | * 参数:index, row 8 | - addRow 9 | * 新增一行 10 | * 参数:row 11 | - removeRow 12 | * 删除一行 13 | * 参数:index 14 | 15 | 代码如下: 16 | -------------------------------------------------------------------------------- /src/views/demo/plugins/mock/data/settingDPD.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | export default [ 3 | // 字符串 4 | { 5 | title: "占位符演示", 6 | json: { 7 | "name": { 8 | first: '@FIRST', 9 | middle: '@FIRST', 10 | last: '@LAST', 11 | full: '@first @middle @last' 12 | } 13 | } 14 | } 15 | ] 16 | -------------------------------------------------------------------------------- /src/assets/style/theme/register.scss: -------------------------------------------------------------------------------- 1 | @import '~@/assets/style/theme/theme-base.scss'; 2 | 3 | @import '~@/assets/style/theme/d2/index.scss'; 4 | @import '~@/assets/style/theme/line/index.scss'; 5 | @import '~@/assets/style/theme/star/index.scss'; 6 | @import '~@/assets/style/theme/tomorrow-night-blue/index.scss'; 7 | @import '~@/assets/style/theme/violet/index.scss'; -------------------------------------------------------------------------------- /src/views/demo/components/markdown/url.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/menu/modules/demo-frame.js: -------------------------------------------------------------------------------- 1 | export default { 2 | path: '/demo/frame', 3 | title: '内嵌网页', 4 | icon: 'globe', 5 | children: (pre => [ 6 | { path: `${pre}index`, title: 'Frame ', icon: 'home' }, 7 | { path: `${pre}d2-doc`, title: 'D2Admin 中文文档', iconSvg: 'd2-admin' }, 8 | { path: `${pre}html`, title: '静态 HTML', icon: 'code' } 9 | ])('/demo/frame/') 10 | } 11 | -------------------------------------------------------------------------------- /src/views/demo/components/markdown/source.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 18 | -------------------------------------------------------------------------------- /src/mock/d2-mock/patch/withCredentials.js: -------------------------------------------------------------------------------- 1 | export default function (Mock) { 2 | // http://cnine.me/note/FrontEnd/mock-lose-cookies-dbg.html 3 | Mock.XHR.prototype.__send = Mock.XHR.prototype.send 4 | Mock.XHR.prototype.send = function () { 5 | if (this.custom.xhr) this.custom.xhr.withCredentials = this.withCredentials || false 6 | this.__send.apply(this, arguments) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/views/demo/components/contextmenu/style/pub.scss: -------------------------------------------------------------------------------- 1 | .contextmenu-pad { 2 | height: 300px; 3 | background-color: $color-bg; 4 | border: 1px solid $color-border-1; 5 | border-radius: 4px; 6 | display: flex; 7 | justify-content: center; 8 | align-items: center; 9 | user-select: none; 10 | color: $color-info; 11 | } 12 | .contextmenu-icon { 13 | font-size: 16px; 14 | } -------------------------------------------------------------------------------- /src/views/demo/playground/env/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 17 | -------------------------------------------------------------------------------- /src/layout/header-aside/components/header-search/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | -------------------------------------------------------------------------------- /src/store/modules/d2admin/modules/ua.js: -------------------------------------------------------------------------------- 1 | import UaParser from 'ua-parser-js' 2 | 3 | export default { 4 | namespaced: true, 5 | state: { 6 | // 用户 UA 7 | data: {} 8 | }, 9 | mutations: { 10 | /** 11 | * @description 记录 UA 12 | * @param {Object} state state 13 | */ 14 | get (state) { 15 | state.data = new UaParser().getResult() 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/components/d2-icon/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 18 | -------------------------------------------------------------------------------- /src/api/demo.business.issues.142.js: -------------------------------------------------------------------------------- 1 | import request from '@/plugin/axios' 2 | 3 | export function fetch () { 4 | return request({ 5 | url: '/demo/business/issues/142/fetch', 6 | method: 'get' 7 | }) 8 | } 9 | 10 | export function detail (id) { 11 | return request({ 12 | url: '/demo/business/issues/142/detail', 13 | method: 'get', 14 | params: { 15 | id 16 | } 17 | }) 18 | } 19 | -------------------------------------------------------------------------------- /src/views/demo/components/container/full.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 20 | -------------------------------------------------------------------------------- /src/views/demo/components/editor-quill/value.js: -------------------------------------------------------------------------------- 1 | export default `

2 | D2 Admin 3 | 4 | by 5 | vue.js 6 |

` 7 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | 'extends': [ 7 | 'plugin:vue/essential', 8 | '@vue/standard' 9 | ], 10 | rules: { 11 | 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', 12 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 13 | }, 14 | parserOptions: { 15 | parser: 'babel-eslint' 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/components/d2-icon-svg/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 23 | -------------------------------------------------------------------------------- /src/views/demo/components/container/card.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 20 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo20/doc.md: -------------------------------------------------------------------------------- 1 | 向 `add-template` 或 `edit-template` 的 `component` 对象传入 `name` 属性来控制渲染的组件,默认为 `el-input` ,支持的组件有 `el-input-number` `el-radio` `el-checkbox` `el-select` `el-cascader` `el-switch` `el-slider` `el-time-select` `el-time-picker` `el-date-picker` `el-rate` `el-color-picker` ,也可以使用 `render函数` 自己渲染组件,只需在 `component` 中传入 `renderFuntion` ,接收一个参数 `h`,[render函数使用方法](https://cn.vuejs.org/v2/guide/render-function.html)。代码如下: 2 | -------------------------------------------------------------------------------- /public/lib/UEditor/dialogs/help/help.css: -------------------------------------------------------------------------------- 1 | .wrapper{width: 370px;margin: 10px auto;zoom: 1;} 2 | .tabbody{height: 360px;} 3 | .tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;} 4 | .tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;} 5 | .tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;} 6 | .tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;} 7 | .tabbody table thead{font-weight: bold;line-height: 25px;} -------------------------------------------------------------------------------- /src/locales/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "_name": "English", 3 | "page": { 4 | "demo": { 5 | "playground": { 6 | "locales": { 7 | "text": "D2Admin is a fully open source and free enterprise back-end product front-end integration solution, using the latest front-end technology stack, has prepared most of the project preparations, and with a lot of sample code to help the management system agile development." 8 | } 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/views/demo/element/data-badge/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/data-tag/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/data-tree/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-form/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-rate/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-select/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-slider/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-switch/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-upload/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-card/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/data-pagination/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/data-progress/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-cascader/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-date-picker/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-time-picker/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-transfer/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/navigation-menu/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/navigation-steps/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/navigation-tabs/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/notice-alert/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/notice-loading/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/notice-message/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-carousel/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-collapse/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-dialog/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-popover/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/others-tooltip/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-color-picker/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-datetime-picker/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/form-input-number/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/navigation-breadcrumb/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/navigation-dropdown/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/notice-message-box/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/views/demo/element/notice-notification/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /public/image/loading/loading-spin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/views/demo/playground/page-cache/off.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 18 | -------------------------------------------------------------------------------- /src/store/modules/d2admin/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * The file enables `@/store/index.js` to import all vuex modules 3 | * in a one-shot manner. There should not be any reason to edit this file. 4 | */ 5 | 6 | const files = require.context('./modules', false, /\.js$/) 7 | const modules = {} 8 | 9 | files.keys().forEach(key => { 10 | modules[key.replace(/(\.\/|\.js)/g, '')] = files(key).default 11 | }) 12 | 13 | export default { 14 | namespaced: true, 15 | modules 16 | } 17 | -------------------------------------------------------------------------------- /public/lib/UEditor/jsp/controller.jsp: -------------------------------------------------------------------------------- 1 | <%@ page language="java" contentType="text/html; charset=UTF-8" 2 | import="com.baidu.ueditor.ActionEnter" 3 | pageEncoding="UTF-8"%> 4 | <%@ page trimDirectiveWhitespaces="true" %> 5 | <% 6 | 7 | request.setCharacterEncoding( "utf-8" ); 8 | response.setHeader("Content-Type" , "text/html"); 9 | 10 | String rootPath = application.getRealPath( "/" ); 11 | 12 | out.write( new ActionEnter( request, rootPath ).exec() ); 13 | 14 | %> -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo16/doc.md: -------------------------------------------------------------------------------- 1 | 通过 `ref` 调用 `D2 Crud` 的 `showDialog` 方法,并传入 `mode: 'add'`属性,可开启新增模式,需要定义 `add-template` 来为新增的表单添加模板,也可以向 `showDialog` 中传入 `template`对象来灵活定义新的模板,定义 `add-title` 来修改新增模态框的标题,向`form-options` 中传入 `labelWidth` 和 `labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态, `row-add` 事件控制数据新增,接收两个参数: `row` 是当前新增行的数据, `done` 用于控制保存成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据,`done(false)` 可以取消新增,通过 `ref` 调用 `D2 Crud` 的 `closeDialog` 方法可以关闭模态框。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/components/json-tree/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 22 | -------------------------------------------------------------------------------- /public/markdown/demo.md: -------------------------------------------------------------------------------- 1 | # 一级标题 2 | 3 | | ID | Name | Email | 4 | | --- | --- | --- | 5 | | 0001 | FairyEver | 1711467488@qq.com | 6 | 7 | ``` 8 | alert('Hello World') 9 | ``` 10 | 11 | 一般引用 12 | 13 | > 引用文字 14 | 15 | 分享一个我很早前的一副设计作品 [in Lofter](http://fairyever.lofter.com/post/16ff00_6796fe8) 借此演示百度云链接的显示优化 16 | 17 | > https://pan.baidu.com/s/1kW6uUwB 18 | 19 | 设计源文件 20 | 21 | > 链接: https://pan.baidu.com/s/1ggFW21l 密码: 877y 22 | 23 | [https://github.com/d2-projects](https://github.com/d2-projects) -------------------------------------------------------------------------------- /src/views/demo/charts/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/layout/header-aside/components/mixin/menu.js: -------------------------------------------------------------------------------- 1 | import util from '@/libs/util.js' 2 | 3 | export default { 4 | methods: { 5 | handleMenuSelect (index, indexPath) { 6 | if (/^d2-menu-empty-\d+$/.test(index) || index === undefined) { 7 | this.$message.warning('临时菜单') 8 | } else if (/^https:\/\/|http:\/\//.test(index)) { 9 | util.open(index) 10 | } else { 11 | this.$router.push({ 12 | path: index 13 | }) 14 | } 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/views/demo/business/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/views/demo/frame/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/views/demo/playground/page-cache/on.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 19 | -------------------------------------------------------------------------------- /src/assets/style/unit/color.scss: -------------------------------------------------------------------------------- 1 | // 主色 2 | $color-primary: #409EFF; 3 | 4 | // 辅助色 5 | $color-info: #909399; 6 | $color-success: #67C23A; 7 | $color-warning: #E6A23C; 8 | $color-danger: #F56C6C; 9 | 10 | // 文字 11 | $color-text-main: #303133; 12 | $color-text-normal: #606266; 13 | $color-text-sub: #909399; 14 | $color-text-placehoder: #C0C4CC; 15 | 16 | // 边框 17 | $color-border-1: #DCDFE6; 18 | $color-border-2: #E4E7ED; 19 | $color-border-3: #EBEEF5; 20 | $color-border-4: #F2F6FC; 21 | 22 | // 背景 23 | $color-bg: #f8f8f9; -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo26/doc.md: -------------------------------------------------------------------------------- 1 | 向 `addTemplate` 或 `editTemplate` 中需要渲染自定义组件的 `component` 对象 `name` 中传入自定义组件来进行渲染,如果是[全局注册](https://cn.vuejs.org/v2/guide/components-registration.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C)的自定义组件,只需传入组件名即可;如果是[局部注册](https://cn.vuejs.org/v2/guide/components-registration.html#%E5%B1%80%E9%83%A8%E6%B3%A8%E5%86%8C)的组件,则需要传入`import` 的那个组件对象。自定义组件的写法需要符合[自定义组件使用v-model](https://cn.vuejs.org/v2/guide/components-custom-events.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6%E7%9A%84-v-model)的写法,代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/playground/log/error/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 19 | -------------------------------------------------------------------------------- /src/views/demo/playground/store/fullscreen/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 20 | -------------------------------------------------------------------------------- /src/views/demo/plugins/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/assets/style/fixed/element.scss: -------------------------------------------------------------------------------- 1 | // element 样式补丁 2 | .el-card { 3 | &.is-always-shadow { 4 | box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); 5 | } 6 | &.is-hover-shadow { 7 | &:hover { 8 | box-shadow: 0 0 8px 0 rgba(232,237,250,.6), 0 2px 4px 0 rgba(232,237,250,.5); 9 | } 10 | } 11 | } 12 | 13 | .el-menu--horizontal { 14 | border-bottom: none !important; 15 | } 16 | 17 | .el-tabs__item:focus.is-active.is-focus:not(:active) { 18 | box-shadow: none !important; 19 | } -------------------------------------------------------------------------------- /src/views/demo/components/container/full-slot.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 22 | -------------------------------------------------------------------------------- /src/views/demo/components/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/views/demo/playground/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 22 | -------------------------------------------------------------------------------- /src/components/d2-ueditor/button/d2admin.js: -------------------------------------------------------------------------------- 1 | export default { 2 | name: 'd2admin', 3 | icon: './lib/UEditor/button-icon/d2admin.png', 4 | tip: 'D2Admin', 5 | handler: (editor, name) => { 6 | editor.execCommand('inserthtml', `

https://github.com/d2-projects/d2-admin

`) 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/views/demo/components/container/card-slot.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 22 | -------------------------------------------------------------------------------- /src/views/demo/components/container/full-bs.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 22 | -------------------------------------------------------------------------------- /src/views/demo/components/container/card-bs.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 22 | -------------------------------------------------------------------------------- /src/views/demo/components/editor-simpleMDE/index.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 22 | 23 | 28 | -------------------------------------------------------------------------------- /src/store/modules/d2admin/modules/gray.js: -------------------------------------------------------------------------------- 1 | export default { 2 | namespaced: true, 3 | state: { 4 | // 灰度 5 | active: false 6 | }, 7 | mutations: { 8 | /** 9 | * @description 切换灰度状态 10 | * @param {Object} state state 11 | */ 12 | toggle (state) { 13 | state.active = !state.active 14 | }, 15 | /** 16 | * @description 设置灰度模式 17 | * @param {Object} state state 18 | * @param {Boolean} active active 19 | */ 20 | set (state, active) { 21 | state.active = active 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/menu/modules/demo-business.js: -------------------------------------------------------------------------------- 1 | export default { 2 | path: '/demo/business', 3 | title: '示例', 4 | icon: 'flask', 5 | children: (pre => [ 6 | { path: `${pre}index`, title: '示例', icon: 'home' }, 7 | { 8 | title: '表格', 9 | icon: 'table', 10 | children: [ 11 | { path: `${pre}table/1`, title: '表格 1' } 12 | ] 13 | }, 14 | { 15 | title: 'ISSUES', 16 | icon: 'github', 17 | children: [ 18 | { path: `${pre}issues/142`, title: '#142' } 19 | ] 20 | } 21 | ])('/demo/business/') 22 | } 23 | -------------------------------------------------------------------------------- /src/views/demo/playground/log/ajax/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 20 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo17/doc.md: -------------------------------------------------------------------------------- 1 | 通过给 `D2 Crud` 传入 `rowHandle` 可开启表格操作列,传入 `columnHeader` 可以自定义操作列的表头,传入 `edit` 对象可以开启编辑模式,需要传入 `edit-template` 来为编辑添加模板,通过 `ref` 调用 `D2 Crud` 的 `showDialog` 方法,并传入 `mode: 'edit'` 、`rowIndex` 属性和 `template`对象,可使用自定义模板编辑指定行,定义 `edit-title` 来修改编辑模态框的标题,向`form-options` 中传入 `labelWidth` 和 `labelPosition` 来控制表单中label的显示, `saveLoading` 则控制保存按钮的loading状态, `row-edit` 事件控制数据编辑,参数: `index` 是当前编辑行的索引, `row` 是当前编辑行的数据, `done` 用于控制编辑成功,可以在 `done()` 之前加入自己的逻辑代码,`done()`可以传入包含表单字段的对象来覆盖提交的数据,`done(false)` 可以取消编辑,通过 `ref` 调用 `D2 Crud` 的 `closeDialog` 方法可以关闭模态框。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/element/index/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 23 | -------------------------------------------------------------------------------- /public/lib/UEditor/third-party/highcharts/modules/heatmap.js: -------------------------------------------------------------------------------- 1 | (function(b){var k=b.seriesTypes,l=b.each;k.heatmap=b.extendClass(k.map,{colorKey:"z",useMapGeometry:!1,pointArrayMap:["y","z"],translate:function(){var c=this,b=c.options,i=Number.MAX_VALUE,j=Number.MIN_VALUE;c.generatePoints();l(c.data,function(a){var e=a.x,f=a.y,d=a.z,g=(b.colsize||1)/2,h=(b.rowsize||1)/2;a.path=["M",e-g,f-h,"L",e+g,f-h,"L",e+g,f+h,"L",e-g,f+h,"Z"];a.shapeType="path";a.shapeArgs={d:c.translatePath(a.path)};typeof d==="number"&&(d>j?j=d:d 2 | 3 |
4 | 5 | 6 | 7 |
8 |
9 | 10 | 11 | 24 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo25/doc.md: -------------------------------------------------------------------------------- 1 | 向 `columns` 的 `component` 对象的 `name` 传入自定义组件来进行渲染,如果是[全局注册](https://cn.vuejs.org/v2/guide/components-registration.html#%E5%85%A8%E5%B1%80%E6%B3%A8%E5%86%8C)的自定义组件,只需传入组件名即可;如果是[局部注册](https://cn.vuejs.org/v2/guide/components-registration.html#%E5%B1%80%E9%83%A8%E6%B3%A8%E5%86%8C)的组件,则需要传入`import` 的那个组件对象。自定义组件的写法需要符合[自定义组件使用v-model](https://cn.vuejs.org/v2/guide/components-custom-events.html#%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6%E7%9A%84-v-model)的写法,可以在 `component` 中传入 `props` 字段,传入的字段可以在自定义组件中通过 `props` 接收,自定义组件还可以通过在 `props` 中定义 `scope` 字段来拿到当前行的所有数据,代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/playground/page-argu/get.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 17 | -------------------------------------------------------------------------------- /tools/vue-filename-injector/src/index.js: -------------------------------------------------------------------------------- 1 | const { blockName } = require('./lib/config.js') 2 | 3 | // for chainWebpack 4 | module.exports = function(config, options) { 5 | config.module 6 | .rule('vue') 7 | .use('vue-filename-injector') 8 | .loader(require.resolve('./lib/injector.js')) 9 | .options(options) 10 | .after('vue-loader') 11 | .end() 12 | config.module 13 | .rule('') 14 | .resourceQuery(new RegExp(`blockType=${blockName}`)) 15 | .use('vue-filename-injector-loader') 16 | .loader(require.resolve('./lib/loader.js')) 17 | .end() 18 | } 19 | -------------------------------------------------------------------------------- /src/mock/api/demo.plugins.mock.ajax.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | path: '/api/demo/plugins/mock/ajax', 4 | method: 'get', 5 | handle ({ Repeat }) { 6 | return { 7 | code: 0, 8 | msg: '获取数据成功', 9 | data: { 10 | list: Repeat('4-10', { 11 | 'id|+1': 1, 12 | 'name': '@CNAME', 13 | 'star|1-5': '★', 14 | 'delFlag|1': [0, 1], 15 | 'creatDate': '@DATE', 16 | 'address': '@CITY', 17 | 'zip': '@ZIP' 18 | }) 19 | } 20 | } 21 | } 22 | } 23 | ] 24 | -------------------------------------------------------------------------------- /src/components/d2-module-index-menu/components/item.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 22 | 23 | 28 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | moduleFileExtensions: [ 3 | 'js', 4 | 'jsx', 5 | 'json', 6 | 'vue' 7 | ], 8 | transform: { 9 | '^.+\\.vue$': 'vue-jest', 10 | '.+\\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub', 11 | '^.+\\.jsx?$': 'babel-jest' 12 | }, 13 | moduleNameMapper: { 14 | '^@/(.*)$': '/src/$1' 15 | }, 16 | snapshotSerializers: [ 17 | 'jest-serializer-vue' 18 | ], 19 | testMatch: [ 20 | '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)' 21 | ], 22 | testURL: 'http://localhost/' 23 | } 24 | -------------------------------------------------------------------------------- /src/views/system/error/404/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 25 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 25 | 26 | 29 | -------------------------------------------------------------------------------- /src/assets/style/animate/vue-transition.scss: -------------------------------------------------------------------------------- 1 | // 过渡动画 横向渐变 2 | .fade-transverse-leave-active, 3 | .fade-transverse-enter-active { 4 | transition: all .5s; 5 | } 6 | .fade-transverse-enter { 7 | opacity: 0; 8 | transform: translateX(-30px); 9 | } 10 | .fade-transverse-leave-to { 11 | opacity: 0; 12 | transform: translateX(30px); 13 | } 14 | 15 | // 过渡动画 缩放渐变 16 | .fade-scale-leave-active, 17 | .fade-scale-enter-active { 18 | transition: all .3s; 19 | } 20 | .fade-scale-enter { 21 | opacity: 0; 22 | transform: scale(1.2); 23 | } 24 | .fade-scale-leave-to { 25 | opacity: 0; 26 | transform: scale(0.8); 27 | } 28 | -------------------------------------------------------------------------------- /tools/vue-filename-injector/README.md: -------------------------------------------------------------------------------- 1 | # Vue Filename Injector 2 | 3 | Inject the file path of the `.vue` on `this.$options.__source`. 4 | 5 | ## Usage 6 | 7 | `vue.config.js`: 8 | 9 | ``` js 10 | const VueFilenameInjector = require('./path/to/vue-filename-injector') 11 | 12 | module.exports = { 13 | 14 | chainWebpack: config => { 15 | // only with chainWebpack 16 | VueFilenameInjector(config, { 17 | propName: '__source' // default 18 | }) 19 | } 20 | } 21 | ``` 22 | 23 | ## Relevant 24 | 25 | https://github.com/neutrinojs/webpack-chain 26 | https://vue-loader.vuejs.org/guide/custom-blocks.html 27 | -------------------------------------------------------------------------------- /src/store/modules/d2admin/modules/releases.js: -------------------------------------------------------------------------------- 1 | import util from '@/libs/util.js' 2 | 3 | export default { 4 | namespaced: true, 5 | mutations: { 6 | /** 7 | * @description 显示版本信息 8 | * @param {Object} state state 9 | */ 10 | versionShow () { 11 | util.log.capsule('D2Admin', `v${process.env.VUE_APP_VERSION}`) 12 | console.log('D2 Admin https://github.com/d2-projects/d2-admin') 13 | console.log('D2 Crud https://github.com/d2-projects/d2-crud') 14 | console.log('Document https://doc.d2admin.fairyever.com/zh/') 15 | console.log('请不要吝啬您的 star,谢谢 ~') 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: stable 3 | 4 | notifications: 5 | webhooks: https://oapi.dingtalk.com/robot/send?access_token=a0918ec1b0461056fb9953fe2b03ecc3074a629e88992f327cc94bae93349e9e 6 | 7 | cache: 8 | directories: 9 | - "node_modules" 10 | 11 | branches: 12 | only: 13 | - master 14 | 15 | script: 16 | - yarn run build:travis 17 | 18 | before_install: 19 | - ./qshell account $AK $SK 20 | - curl -o- -L https://yarnpkg.com/install.sh | bash 21 | - export PATH=$HOME/.yarn/bin:$PATH 22 | 23 | after_success: 24 | - ./qshell qupload qiniu-config 25 | - ./qshell cdnrefresh -dirs cdnrefresh-dirs.txt -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo23/doc.md: -------------------------------------------------------------------------------- 1 | 向 `columns` 的 `component` 对象传入 `name` 属性来控制渲染的组件,默认为 `el-input` ,支持的组件有 `el-input-number` `el-radio` `el-checkbox` `el-select` `el-cascader` `el-switch` `el-slider` `el-time-select` `el-time-picker` `el-date-picker` `el-rate` `el-color-picker` ,也可以使用 `render函数` 自己渲染组件,只需在 `component` 中传入 `renderFuntion` ,接收两个参数: `h`是render函数的固定参数, `scope` 是单元格中的数据,[render函数使用方法](https://cn.vuejs.org/v2/guide/render-function.html)。通过 `cell-data-change`事件可以监听单元格内的数据变化,监听在crud内部是通过change事件触发的(这意味着input类组件失去焦点才会触发事件,单纯输入不会触发),接收一个对象参数 `{rowIndex, key, value, row}`, `rowIndex` 为改变所在行,`key` 为改变的字段,`value` 为改变后的值,`row` 是改变所在行的所有数据。代码如下: 2 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo26/MyTag.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 30 | -------------------------------------------------------------------------------- /src/views/demo/components/icon/select-svg.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 25 | -------------------------------------------------------------------------------- /src/views/demo/d2-crud/demo26/codeComponent.js: -------------------------------------------------------------------------------- 1 | export default ` 6 | 7 | ` 30 | -------------------------------------------------------------------------------- /src/views/demo/playground/store/ua/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 24 | -------------------------------------------------------------------------------- /src/components/d2-container-frame/index.vue: -------------------------------------------------------------------------------- 1 |