UserManage.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <script setup>
  2. import sHeader from "@/components/SimpleHeader";
  3. import { banUserOrder } from "@/service/userManage";
  4. import { ref, onMounted, onBeforeUnmount } from "vue";
  5. import { showToast, showFailToast } from "vant";
  6. import { useUserStore } from '@/stores/user';
  7. import { useRouter } from 'vue-router'
  8. import dateUtil from "@/utils/dateUtil";
  9. const userName = ref('');
  10. const phone = ref('');
  11. const identityCard = ref('');
  12. const payeeCode = ref('');
  13. // const allowMaximum = ref('');
  14. // const cardNo = ref('');
  15. // const buyPriorityRank = ref(''); // 买卖优先级/奋斗贡献值
  16. const userId = ref(''); // 被禁用的用户id
  17. const stockNum = ref()
  18. // const applyId = ref('');
  19. const userStore = useUserStore();
  20. const router = useRouter();
  21. const startTime = ref('');
  22. const showStartTime = ref(false);
  23. const onConfStartTime = ({ selectedValues }) => {
  24. startTime.value = selectedValues.join('-');
  25. showStartTime.value = false;
  26. };
  27. const endTime = ref('')
  28. const showEndTime = ref(false)
  29. const onConfEndTime = ({ selectedValues }) => {
  30. endTime.value = selectedValues.join('-');
  31. showEndTime.value = false;
  32. };
  33. const minDate = ref(new Date(2024, 4, 1))
  34. onMounted(() => {
  35. if (userStore.userInfo) {
  36. console.log("userStore.userInfo >>>", userStore.userInfo);
  37. userName.value = userStore.userInfo.userName;
  38. phone.value = userStore.userInfo.phone;
  39. identityCard.value = userStore.userInfo.identityCard;
  40. payeeCode.value = userStore.userInfo.payeeCode;
  41. // cardNo.value = userStore.userInfo.cardNo;
  42. // applyId.value = userStore.userInfo.id;
  43. userId.value = userStore.userInfo.userId;
  44. stockNum.value = userStore.userInfo.stockNum;
  45. }
  46. });
  47. // 当组件卸载时清除用户信息
  48. onBeforeUnmount(() => {
  49. userStore.clearUserInfo();
  50. });
  51. // 禁用用户
  52. const banUserClc = async () => {
  53. const startTimeDate = new Date(startTime.value);
  54. const endTimeDate = new Date(endTime.value);
  55. const startTimeFmt = dateUtil.formateDate(startTimeDate, "yyyy-MM-dd") + " 00:00:00";
  56. const endTimeFmt = dateUtil.formateDate(endTimeDate, "yyyy-MM-dd") + " 00:00:00";
  57. console.log("Fmt >>>", startTimeFmt, endTimeFmt);
  58. const userCheck = {
  59. startTime: startTimeFmt,
  60. endTime: endTimeFmt,
  61. userId: userId.value
  62. }
  63. const { data } = await banUserOrder(userCheck);
  64. if (data.code === "00000") {
  65. // 成功
  66. showToast("已禁止该用户交易");
  67. router.go(-1)
  68. } else {
  69. showFailToast(data.message);
  70. }
  71. }
  72. </script>
  73. <template>
  74. <!-- 禁止用户交易-->
  75. <div class="fife" style="background-color:#ebedf0">
  76. <s-header :name="'禁止用户交易'" :noback="false"></s-header>
  77. <br>
  78. <van-form>
  79. <van-cell-group inset>
  80. <van-field v-model="userName" readonly name="用户名" label="用户名" placeholder="用户名" left-icon="smile-o" />
  81. <van-field v-model="phone" readonly name="手机号码" label="手机号码" placeholder="手机号码" left-icon="phone-o"
  82. :rules="[{ required: true, message: '手机号码不能为空' }]" />
  83. <van-field v-model="identityCard" readonly name="身份证号" label="身份证号" placeholder="身份证号"
  84. left-icon="contact-o" />
  85. <van-field v-model="payeeCode" readonly name="支付宝号" label="支付宝号" placeholder="支付宝号"
  86. left-icon="certificate" />
  87. <van-field v-model="stockNum" readonly name="当前股票份额" label="当前股票份额" placeholder="当前股票份额" left-icon="points" />
  88. <van-field v-model="startTime" is-link readonly name="startDatePicker" label="开始时间"
  89. placeholder="选择开始禁用时间" @click="showStartTime = true" left-icon="clock-o" />
  90. <van-popup v-model:show="showStartTime" position="bottom">
  91. <van-date-picker @confirm="onConfStartTime" @cancel="showStartTime = false" :min-date="minDate" />
  92. </van-popup>
  93. <van-field v-model="endTime" is-link readonly name="endDatePicker" label="结束时间" placeholder="选择结束禁用时间"
  94. @click="showEndTime = true" left-icon="clock-o" />
  95. <van-popup v-model:show="showEndTime" position="bottom">
  96. <van-date-picker @confirm="onConfEndTime" @cancel="showEndTime = false" :min-date="minDate" />
  97. </van-popup>
  98. </van-cell-group>
  99. <div style="margin: 20px 30px; display: flex; justify-content: center; align-items: center; gap: 50px;">
  100. <van-button round class="custom-button" type="primary" size="small" @click="banUserClc"
  101. block>禁用</van-button>
  102. </div>
  103. </van-form>
  104. </div>
  105. </template>
  106. <style scoped></style>