Merge branch 'master' into deploy
This commit is contained in:
		
							
								
								
									
										33
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
---
 | 
			
		||||
name: Bug report(报告问题)
 | 
			
		||||
about: Create a report to help us improve
 | 
			
		||||
---
 | 
			
		||||
<!--
 | 
			
		||||
    注意:为更好的解决你的问题,请参考模板提供完整信息,准确描述问题,信息不全的 issue 将被关闭。
 | 
			
		||||
 | 
			
		||||
    Note: In order to better solve your problem, please refer to the template to provide complete information, accurately describe the problem, and the incomplete information issue will be closed.
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Bug report(问题描述)
 | 
			
		||||
 | 
			
		||||
#### Steps to reproduce(问题复现步骤)
 | 
			
		||||
<!--
 | 
			
		||||
1. [xxx]
 | 
			
		||||
2. [xxx]
 | 
			
		||||
3. [xxxx]
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
#### Screenshot or Gif(截图或动态图)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#### Link to minimal reproduction(最小可在线还原demo)
 | 
			
		||||
 | 
			
		||||
<!--
 | 
			
		||||
Please only use Codepen, JSFiddle, CodeSandbox or a github repo
 | 
			
		||||
-->
 | 
			
		||||
 | 
			
		||||
#### Other relevant information(格外信息)
 | 
			
		||||
- Your OS:
 | 
			
		||||
- Node.js version:
 | 
			
		||||
- vue-element-admin version:
 | 
			
		||||
							
								
								
									
										7
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
---
 | 
			
		||||
name: Feature Request(新功能建议)
 | 
			
		||||
about: Suggest an idea for this project
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Feature request(新功能建议)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										14
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
---
 | 
			
		||||
name: Question(提问)
 | 
			
		||||
about: Asking questions about use
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Question(提问)
 | 
			
		||||
 | 
			
		||||
