Browse Source

合并冲突

Alex 9 months ago
parent
commit
eb0ce96a70

+ 3 - 4
src/components/CommonPage/SimpleFormModal.vue

@@ -69,7 +69,7 @@
     idKey: { type: String, default: 'id' },
     fallbackData: { type: Function, default: (data) => data } //回填数据
   });
-  const emit = defineEmits(['success']);
+  const emit = defineEmits(['success', 'refresh']);
   /** 弹窗是否打开 */
   const visible = defineModel({ type: Boolean });
 
@@ -128,8 +128,6 @@
 
   const formRef = ref();
   const handleSumbit = () => {
-    console.log(props.formatData, '格式化数据');
-
     formRef.value?.submitForm().then((data) => {
       console.log(data, '格式化数据data');
 
@@ -141,7 +139,8 @@
         if (res.data.code !== 200) return EleMessage.error(res.data.msg);
         visible.value = false;
         emit('success', data);
-        EleMessage.success(format[props.idKey] ? '编辑成功' : '操作成功');
+        EleMessage.success('操作成功');
+        // EleMessage.success(format[props.idKey] ? '操作成功' : '操作成功');
       });
     });
   };

+ 7 - 6
src/views/recycleLogistics/abnormalSign/index.vue

@@ -53,9 +53,9 @@
         </template>
 
         <component :is="orderLog" ref="orderLogRef" />
-        <component :is="orderDetail" ref="orderDetailRef" @refresh="pageRef.value?.reload()" />
+        <component :is="orderDetail" ref="orderDetailRef" @refresh="handleStatusChange" />
         <userBindTag ref="userTagRef" />
-        <reject-modal ref="rejectModalRef" @success="pageRef.value?.reload()" />
+        <reject-modal ref="rejectModalRef" @refresh="handleStatusChange" />
     </order-page>
 </template>
 
@@ -127,12 +127,13 @@ function handleAgree(row) {
 
 // 驳回异常签收
 function handleReject(row) {
-    rejectModalRef.value?.handleOpen(row.orderId);
+    let id = row.exceptOrderCheckInfo.id;
+    rejectModalRef.value?.handleOpen(id);
 }
 
-const { 
-    handleCancelOrder, 
-    applyForInterception, 
+const {
+    handleCancelOrder,
+    applyForInterception,
     fallbackOrder,
     toOrderDetail,
     openOrderLog,

+ 77 - 37
src/views/recycleLogistics/components/reject-modal.vue

@@ -1,52 +1,92 @@
 <!-- 驳回弹窗 -->
 <template>
-    <simple-form-modal title="驳回提示" :items="formItems" ref="editRef" :baseUrl="baseUrl" :formatData="formatData"
-        @success="(data) => emit('success', data)"></simple-form-modal>
+  <ele-modal
+    form
+    :width="540"
+    v-model="visible"
+    title="驳回提示"
+    @open="handleOpen"
+  >
+    <SimpleForm
+      :items="formItems"
+      labelWidth="80"
+      ref="formRef"
+      :initKeys="form"
+    ></SimpleForm>
+    <template #footer>
+      <el-button @click="handleCancel">取消</el-button>
+      <el-button type="primary" @click="handleSumbit">确定</el-button>
+    </template>
+  </ele-modal>
 </template>
 
 <script setup>
-import { reactive, ref, defineEmits, computed } from 'vue';
-import SimpleFormModal from '@/components/CommonPage/SimpleFormModal.vue';
+  import { ref, reactive, nextTick, computed } from 'vue';
+  import SimpleForm from '@/components/CommonPage/SimpleForm.vue';
+  import request from '@/utils/request';
 
-const emit = defineEmits(['success']);
+  /** 弹窗是否打开 */
+  const visible = defineModel({ type: Boolean });
 
-const formItems = computed(() => {
+  /** 关闭弹窗 */
+  const handleCancel = () => {
+    visible.value = false;
+    nextTick(() => {
+      formRef.value?.resetForm();
+    });
+  };
+
+  const form = ref({
+    id: '',
+    checkStatus: 3,
+    refusalReson: ''
+  });
+
+  /** 弹窗打开事件 */
+  const handleOpen = (id) => {
+    if (!id) return;
+    visible.value = true;
+    nextTick(() => {
+      form.value.id = id;
+      formRef.value?.setData(form.value);
+    });
+  };
+
+  const formItems = computed(() => {
     return [
-        {
-            type: 'dictSelect',
-            label: '驳回原因',
-            prop: 'refusalReson',
-            props: { code: 'audit_reject_reason', class: 'custom-select' },
+      {
+        type: 'dictSelect',
+        label: '驳回原因',
+        prop: 'refusalReson',
+        required: true,
+        props: {
+          code: 'audit_reject_reason',
+          class: 'custom-select'
         }
+      }
     ];
-});
+  });
 
-//默认值
-const baseUrl = reactive({
-    add: '/order/orderInfo/exceptcheck',
-    update: '/order/orderInfo/exceptcheck'
-});
+  const formRef = ref();
 
-const formData = ref({
-    id: '',
-    checkStatus: 3
-});
-
-const formatData = (data) => {
-    return {
-        id: formData.value.id,
-        checkStatus: formData.value.checkStatus,
+  const emit = defineEmits(['refresh']);
+  const handleSumbit = () => {
+    formRef.value?.submitForm().then((data) => {
+      const formattedData = {
+        id: form.value.id,
+        checkStatus: form.value.checkStatus,
         refusalReson: data.refusalReson,
         refusalResonCode: data.refusalReson
-    }
-}
-
-const editRef = ref(null);
-
-function handleOpen(id) {
-    formData.value.id = id;
-    editRef.value?.handleOpen(formData.value);
-}
+      };
+      request.post('/order/orderInfo/exceptcheck', formattedData).then(() => {
+        visible.value = false;
+        ElMessage.success('驳回成功');
+        emit('refresh', formattedData);
+      });
+    });
+  };
 
-defineExpose({ handleOpen });
-</script> 
+  defineExpose({
+    handleOpen
+  });
+</script>