练习仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
3.2 KiB

1 month ago
  1. <script setup>
  2. import { ref, reactive, onMounted } from 'vue'
  3. import { ElMessage, ElMessageBox } from "element-plus";
  4. import { useRoute } from 'vue-router';
  5. import couponApi from '@/api/coupon';
  6. const couponId = ref()
  7. const route = useRoute();
  8. const Id = Number(route.query.id);
  9. console.log("卡券id:" + Id);
  10. onMounted(() => {
  11. // 这样就能正确打印出数字了
  12. })
  13. const list = ref([
  14. {
  15. "name": "彭梦",
  16. "jwcode": 30005251,
  17. "deptName": "总部",
  18. "shopName": "研发部"
  19. }
  20. ])
  21. const couponQuery = reactive({
  22. couponId: 0,
  23. pageNo: 1,
  24. pageSize: 20
  25. })
  26. const total = ref(0)
  27. function loadData() {
  28. couponQuery.couponId = Id
  29. couponApi.selectcouponUsers(couponQuery).then(result => {
  30. list.value = result.data
  31. total.value = result.data.total
  32. console.log('======' + list.value);
  33. })
  34. }
  35. loadData()
  36. const deleteId = reactive({})
  37. function deleteByCoupinAndUserId(jwcode,couponId = Id) {
  38. ElMessageBox.confirm(
  39. '确定删除该用户卡券吗?',
  40. '警告',
  41. {
  42. confirmButtonCText: '确认',
  43. cancelButtonText: '取消',
  44. type: 'warning',
  45. lockScroll: false
  46. }
  47. ).then(() => {
  48. couponApi.deleteByCoupinAndUserId(jwcode,couponId = Id).then(result=>{
  49. if(result.code==200){
  50. ElMessage.success(result.message)
  51. loadData()
  52. }else{
  53. ElMessage.error(result.message)
  54. }
  55. })
  56. })
  57. }
  58. </script>
  59. <template>
  60. <el-card>
  61. <el-form :inline="true">
  62. <el-form-item label="名字">
  63. <el-input v-model="couponQuery.name" placeholder="请输入名字" clearable />
  64. </el-form-item>
  65. <el-form-item label="手机号">
  66. <el-input v-model="couponQuery.jwcode" placeholder="请输入精网号" clearable />
  67. </el-form-item>
  68. <el-form-item>
  69. <el-button type="primary" @click="loadData">搜索</el-button>
  70. </el-form-item>
  71. </el-form>
  72. <el-table style="width: 100%;" :data="list">
  73. <el-table-column type="index" label="序号" width="100px"></el-table-column>
  74. <el-table-column prop="name" label="姓名"></el-table-column>
  75. <el-table-column prop="jwcode" sortable label="精网号"></el-table-column>
  76. <el-table-column prop="deptName" label="分部"></el-table-column>
  77. <el-table-column prop="shopName" label="门店"></el-table-column>
  78. <el-table-column align="center" width="200px" fixed="right" label="操作">
  79. <template #default="{ row }">
  80. <!-- 删除按钮 -->
  81. <el-button type="danger" plain
  82. @click="deleteByCoupinAndUserId(row.jwcode)">删除</el-button>
  83. </template>
  84. </el-table-column>
  85. </el-table>
  86. <el-pagination v-model:current-page="couponQuery.page" v-model:page-size="couponQuery.limit"
  87. :page-sizes="[20, 50, 100, 200]" layout="total, sizes, prev, pager, next, jumper" :total="total"
  88. @change="loadData" style="margin-top: 20px; justify-content: flex-end" />
  89. </el-card>
  90. </template>
  91. <style></style>