EditTaskClass.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <n-button :loading="loading" type="primary" size="small" @click="showEditModal">编辑</n-button>
  3. <n-modal
  4. v-model:show="showModal"
  5. preset="dialog"
  6. positive-text="确认"
  7. negative-text="取消"
  8. :show-icon="false"
  9. @positive-click="handleEdit"
  10. >
  11. <n-form :model="formValue" label-width="auto" show-require-mark>
  12. <n-form-item label="ID" path="T_id">
  13. <n-input v-model:value="formValue.T_id" />
  14. </n-form-item>
  15. <n-form-item label="SN" path="T_sn">
  16. <n-input v-model:value="formValue.T_sn" />
  17. </n-form-item>
  18. </n-form>
  19. </n-modal>
  20. </template>
  21. <script setup>
  22. import { editTaskDataClass } from "@/api";
  23. //
  24. const loading = ref(false);
  25. const message = useMessage();
  26. const props = defineProps({
  27. task: {
  28. type: Object,
  29. default: () => ({}),
  30. },
  31. taskClass: {
  32. type: Object,
  33. default: () => ({}),
  34. },
  35. getClassList: {
  36. type: Function,
  37. default: () => {},
  38. },
  39. });
  40. //
  41. const showModal = ref(false);
  42. //
  43. const formValue = reactive({
  44. T_sn: props.taskClass.T_sn,
  45. T_id: props.taskClass.T_id,
  46. });
  47. //
  48. const handleEdit = async () => {
  49. try {
  50. loading.value = true;
  51. const { data: res } = await editTaskDataClass({
  52. T_task_id: props.task.T_task_id,
  53. T_sn: formValue.T_sn,
  54. T_id: formValue.T_id,
  55. });
  56. if (res.Code === 200) {
  57. message.success(res.Msg);
  58. props.getClassList();
  59. }
  60. loading.value = false;
  61. } catch (e) {
  62. console.log(e);
  63. }
  64. };
  65. //
  66. const showEditModal = () => {
  67. showModal.value = true;
  68. };
  69. </script>
  70. <style lang="scss" scoped></style>