index.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <ele-page flex-table>
  3. <ele-card flex-table header="访问限制规则">
  4. <el-form
  5. ref="formRef"
  6. style="max-width: 520px"
  7. :model="form"
  8. label-width="220px"
  9. >
  10. <el-form-item label="每人每日最多扫描" prop="maxEverybodyEverydayScan">
  11. <el-input v-model="form.maxEverybodyEveryDayScan">
  12. <template #append>次</template>
  13. </el-input>
  14. </el-form-item>
  15. <el-form-item label="每人每月最多可卖" prop="maxEverybodyEveryMonthNum">
  16. <el-input v-model="form.maxEverybodyEveryMonthNum">
  17. <template #append>单</template>
  18. </el-input>
  19. </el-form-item>
  20. <el-form-item label="每人每日最多可卖" prop="maxEverybodyEveryDayNum">
  21. <el-input v-model="form.maxEverybodyEveryDayNum">
  22. <template #append>单</template>
  23. </el-input>
  24. </el-form-item>
  25. <el-form-item
  26. label="未提交订单每人最多可扫描"
  27. prop="maxEverybodyScanUnSubmit"
  28. >
  29. <el-input v-model="form.maxEverybodyScanUnSubmit">
  30. <template #append>次</template>
  31. </el-input>
  32. </el-form-item>
  33. <el-form-item label="单个订单删除本数" prop="maxEverybodyOrderDelete">
  34. <el-input v-model="form.maxEverybodyOrderDelete">
  35. <template #append>本</template>
  36. </el-input>
  37. </el-form-item>
  38. <el-form-item label="每人每日最多输入ISBN(次数)" prop="maxEverybodyEveryDayInput">
  39. <el-input v-model="form.maxEverybodyEveryDayInput">
  40. <template #append>本</template>
  41. </el-input>
  42. </el-form-item>
  43. <el-form-item>
  44. <el-button
  45. style="min-width: 100px"
  46. type="primary"
  47. @click="submitForm(formRef)"
  48. v-permission="'recycleLogistics:abnormalSetting:update'"
  49. >
  50. 确认修改
  51. </el-button>
  52. </el-form-item>
  53. </el-form>
  54. </ele-card>
  55. </ele-page>
  56. </template>
  57. <script setup>
  58. import { ref, reactive, onMounted, getCurrentInstance } from 'vue';
  59. import { ElMessage } from 'element-plus';
  60. const { proxy } = getCurrentInstance();
  61. const formRef = ref(null);
  62. const form = reactive({
  63. maxEverybodyEveryDayScan: '',
  64. maxEverybodyEveryMonthNum: '',
  65. maxEverybodyEveryDayNum: '',
  66. maxEverybodyScanUnSubmit: '',
  67. maxEverybodyOrderDelete: '',
  68. maxEverybodyEveryDayInput: ''
  69. });
  70. // 获取数据
  71. const fetchData = () => {
  72. proxy.$http
  73. .get('/user/userRequestLimit/getSet')
  74. .then((res) => {
  75. if (res.data.code === 200) {
  76. Object.assign(form, res.data.data);
  77. }
  78. })
  79. .catch((error) => {
  80. console.error('获取数据失败:', error);
  81. ElMessage.error('获取数据失败');
  82. });
  83. };
  84. // 提交表单
  85. const submitForm = (formEl) => {
  86. if (!formEl) return;
  87. formEl.validate((valid, fields) => {
  88. if (valid) {
  89. proxy.$http
  90. .post('/user/userRequestLimit/update', form)
  91. .then(() => {
  92. ElMessage.success('保存成功');
  93. })
  94. .catch((error) => {
  95. console.error('保存失败:', error);
  96. ElMessage.error('保存失败');
  97. });
  98. } else {
  99. console.log('error submit!', fields);
  100. }
  101. });
  102. };
  103. onMounted(() => {
  104. fetchData();
  105. });
  106. </script>