Files
UNION_HUTB/target/classes/views/platform/jsz/pc/GiftBackTrack.html
T
2026-09-09 09:14:28 +08:00

238 lines
9.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!--#
layout("/layouts/platform.html"){
#-->
<style>
.clearfix {
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
<div id="app" v-cloak style="padding: 30px 0 ">
<el-row>
<el-col :span="12" :offset="6">
<el-row>
<el-select v-model="formData.activity_id"
style="width: 100%">
<el-option v-for="i in activityOptions" :label="i.name" :value="i._id"
:key="i._id"></el-option>
</el-select>
</el-row>
<el-row style="margin: 20px 0;display: flex;align-items: center;justify-content: space-between;">
<!-- <el-input placeholder="请输入工号" v-model="formData.loginname" class="input-with-select">-->
<!-- <el-button slot="append" type="primary" :loading="trackLoading" @click="giftBackTracking"-->
<!-- icon="el-icon-plus">补录-->
<!-- </el-button>-->
<!-- </el-input>-->
<el-select
v-model="formData.loginname"
filterable
remote
reserve-keyword
placeholder="请输入姓名或工号查询"
:remote-method="remoteMethod" clearable
:loading="loading" style="width: calc(100% - 100px)">
<el-option
v-for="item in options"
:key="item.loginname"
:label="item.username+' - '+item.loginname+''+item.unitname+''"
:value="item.loginname">
</el-option>
</el-select>
<el-button type="primary" :loading="trackLoading" @click="giftBackTracking"
icon="el-icon-plus">补录
</el-button>
</el-row>
<el-card class="box-card" shadow="never">
<div slot="header" class="clearfix">
<div style="width: 20%;font-size: 18px;color: #409EFF">补录列表</div>
<div style="width: 80%;text-align: right">
<el-input style="width: 200px" placeholder="请输入姓名或工号查询" clearable
v-model="pageForm.keyword"></el-input>
<el-button type="primary" icon="el-icon-search" @click="pageData"></el-button>
</div>
</div>
<div class="text item">
<el-row>
<el-table :data="tableData" style="width: 100%" row-key="id" v-loading="tableLoading">
<el-table-column align="center" header-align="center" label="序号" type="index">
<template scope="scope">
<span>{{scope.$index+(pageForm.pageNumber - 1) * pageForm.pageSize + 1}} </span>
</template>
</el-table-column>
<el-table-column label="工号" prop="loginname" header-align="center"
align="center"></el-table-column>
<el-table-column label="姓名" prop="username" header-align="center"
align="center"></el-table-column>
<el-table-column label="补录时间" prop="use_time" header-align="center"
align="center">
<template scope="{row:{use_time}}">
{{moment(use_time).format('YYYY-MM-DD HH:mm:ss')}}
</template>
</el-table-column>
<el-table-column label="操作" prop="_id" header-align="center" width="100px"
align="center">
<template scope="{row:{_id}}">
<el-button circle icon="el-icon-delete" type="danger" size="small"
@click="doDelete(_id)"></el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="el-pagination-container">
<el-pagination
@current-change="pageNumberChange"
:current-page="pageForm.pageNumber"
:page-size="pageForm.pageSize"
layout="total, prev, pager, next"
:total="pageForm.totalCount">
</el-pagination>
</el-row>
</div>
</el-card>
</el-col>
</el-row>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
options: [],
pageForm: {
pageNumber: 1,
pageSize: 10
},
trackLoading: false,
tableLoading: false,
loading: false,
activityOptions: [],
tableData: [],
formData: {}
}
},
methods: {
doDelete(id) {
this.$confirm('是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
callback: async (a, b) => {
if ("confirm" == a) {//确认后再执行
const {code, msg} = await $.post("/platform/jsz/gift_back_track/delete", {id})
if (code == 0) {
this.$message({
message: msg,
type: 'success'
});
this.pageData();
} else {
this.$message({
message: msg,
type: 'error'
});
}
}
}
})
},
async remoteMethod(query) {
if (query !== '') {
this.loading = true;
const {data} = await $.post("/platform/jsz/gift_back_track/queryUser", {keyword: query})
this.options = data
this.loading = false;
} else {
this.options = [];
}
},
pageNumberChange(val) {//分页大小更新操作
this.pageForm.pageNumber = val;
this.pageData();
}
,
pageData() {//加载分页数据
this.tableLoading = true
$.post(base + "/platform/jsz/gift_back_track/pageData", this.pageForm, (data) => {
this.tableLoading = false
if (data.code == 0) {
this.tableData = data.data.list;
this.pageForm.totalCount = data.data.totalCount;
} else {
this.$message({
message: data.msg,
type: 'error'
});
}
}, "json");
}
,
async getActivity() {
const {data} = await $.get('/jsz/common/getAllHd')
this.activityOptions = data
if (this.activityOptions.length > 0) {
this.formData.activity_id = this.activityOptions[0]._id
this.pageForm.activity_id = this.activityOptions[0]._id
this.pageData()
}
}
,
async giftBackTracking() {
if (!this.formData.activity_id) {
this.$notify({
title: '警告',
message: '请选择活动!',
type: 'warning'
});
}
if (!this.formData.loginname) {
this.$notify({
title: '警告',
message: '请填写工号!',
type: 'warning'
});
}
this.trackLoading = true
const {success, message} = await $.post('/platform/jsz/gift_back_track/giftBackTracking', this.formData)
this.trackLoading = false
if (!success) {
this.$notify.error({
title: '警告',
message: message,
});
return
}
this.$notify({
title: '成功',
message: message,
type: 'success'
});
this.formData.loginname = ""
this.pageData()
}
},
async created() {
this.getActivity()
}
})
</script>
<!--#
}
#-->