<!--
 | 
			
		||||
    提问之前,请确定你已经过自己的努力,尝试解决过这个问题。
 | 
			
		||||
    若是代码相关问题,请不要只截图,请提供在线 demo,以便节约彼此的时间。
 | 
			
		||||
 | 
			
		||||
    Before asking a question, please make sure that you have tried your best to solve this problem.
 | 
			
		||||
    If it's a code-related issue, please don't just take screenshots. Please provide an online demo to save each other's time.
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,25 +9,25 @@
 | 
			
		||||
    <el-dialog :visible.sync="dialogTableVisible" title="Error Log" width="80%">
 | 
			
		||||
      <el-table :data="errorLogs" border>
 | 
			
		||||
        <el-table-column label="Message">
 | 
			
		||||
          <template slot-scope="scope">
 | 
			
		||||
          <template slot-scope="{row}">
 | 
			
		||||
            <div>
 | 
			
		||||
              <span class="message-title">Msg:</span>
 | 
			
		||||
              <el-tag type="danger">
 | 
			
		||||
                {{ scope.row.err.message }}
 | 
			
		||||
                {{ row.err.message }}
 | 
			
		||||
              </el-tag>
 | 
			
		||||
            </div>
 | 
			
		||||
            <br>
 | 
			
		||||
            <div>
 | 
			
		||||
              <span class="message-title" style="padding-right: 10px;">Info: </span>
 | 
			
		||||
              <el-tag type="warning">
 | 
			
		||||
                {{ scope.row.vm.$vnode.tag }} error in {{ scope.row.info }}
 | 
			
		||||
                {{ row.vm.$vnode.tag }} error in {{ row.info }}
 | 
			
		||||
              </el-tag>
 | 
			
		||||
            </div>
 | 
			
		||||
            <br>
 | 
			
		||||
            <div>
 | 
			
		||||
              <span class="message-title" style="padding-right: 16px;">Url: </span>
 | 
			
		||||
              <el-tag type="success">
 | 
			
		||||
                {{ scope.row.url }}
 | 
			
		||||
                {{ row.url }}
 | 
			
		||||
              </el-tag>
 | 
			
		||||
            </div>
 | 
			
		||||
          </template>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,19 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="navbar">
 | 
			
		||||
    <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
 | 
			
		||||
    <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
 | 
			
		||||
 | 
			
		||||
    <breadcrumb class="breadcrumb-container" />
 | 
			
		||||
    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
 | 
			
		||||
 | 
			
		||||
    <div class="right-menu">
 | 
			
		||||
      <template v-if="device!=='mobile'">
 | 
			
		||||
        <search class="right-menu-item" />
 | 
			
		||||
        <search class="right-menu-item header-search" />
 | 
			
		||||
 | 
			
		||||
        <error-log class="errLog-container right-menu-item hover-effect" />
 | 
			
		||||
 | 
			
		||||
        <screenfull class="right-menu-item hover-effect" />
 | 
			
		||||
        <screenfull id="screenfull" class="right-menu-item hover-effect" />
 | 
			
		||||
 | 
			
		||||
        <el-tooltip :content="$t('navbar.size')" effect="dark" placement="bottom">
 | 
			
		||||
          <size-select class="right-menu-item hover-effect" />
 | 
			
		||||
          <size-select id="size-select" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
        <lang-select class="right-menu-item hover-effect" />
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="tags-view-container">
 | 
			
		||||
  <div id="tags-view-container" class="tags-view-container">
 | 
			
		||||
    <scroll-pane ref="scrollPane" class="tags-view-wrapper">
 | 
			
		||||
      <router-link
 | 
			
		||||
        v-for="tag in visitedViews"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,9 +11,9 @@
 | 
			
		||||
      </template>
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
    <el-table-column label="Status" width="100" align="center">
 | 
			
		||||
      <template slot-scope="scope">
 | 
			
		||||
        <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
          {{ scope.row.status }}
 | 
			
		||||
      <template slot-scope="{row}">
 | 
			
		||||
        <el-tag :type="row.status | statusFilter">
 | 
			
		||||
          {{ row.status }}
 | 
			
		||||
        </el-tag>
 | 
			
		||||
      </template>
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="dashboard-editor-container">
 | 
			
		||||
    <github-corner style="position: absolute; top: 0px; border: 0; right: 0;" />
 | 
			
		||||
    <github-corner class="github-corner" />
 | 
			
		||||
 | 
			
		||||
    <panel-group @handleSetLineChartData="handleSetLineChartData" />
 | 
			
		||||
 | 
			
		||||
