fuliqi
2024-01-24 29c1e7eb5ac16e90d8991a86c1c071bc312ec8d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<template>
  <div>
    <list-condition-template ref="table" :form="listQuery" :formLabel="formLabel"
                             :tableData="tableData" :total="total"
                             @page-info-change="handlePageInfoChange">
      <template slot="otherElement">
        <el-col :span="6" :offset="0">
          <el-form-item>
            <el-button size="mini" type="primary" @click="queryData">查询</el-button>
            <el-button size="mini" @click="resetQuery">重置</el-button>
          </el-form-item>
        </el-col>
      </template>
      <template slot="operationSection">
        <el-button size="mini" type="success" @click="addItem">新增</el-button>
      </template>
      <template slot="columns">
        <el-table-column label="应用名称" prop="name" show-overflow-tooltip></el-table-column>
        <el-table-column label="应用ID" prop="appid" show-overflow-tooltip></el-table-column>
        <el-table-column label="应用密码" prop="appsecret" show-overflow-tooltip></el-table-column>
        <el-table-column label="状态" width="100px" prop="status" show-overflow-tooltip>
          <template slot-scope="scope">
            <span class="statusTag"
                  :style="{ background: scope.row.status === '0' ? '#f5222d' :'#52c41a'}"></span>
            <span>{{scope.row.status === '0' ? '停用' : '启用'}}</span>
          </template>
        </el-table-column>
        <el-table-column label="操作" :width="`${2 * $store.getters.colSize}px`">
          <template slot-scope="scope">
            <wly-btn type="danger" :disabled="scope.row.status === '1'"
                    @click="editItem(scope.row,scope.$index)">修改</wly-btn>
            <wly-btn :type="scope.row.status === '0' ? 'success' : 'danger'"
                    @click="updateStatus(scope.row,scope.$index)">
              {{scope.row.status === '0' ? '启用' : '停用'}}</wly-btn>
          </template>
        </el-table-column>
      </template>
    </list-condition-template>
    <third-party-system-info :show.sync="dialogData.show" :row="dialogData.row"
                             :title="dialogData.title"></third-party-system-info>
  </div>
</template>
<script>
import thirdPartySystemApi from '@/api/thirdPartySystem'
import thirdPartySystemInfo from '@/views/thirdPartySystem/info.vue'
import { objectCopy } from '@/utils/objectCopyHelper'
 
export default {
  components: {
    thirdPartySystemInfo
  },
  data() {
    return {
      tableData: [],
      total: 0,
      listQuery: {
        name: null
      },
      dialogData: {
        show: false,
        row: {},
        title: null
      },
      formLabel: [
        {
          model: 'name',
          label: '应用名称',
          type: 'input'
        }
      ]
    }
  },
  /*
     * 数据变化后刷新列表
   */
  activated() {
    this.queryList(this.$refs.table.getPageInfo())
  },
  methods: {
    /**
     * 修改状态
     */
    updateStatus(row, index) {
      this.$confirm('确认修改该条数据的状态吗?', '状态修改', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
        const status = row.status === '1' ? '0' : '1'
        const data = {
          id: row.id,
          name: row.name,
          status
        }
        const resData = await thirdPartySystemApi.editItem(data) // 编辑
        if (resData.data) {
          row.status = status
          this.$message({
            message: '状态修改成功',
            type: 'success'
          })
        }
      })
    },
    /**
     * 编辑
     */
    editItem(row) {
      this.dialogData.show = true
      this.dialogData.title = '编辑三方系统'
      this.dialogData.row = objectCopy(row)
    },
    /**
       * 跳转到新增页面
       */
    addItem() {
      this.dialogData.show = true
      this.dialogData.title = '添加三方系统'
    },
    /**
       * '分页信息改变时查询列表
       */
    handlePageInfoChange(pageInfo) {
      this.queryList(pageInfo)
    },
 
    /**
     * 重置
     */
    resetQuery() {
      this.$refs.table.reloadCurrent()
    },
    /**
     * 点击查询按钮
     */
    queryData() {
      this.$refs.table.changeCondition()
    },
    /**
     * 查询列表
     */
    async queryList(pageInfo = { pageNum: 1, pageSize: 10 }) {
      const res = await thirdPartySystemApi.getList({ ...this.listQuery, ...pageInfo })
      if (res.data) {
        this.tableData = res.data.list
        this.total = res.data.total
      }
    }
  }
}
</script>
<style lang="scss">
</style>