xjc 3 年之前
父节点
当前提交
b4b1ddc3de
共有 6 个文件被更改,包括 183 次插入33 次删除
  1. 24 0
      src/api.js
  2. 67 15
      src/views/data/index.vue
  3. 14 0
      src/views/match/group.vue
  4. 15 1
      src/views/match/index.vue
  5. 30 7
      src/views/player/index.vue
  6. 33 10
      src/views/user/index.vue

+ 24 - 0
src/api.js

@@ -104,9 +104,18 @@ export default {
 	addRecord: params => {
 		return axios.post(`${baseURL}/api/admin/player/record`, params);
 	},
+	getRecordInfo: params => {
+		return axios.get(`${baseURL}/api/admin/player/record`, { params: params });
+	},
 	editRecord: params => {
 		return axios.put(`${baseURL}/api/admin/player/record`, params);
 	},
+	delRecord: params => {
+		return axios.delete(`${baseURL}/api/admin/player/record`, { params: params });
+	},
+	downloadRecords: params => {
+		return axios.get(`${baseURL}/api/admin/player/record/download`, {params: params, responseType: "blob"})
+	},
 	// 比赛搜索列表
 	getMatchList: params => {
 		return axios.get(`${baseURL}/api/admin/match/search`, { params: params })
@@ -158,6 +167,14 @@ export default {
 	updatePlayer: params => {
 		return axios.put(`${baseURL}/api/admin/player`, params)
 	},
+	// 删除选手
+	delPlayer: params => {
+		return axios.delete(`${baseURL}/api/admin/player`, { params: params })
+	},
+	// 选手详情
+	getPlayerInfo: params => {
+		return axios.get(`${baseURL}/api/admin/player`, { params: params })
+	},
 	// 用户搜索
 	getUserSearch: params => {
 		return axios.get(`${baseURL}/api/admin/user/search`, { params: params })
@@ -178,6 +195,9 @@ export default {
 	updateMatch: params => {
 		return axios.put(`${baseURL}/api/admin/match`, params);
 	},
+	delMatch: params => {
+		return axios.delete(`${baseURL}/api/admin/match`, { params: params })
+	},
 	// 新增分组
 	addGroup: params => {
 		return axios.post(`${baseURL}/api/admin/match/group`, params);
@@ -186,5 +206,9 @@ export default {
 	updateGroup: params => {
 		return axios.put(`${baseURL}/api/admin/match/group`, params);
 	},
+	delGroup: params => {
+		return axios.delete(`${baseURL}/api/admin/match/group`, { params: params });
+	},
+
 
 }

+ 67 - 15
src/views/data/index.vue

@@ -15,19 +15,19 @@
         <el-divider></el-divider>
         <el-form label-width="80px" class="filter-form">
             <el-row>
-                <el-col :span="5">
+                <el-col :span="4">
                     <el-form-item label="比赛名称" prop="match_id">
-                        <el-select v-model="queryParams.match_id" placeholder="请选择比赛" size="mini">
+                        <el-select v-model="queryParams.match_id" placeholder="请选择比赛" size="mini" @change="getData()">
                             <el-option v-for="item in matchList" :key='item.id' :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="4">
                     <el-form-item label="选手名字">
-                        <el-input v-model="queryParams.username" placeholder="请输入选手名字/代码" size="mini"></el-input>
+                        <el-input clearable @clear="getData()" v-model="queryParams.username" placeholder="请输入选手名字/代码" size="mini"></el-input>
                     </el-form-item>
                 </el-col>
-                <el-col :span="5">
+                <el-col :span="4">
                     <el-form-item label="比赛日期">
                         <el-date-picker
                         v-model="queryParams.date"
@@ -40,16 +40,17 @@
                         </el-date-picker>
                     </el-form-item>
                 </el-col>
-                <el-col :span="5">
+                <el-col :span="4">
                     <el-form-item label="比赛分组">
-                        <el-select v-model="queryParams.groupId" placeholder="请选择比赛分组" size="mini">
+                        <el-select clearable @clear="getData()" v-model="queryParams.groupId" placeholder="请选择比赛分组" size="mini" @change="getData()">
                             <el-option v-for="item in groupList" :key='item.id' :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
-                <el-col :span="5">
+                <el-col :span="4">
                     <el-form-item style="margin-left:10px;" label-width="10">
                         <el-button type="primary" @click="getData" size="mini">筛选</el-button>
+                        <el-button type="normal" @click="queryParams={},getData()" size="mini">重置</el-button>
                         <el-button
                         type="primary"
                         plain
@@ -59,15 +60,20 @@
                         >上传数据</el-button>
                     </el-form-item>
                 </el-col>
+                <el-col :span="4">
+                    <el-form-item style="margin-left:10px;" label-width="10">
+                    <el-button icon="el-icon-download" type="primary" @click="downloadExcel" size="mini">导出Excel</el-button>
+                    </el-form-item>
+                </el-col>
             </el-row>
         </el-form>
         <el-table :data="list" height='55vh' style="width: 100%;margin-top:10px;" v-loading='loading'>
                 <el-table-column prop="rank" label="排名"/>
                 <el-table-column prop="username" label="选手"/>
                 <el-table-column prop="stock_date" label="持股日期" width="150"/>
-                <el-table-column prop="init_fund" label="初始资产"/>
-                <el-table-column prop="yesterday_fund" label="昨日资产"/>
-                <el-table-column prop="today_fund" label="今日资产"/>
+                <el-table-column prop="init_fund" label="初始资产(万元)"/>
+                <el-table-column prop="yesterday_fund" label="昨日资产(万元)"/>
+                <el-table-column prop="today_fund" label="今日资产(万元)"/>
                 <el-table-column prop="today_income" label="今日盈亏"/>
                 <el-table-column prop="total_income" label="总盈亏" width="100"/>
                 <el-table-column prop="date" label="今日持股" width="150">
@@ -85,9 +91,10 @@
                     </template>
                 </el-table-column>
                 <el-table-column prop="ctime" label="创建时间" width="160"/>
-                <el-table-column prop="date" label="操作" fixed="right">
+                <el-table-column prop="date" label="操作" fixed="right" width="200">
                     <template slot-scope="scope">
-                        <el-button @click="title='编辑数据',open=true,form=scope.row" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="edit(scope.row.id)" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
         </el-table>
@@ -106,7 +113,7 @@
                         </el-select>
                 </el-form-item>
                 <el-form-item label="参赛选手" prop="player_id">
-                    <el-select v-model="form.player_id" placeholder="请选择用户代码">
+                    <el-select filterable v-model="form.player_id" placeholder="请选择用户代码">
                         <el-option v-for="item in playerList" :key='item.id' :label="item.username" :value="item.id"></el-option>
                     </el-select>
                 </el-form-item>
@@ -126,9 +133,10 @@
                 </el-form-item>
                 <el-form-item label="股票名称" prop="today_stock">
                     <div v-for="(item,index) in form.today_stock" :key='index' style="margin-bottom:5px;">
-                        <el-select  filterable v-model="item.name" placeholder="请选择股票" style="width:48%;display:inline-block">
+                        <!-- <el-select  filterable v-model="item.name" placeholder="请选择股票" style="width:48%;display:inline-block">
                             <el-option v-for="item in stockList" :key='item.id' :label="item.label" :value="item.label"></el-option>
-                        </el-select>
+                        </el-select> -->
+                        <el-input style="width:48%;display:inline-block" v-model="item.name" placeholder="请输入股票名称"></el-input>
                         &nbsp;<el-input style="width:39%" clearable v-model="item.fund" placeholder="资金">
                             <template slot="append">万元</template>
                         </el-input>
@@ -136,6 +144,11 @@
                     </div>
                     <el-button @click="addCode" type="primary" size="small" plain>新增股票</el-button>
                 </el-form-item>
+                <el-form-item label="开超市" prop="is_markt">
+                    <el-switch
+                        v-model="form.is_markt">
+                    </el-switch>
+                </el-form-item>
                 <el-form-item label="股票截图" prop="today_stock_img">
                     <div class="imgs" v-for="(item,index) in form.today_stock_img" :key='index'>
                         <img  width="150" :src="item" alt="">
@@ -195,6 +208,9 @@ export default {
                 ],
                 today_stock_img: [
                     { required: true, message: '请输入股票截图', trigger: 'blur' }
+                ],
+                is_markt: [
+                    { required: false, message: '请选择', trigger: 'change' }
                 ]
             },
             matchList:[],
@@ -204,6 +220,35 @@ export default {
         }
     },
     methods:{
+        downloadExcel(){
+            this.$api.downloadRecords(this.queryParams).then((res)=>{
+                var elink = document.createElement('a');
+                let blob=new Blob([res.data], {type: 'application/vnd.ms-excel,charset=UTF-8'});
+                let objUrl=URL.createObjectURL(blob);
+                let file_name=decodeURIComponent(res.headers['content-disposition'].split('=')[1]);
+                console.log(file_name)
+                elink.download = "参赛数据";
+                elink.style.display = 'none';                
+                elink.href = objUrl;
+                document.body.appendChild(elink);
+                elink.click();
+                document.body.removeChild(elink);      
+                this.download_loading = false;
+            })
+        },
+        del(id) {
+        this.$confirm("确定删除吗?", "提示", {
+            type: "warning",
+        }).then(() => {
+            this.$api.delRecord({ id: id }).then((res) => {
+            this.$message({
+                message: "删除成功",
+                type: "success",
+            });
+            this.getData();
+            });
+        });
+        },
         gopage(size) {
             if (size) {
                 this.queryParams.page_size = size;
@@ -219,6 +264,13 @@ export default {
                 this.loading = false;
             })
         },
+        edit(id){
+            this.title = "编辑数据"
+            this.$api.getRecordInfo({id:id}).then(res=>{
+                this.form = res.data.data
+                this.open = true
+            })
+        },
         handleAdd(){
             this.open=true;
             this.title='新增数据';

+ 14 - 0
src/views/match/group.vue

@@ -32,6 +32,7 @@
                 <el-table-column align="center"  prop="date" label="操作">
                     <template slot-scope="scope">
                         <el-button @click="title='编辑分组',open=true,form=scope.row" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
         </el-table>
@@ -91,6 +92,19 @@ export default {
         }
     },
     methods:{
+        del(id) {
+        this.$confirm("确定删除吗?", "提示", {
+            type: "warning",
+        }).then(() => {
+            this.$api.delGroup({ id: id }).then((res) => {
+            this.$message({
+                message: "删除成功",
+                type: "success",
+            });
+            this.getData();
+            });
+        });
+        },
         gopage(size) {
             if (size) {
                 this.queryParams.page_size = size;

+ 15 - 1
src/views/match/index.vue

@@ -6,7 +6,7 @@
             <el-row>
                 <el-col :span="6">
                     <el-form-item label="赛事名称">
-                        <el-input clearable v-model="queryParams.name" placeholder="请输入赛事名称" size="mini"></el-input>
+                        <el-input @clear="getData()" clearable v-model="queryParams.name" placeholder="请输入赛事名称" size="mini"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="4">
@@ -33,6 +33,7 @@
                 <el-table-column align="center"  prop="date" label="操作">
                     <template slot-scope="scope">
                         <el-button @click="title='编辑赛事',open=true,form=scope.row" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
         </el-table>
@@ -112,6 +113,19 @@ export default {
         }
     },
     methods:{
+        del(id) {
+        this.$confirm("确定删除吗?", "提示", {
+            type: "warning",
+        }).then(() => {
+            this.$api.delMatch({ id: id }).then((res) => {
+            this.$message({
+                message: "删除成功",
+                type: "success",
+            });
+            this.getData();
+            });
+        });
+        },
         gopage(size) {
             if (size) {
                 this.queryParams.page_size = size;

+ 30 - 7
src/views/player/index.vue

@@ -6,19 +6,19 @@
             <el-row>
                 <el-col :span="5">
                     <el-form-item label="用户">
-                        <el-input clearable v-model="queryParams.username" placeholder="请输入用户名/代码" size="mini"></el-input>
+                        <el-input clearable @clear="getData()" v-model="queryParams.username" placeholder="请输入用户名/代码" size="mini"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="5">
                     <el-form-item label="比赛名称" prop="match_id">
-                        <el-select v-model="queryParams.match_id" placeholder="请选择比赛" size="mini">
+                        <el-select clearable v-model="queryParams.match_id" placeholder="请选择比赛" size="mini" @change="getData()">
                             <el-option v-for="item in matchList" :key='item.id' :label="item.name" :value="item.id"></el-option>
                         </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="5">
                     <el-form-item label="比赛分组">
-                        <el-select v-model="queryParams.groupId" placeholder="请选择比赛分组" size="mini">
+                        <el-select clearable v-model="queryParams.groupId" placeholder="请选择比赛分组" size="mini" @change="getData()">
                         <el-option v-for="item in groupList" :key='item.id' :label="item.name" :value="item.id"></el-option>
 
                         </el-select>
@@ -27,6 +27,7 @@
                 <el-col :span="4">
                     <el-form-item label-width="10" style='margin-left:10px'>
                         <el-button type="primary" @click="getData" size="mini">筛选</el-button>
+                        <el-button type="nomal" @click="queryParams={},getData()" size="mini">重置</el-button>
                         <el-button
                         type="primary"
                         plain
@@ -42,8 +43,8 @@
                 <el-table-column align="center" prop="usercode" label="选手代码"/>
                 <el-table-column align="center"  prop="username" label="选手名称"/>
                 <el-table-column align="center"  prop="match_name" label="比赛名称"/>
-                <el-table-column align="center"  prop="match_group" label="比赛分组"/>
-                <el-table-column align="center"  prop="fund" label="参赛资金"/>
+                <el-table-column align="center"  prop="match_group_name" label="比赛分组"/>
+                <el-table-column align="center"  prop="fund" label="参赛资金(万元)"/>
                 <el-table-column align="center"  prop="date" label="参赛状态">
                     <template slot-scope="scope">
                         <span v-if='scope.row.match_status==1'>参赛中</span>
@@ -53,7 +54,8 @@
                 </el-table-column>
                 <el-table-column align="center"  prop="date" label="操作">
                     <template slot-scope="scope">
-                        <el-button @click="title='编辑选手',open=true,form=scope.row" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="edit(scope.row.id)" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
         </el-table>
@@ -111,7 +113,8 @@ export default {
         return{
             loading:false,
             queryParams:{
-                page:1
+                page:1,
+                page_size:10
             },
             form:{
                 match_status:1
@@ -146,6 +149,19 @@ export default {
         }
     },
     methods:{
+        del(id) {
+        this.$confirm("删除选手会删除相关数据,确定删除吗?", "提示", {
+            type: "warning",
+        }).then(() => {
+            this.$api.delPlayer({ id: id }).then((res) => {
+            this.$message({
+                message: "删除成功",
+                type: "success",
+            });
+            this.getData();
+            });
+        });
+        },
         gopage(size) {
             if (size) {
                 this.queryParams.page_size = size;
@@ -176,6 +192,13 @@ export default {
             this.title='新增选手';
             this.form={}
         },
+        edit(id){
+            this.title = "编辑选手"
+            this.$api.getPlayerInfo({id:id}).then(res=>{
+                this.form = res.data.data
+                this.open = true
+            })
+        },
         /** 提交按钮 */
         submitForm() {
             this.$refs["form"].validate(valid => {

+ 33 - 10
src/views/user/index.vue

@@ -6,7 +6,7 @@
             <el-row>
                 <el-col :span="4">
                     <el-form-item label="用户">
-                        <el-input clearable v-model="queryParams.username" placeholder="请输入用户名/代码" size="mini"></el-input>
+                        <el-input clearable @clear="getData()" v-model="queryParams.username" placeholder="请输入用户名/代码" size="mini"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :span="4">
@@ -32,10 +32,11 @@
                          <span v-else>未绑定</span>
                     </template>
                 </el-table-column>
-                <el-table-column align="center"  prop="date" label="资产"/>
+                <!-- <el-table-column align="center"  prop="date" label="资产"/> -->
                 <el-table-column align="center"  prop="date" label="操作">
                     <template slot-scope="scope">
                         <el-button @click="title='编辑用户',open=true,form=scope.row" size="mini" type="warning">编辑</el-button>
+                        <el-button @click="del(scope.row.id)" size="mini" type="danger">删除</el-button>
                     </template>
                 </el-table-column>
         </el-table>
@@ -93,6 +94,19 @@ export default {
         }
     },
     methods:{
+        del(id) {
+        this.$confirm("删除用户会删除相关数据,确定删除吗?", "提示", {
+            type: "warning",
+        }).then(() => {
+            this.$api.delUser({ id: id }).then((res) => {
+            this.$message({
+                message: "删除成功",
+                type: "success",
+            });
+            this.getData();
+            });
+        });
+        },
         gopage(size) {
             if (size) {
                 this.queryParams.page_size = size;
@@ -118,16 +132,25 @@ export default {
             this.$refs["form"].validate(valid => {
                 if (valid) {
                 if (this.form.id != null) {
-                    this.$api.editUser(this.form).then(response => {
-                    this.msgSuccess("修改成功");
-                    this.open = false;
-                    this.getData();
+                    this.$api.editUser(this.form).then(res => {
+                    if(res.data.code==0){
+                        this.msgSuccess("成功!");
+                        this.open = false;
+                        this.getData();
+                    }else{
+                        this.msgError(res.data.message);
+                    }
+                    
                     });
                 } else {
-                    this.$api.addUser(this.form).then(response => {
-                    this.msgSuccess("新增成功");
-                    this.open = false;
-                    this.getData();
+                    this.$api.addUser(this.form).then(res => {
+                    if(res.data.code==0){
+                        this.msgSuccess("成功!");
+                        this.open = false;
+                        this.getData();
+                    }else{
+                        this.msgError(res.data.message);
+                    }
                     });
                 }
         }