@@ -100,6 +100,15 @@ export default {
 | 
			
		||||
.dashboard-editor-container {
 | 
			
		||||
  padding: 32px;
 | 
			
		||||
  background-color: rgb(240, 242, 245);
 | 
			
		||||
  position: relative;
 | 
			
		||||
 | 
			
		||||
  .github-corner {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    top: 0px;
 | 
			
		||||
    border: 0;
 | 
			
		||||
    right: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .chart-wrapper {
 | 
			
		||||
    background: #fff;
 | 
			
		||||
    padding: 16px 16px 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
              <el-row>
 | 
			
		||||
                <el-col :span="8">
 | 
			
		||||
                  <el-form-item label-width="45px" label="作者:" class="postInfo-container-item">
 | 
			
		||||
                    <el-select v-model="postForm.author" :remote-method="getRemoteUserList" filterable remote placeholder="搜索用户">
 | 
			
		||||
                    <el-select v-model="postForm.author" :remote-method="getRemoteUserList" filterable default-first-option remote placeholder="搜索用户">
 | 
			
		||||
                      <el-option v-for="(item,index) in userListOptions" :key="item+index" :label="item" :value="item" />
 | 
			
		||||
                    </el-select>
 | 
			
		||||
                  </el-form-item>
 | 
			
		||||
 
 | 
			
		||||
@@ -26,17 +26,17 @@
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column class-name="status-col" label="Status" width="110">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
            {{ scope.row.status }}
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-tag :type="row.status | statusFilter">
 | 
			
		||||
            {{ row.status }}
 | 
			
		||||
          </el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column min-width="300px" label="Title">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <router-link :to="'/example/edit/'+scope.row.id" class="link-type">
 | 
			
		||||
            <span>{{ scope.row.title }}</span>
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <router-link :to="'/example/edit/'+row.id" class="link-type">
 | 
			
		||||
            <span>{{ row.title }}</span>
 | 
			
		||||
          </router-link>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
const steps = [
 | 
			
		||||
  {
 | 
			
		||||
    element: '.hamburger-container',
 | 
			
		||||
    element: '#hamburger-container',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Hamburger',
 | 
			
		||||
      description: 'Open && Close sidebar',
 | 
			
		||||
@@ -8,7 +8,7 @@ const steps = [
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '.breadcrumb-container',
 | 
			
		||||
    element: '#breadcrumb-container',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Breadcrumb',
 | 
			
		||||
      description: 'Indicate the current page location',
 | 
			
		||||
@@ -16,31 +16,31 @@ const steps = [
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '.screenfull',
 | 
			
		||||
    element: '#header-search',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Page Search',
 | 
			
		||||
      description: 'Page search, quick navigation',
 | 
			
		||||
      position: 'left'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '#screenfull',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Screenfull',
 | 
			
		||||
      description: 'Bring the page into fullscreen',
 | 
			
		||||
      description: 'Set the page into fullscreen',
 | 
			
		||||
      position: 'left'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '.international-icon',
 | 
			
		||||
    element: '#size-select',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Switch language',
 | 
			
		||||
      description: 'Switch the system language',
 | 
			
		||||
      title: 'Switch Size',
 | 
			
		||||
      description: 'Switch the system size',
 | 
			
		||||
      position: 'left'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '.theme-switch',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Theme Switch',
 | 
			
		||||
      description: 'Custom switch system theme',
 | 
			
		||||
      position: 'left'
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    element: '.tags-view-container',
 | 
			
		||||
    element: '#tags-view-container',
 | 
			
		||||
    popover: {
 | 
			
		||||
      title: 'Tags view',
 | 
			
		||||
      description: 'The history of the page you visited',
 | 
			
		||||
 
 | 
			
		||||
@@ -19,9 +19,9 @@
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
 | 
			
		||||
    <el-table-column min-width="300px" label="Title">
 | 
			
		||||
      <template slot-scope="scope">
 | 
			
		||||
        <span>{{ scope.row.title }}</span>
 | 
			
		||||
        <el-tag>{{ scope.row.type }}</el-tag>
 | 
			
		||||
      <template slot-scope="{row}">
 | 
			
		||||
        <span>{{ row.title }}</span>
 | 
			
		||||
        <el-tag>{{ row.type }}</el-tag>
 | 
			
		||||
      </template>
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
 | 
			
		||||
@@ -44,9 +44,9 @@
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
 | 
			
		||||
    <el-table-column class-name="status-col" label="Status" width="110">
 | 
			
		||||
      <template slot-scope="scope">
 | 
			
		||||
        <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
          {{ scope.row.status }}
 | 
			
		||||
      <template slot-scope="{row}">
 | 
			
		||||
        <el-tag :type="row.status | statusFilter">
 | 
			
		||||
          {{ row.status }}
 | 
			
		||||
        </el-tag>
 | 
			
		||||
      </template>
 | 
			
		||||
    </el-table-column>
 | 
			
		||||
 
 | 
			
		||||
@@ -46,9 +46,9 @@
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column :label="$t('table.title')" min-width="150px">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <span class="link-type" @click="handleUpdate(scope.row)">{{ scope.row.title }}</span>
 | 
			
		||||
          <el-tag>{{ scope.row.type | typeFilter }}</el-tag>
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <span class="link-type" @click="handleUpdate(row)">{{ row.title }}</span>
 | 
			
		||||
          <el-tag>{{ row.type | typeFilter }}</el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column :label="$t('table.author')" width="110px" align="center">
 | 
			
		||||
@@ -67,30 +67,30 @@
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column :label="$t('table.readings')" align="center" width="95">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <span v-if="scope.row.pageviews" class="link-type" @click="handleFetchPv(scope.row.pageviews)">{{ scope.row.pageviews }}</span>
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <span v-if="row.pageviews" class="link-type" @click="handleFetchPv(row.pageviews)">{{ row.pageviews }}</span>
 | 
			
		||||
          <span v-else>0</span>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column :label="$t('table.status')" class-name="status-col" width="100">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
            {{ scope.row.status }}
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-tag :type="row.status | statusFilter">
 | 
			
		||||
            {{ row.status }}
 | 
			
		||||
          </el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column :label="$t('table.actions')" align="center" width="230" class-name="small-padding fixed-width">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-button type="primary" size="mini" @click="handleUpdate(scope.row)">
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-button type="primary" size="mini" @click="handleUpdate(row)">
 | 
			
		||||
            {{ $t('table.edit') }}
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button v-if="scope.row.status!='published'" size="mini" type="success" @click="handleModifyStatus(scope.row,'published')">
 | 
			
		||||
          <el-button v-if="row.status!='published'" size="mini" type="success" @click="handleModifyStatus(row,'published')">
 | 
			
		||||
            {{ $t('table.publish') }}
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button v-if="scope.row.status!='draft'" size="mini" @click="handleModifyStatus(scope.row,'draft')">
 | 
			
		||||
          <el-button v-if="row.status!='draft'" size="mini" @click="handleModifyStatus(row,'draft')">
 | 
			
		||||
            {{ $t('table.draft') }}
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button v-if="scope.row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(scope.row,'deleted')">
 | 
			
		||||
          <el-button v-if="row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(row,'deleted')">
 | 
			
		||||
            {{ $t('table.delete') }}
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
 
 | 
			
		||||
@@ -39,9 +39,9 @@
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column class-name="status-col" label="Status" width="110">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
            {{ scope.row.status }}
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-tag :type="row.status | statusFilter">
 | 
			
		||||
            {{ row.status }}
 | 
			
		||||
          </el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 
 | 
			
		||||
@@ -26,31 +26,31 @@
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column class-name="status-col" label="Status" width="110">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-tag :type="scope.row.status | statusFilter">
 | 
			
		||||
            {{ scope.row.status }}
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-tag :type="row.status | statusFilter">
 | 
			
		||||
            {{ row.status }}
 | 
			
		||||
          </el-tag>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column min-width="300px" label="Title">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <template v-if="scope.row.edit">
 | 
			
		||||
            <el-input v-model="scope.row.title" class="edit-input" size="small" />
 | 
			
		||||
            <el-button class="cancel-btn" size="small" icon="el-icon-refresh" type="warning" @click="cancelEdit(scope.row)">
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <template v-if="row.edit">
 | 
			
		||||
            <el-input v-model="row.title" class="edit-input" size="small" />
 | 
			
		||||
            <el-button class="cancel-btn" size="small" icon="el-icon-refresh" type="warning" @click="cancelEdit(row)">
 | 
			
		||||
              cancel
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
          <span v-else>{{ scope.row.title }}</span>
 | 
			
		||||
          <span v-else>{{ row.title }}</span>
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
 | 
			
		||||
      <el-table-column align="center" label="Actions" width="120">
 | 
			
		||||
        <template slot-scope="scope">
 | 
			
		||||
          <el-button v-if="scope.row.edit" type="success" size="small" icon="el-icon-circle-check-outline" @click="confirmEdit(scope.row)">
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
          <el-button v-if="row.edit" type="success" size="small" icon="el-icon-circle-check-outline" @click="confirmEdit(row)">
 | 
			
		||||
            Ok
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button v-else type="primary" size="small" icon="el-icon-edit" @click="scope.row.edit=!scope.row.edit">
 | 
			
		||||
          <el-button v-else type="primary" size="small" icon="el-icon-edit" @click="row.edit=!row.edit">
 | 
			
		||||
            Edit
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user