perf[complex-table]:refine code (#2825)
* 解决无法删除列表的bug;优化代码; * perf: refine Co-authored-by: 花裤衩 <panfree23@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						花裤衩
					
				
			
			
				
	
			
			
			
						parent
						
							fd5a2e8da2
						
					
				
				
					commit
					55b1bbac99
				
			@@ -80,7 +80,7 @@
 | 
			
		||||
        </template>
 | 
			
		||||
      </el-table-column>
 | 
			
		||||
      <el-table-column label="Actions" align="center" width="230" class-name="small-padding fixed-width">
 | 
			
		||||
        <template slot-scope="{row}">
 | 
			
		||||
        <template slot-scope="{row,$index}">
 | 
			
		||||
          <el-button type="primary" size="mini" @click="handleUpdate(row)">
 | 
			
		||||
            Edit
 | 
			
		||||
          </el-button>
 | 
			
		||||
@@ -90,7 +90,7 @@
 | 
			
		||||
          <el-button v-if="row.status!='draft'" size="mini" @click="handleModifyStatus(row,'draft')">
 | 
			
		||||
            Draft
 | 
			
		||||
          </el-button>
 | 
			
		||||
          <el-button v-if="row.status!='deleted'" size="mini" type="danger" @click="handleModifyStatus(row,'deleted')">
 | 
			
		||||
          <el-button v-if="row.status!='deleted'" size="mini" type="danger" @click="handleDelete(row,$index)">
 | 
			
		||||
            Delete
 | 
			
		||||
          </el-button>
 | 
			
		||||
        </template>
 | 
			
		||||
@@ -319,13 +319,8 @@ export default {
 | 
			
		||||
          const tempData = Object.assign({}, this.temp)
 | 
			
		||||
          tempData.timestamp = +new Date(tempData.timestamp) // change Thu Nov 30 2017 16:41:05 GMT+0800 (CST) to 1512031311464
 | 
			
		||||
          updateArticle(tempData).then(() => {
 | 
			
		||||
            for (const v of this.list) {
 | 
			
		||||
              if (v.id === this.temp.id) {
 | 
			
		||||
                const index = this.list.indexOf(v)
 | 
			
		||||
                this.list.splice(index, 1, this.temp)
 | 
			
		||||
                break
 | 
			
		||||
              }
 | 
			
		||||
            }
 | 
			
		||||
            const index = this.list.findIndex(v => v.id === this.temp.id)
 | 
			
		||||
            this.list.splice(index, 1, this.temp)
 | 
			
		||||
            this.dialogFormVisible = false
 | 
			
		||||
            this.$notify({
 | 
			
		||||
              title: 'Success',
 | 
			
		||||
@@ -337,14 +332,13 @@ export default {
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    handleDelete(row) {
 | 
			
		||||
    handleDelete(row, index) {
 | 
			
		||||
      this.$notify({
 | 
			
		||||
        title: 'Success',
 | 
			
		||||
        message: 'Delete Successfully',
 | 
			
		||||
        type: 'success',
 | 
			
		||||
        duration: 2000
 | 
			
		||||
      })
 | 
			
		||||
      const index = this.list.indexOf(row)
 | 
			
		||||
      this.list.splice(index, 1)
 | 
			
		||||
    },
 | 
			
		||||
    handleFetchPv(pv) {
 | 
			
		||||
@@ -358,7 +352,7 @@ export default {
 | 
			
		||||
      import('@/vendor/Export2Excel').then(excel => {
 | 
			
		||||
        const tHeader = ['timestamp', 'title', 'type', 'importance', 'status']
 | 
			
		||||
        const filterVal = ['timestamp', 'title', 'type', 'importance', 'status']
 | 
			
		||||
        const data = this.formatJson(filterVal, this.list)
 | 
			
		||||
        const data = this.formatJson(filterVal)
 | 
			
		||||
        excel.export_json_to_excel({
 | 
			
		||||
          header: tHeader,
 | 
			
		||||
          data,
 | 
			
		||||
@@ -367,8 +361,8 @@ export default {
 | 
			
		||||
        this.downloadLoading = false
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    formatJson(filterVal, jsonData) {
 | 
			
		||||
      return jsonData.map(v => filterVal.map(j => {
 | 
			
		||||
    formatJson(filterVal) {
 | 
			
		||||
      return this.list.map(v => filterVal.map(j => {
 | 
			
		||||
        if (j === 'timestamp') {
 | 
			
		||||
          return parseTime(v[j])
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -378,11 +372,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    getSortClass: function(key) {
 | 
			
		||||
      const sort = this.listQuery.sort
 | 
			
		||||
      return sort === `+${key}`
 | 
			
		||||
        ? 'ascending'
 | 
			
		||||
        : sort === `-${key}`
 | 
			
		||||
          ? 'descending'
 | 
			
		||||
          : ''
 | 
			
		||||
      return sort === `+${key}` ? 'ascending' : 'descending'
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user