Handy_Cao 2 년 전
부모
커밋
9610c612f9

+ 12 - 3
src/packages/gstj/views/bank/sign/components/edit/Index.vue

@@ -2,7 +2,7 @@
     <app-modal direction="right" height="100%" v-model:show="showModal" :refresh="refresh">
         <app-view class="g-form">
             <template #header>
-                <app-navbar :title="bankInfo ? '修改签约账户' : '添加签约账户'" @back="closed" />
+                <app-navbar :title="isedit ? '修改签约账户' : '添加签约账户'" @back="closed" />
             </template>
             <Form ref="formRef" class="g-form__container" @submit="formSubmit">
                 <CellGroup inset>
@@ -37,6 +37,7 @@ import { fullloading, dialog } from '@/utils/vant'
 import { useDoBankSign } from '@/business/bank'
 import AppSelect from '../../../../../components/base/select/index.vue'
 import { validateRules } from '@/constants/regex'
+import { useErrorInfoStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
@@ -44,6 +45,13 @@ const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
 
+const props = defineProps({
+    isedit: {
+        type: Boolean,
+        required: true,
+    }
+})
+
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
     OpenBankAccId: [{
@@ -76,11 +84,12 @@ const formSubmit = () => {
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()
-            dialog(bankInfo ? '签约信息修改成功' : '签约提交成功,请耐心等待审核。').then(() => {
+            dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {
                 closed(true)
             })
         }).catch((err) => {
-            showFailToast(err)
+            const { getErrorInfoByCode } = useErrorInfoStore()
+            showFailToast(getErrorInfoByCode(Number(err)) ?? '')
         })
     })
 }

+ 8 - 34
src/packages/mobile/views/bank/sign/Index.vue

@@ -20,49 +20,30 @@
             <div class="g-form__footer inset" v-if="bankInfo">
                 <Button type="warning" round block @click="formSubmit"
                     v-if="bankInfo.signstatus === SignStatus.Signed">解约</Button>
-                <Button type="danger" round block @click="showComponent('edit')"
-                    v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed, SignStatus.Rescinded].includes(bankInfo.signstatus)">修改</Button>
+                <Button type="danger" round block @click="openComponent('edit')"
+                    v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed].includes(bankInfo.signstatus)">修改</Button>
             </div>
         </template>
-        <component ref="componentRef" v-bind="{ isedit }" :is="componentMap.get(componentId)" @closed="closeComponent"
-            v-if="componentId" />
+        <component ref="componentRef" :is="componentMap.get(componentId)" @closed="closeComponent" v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { defineAsyncComponent, onActivated } from 'vue'
+import { onActivated, defineAsyncComponent } from 'vue'
 import { CellGroup, Cell, Button, Empty, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useComponent } from '@/hooks/component'
 import { getSignStatusName, SignStatus } from '@/constants/bank'
 import { useDoCancelBankSign } from '@/business/bank'
 import { useNavigation } from '../../../router/navigation'
-import { useErrorInfoStore } from '@/stores'
-import { shallowRef } from 'vue'
-import { useRequest } from '@/hooks/request'
-import { queryBankAccountSign } from '@/services/api/bank'
 
 const componentMap = new Map<string, unknown>([
     ['edit', defineAsyncComponent(() => import('./components/edit/Index.vue'))],
 ])
 
-const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => {
-    run()
-})
-
-const { cancelSubmit, bankInfo, formRefresh } = useDoCancelBankSign()
+const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => formRefresh())
+const { cancelSubmit, formRefresh, bankInfo } = useDoCancelBankSign()
 const { router } = useNavigation()
-/// 是否为编辑
-const isedit = shallowRef(false)
-
-/// 查询
-const { run } = useRequest(queryBankAccountSign, {
-    onSuccess: (res) => {
-        if (res.data.length != 0) {
-            bankInfo.value = res.data[0]
-        }
-    }
-})
 
 const formSubmit = () => {
     dialog({
@@ -72,24 +53,17 @@ const formSubmit = () => {
         fullloading((hideLoading) => {
             cancelSubmit().then(() => {
                 hideLoading()
-                dialog('约提交成功,请耐心等待审核。').then(() => {
+                dialog('约提交成功,请耐心等待审核。').then(() => {
                     router.back()
                 })
             }).catch((err) => {
-                const { getErrorInfoByCode } = useErrorInfoStore()
-                showFailToast(getErrorInfoByCode(Number(err)) ?? '')
+                showFailToast(err)
             })
         })
     })
 }
 
-const showComponent = (code: string) => {
-    isedit.value = true
-    openComponent(code)
-}
-
 onActivated(() => formRefresh())
-
 </script>
 
 <style lang="less">

+ 8 - 20
src/packages/qxst/views/bank/sign/Index.vue

@@ -20,35 +20,30 @@
             <div class="g-form__footer inset" v-if="bankInfo">
                 <Button type="warning" round block @click="formSubmit"
                     v-if="bankInfo.signstatus === SignStatus.Signed">解约</Button>
-                <Button type="danger" round block @click="showComponent('edit')"
-                    v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed, SignStatus.Rescinded].includes(bankInfo.signstatus)">修改</Button>
+                <Button type="danger" round block @click="openComponent('edit')"
+                    v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed].includes(bankInfo.signstatus)">修改</Button>
             </div>
         </template>
-        <component ref="componentRef" v-bind="{ isedit }" :is="componentMap.get(componentId)" @closed="closeComponent"
-            v-if="componentId" />
+        <component ref="componentRef" :is="componentMap.get(componentId)" @closed="closeComponent" v-if="componentId" />
     </app-view>
 </template>
 
 <script lang="ts" setup>
-import { defineAsyncComponent, onActivated } from 'vue'
+import { onActivated, defineAsyncComponent } from 'vue'
 import { CellGroup, Cell, Button, Empty, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useComponent } from '@/hooks/component'
 import { getSignStatusName, SignStatus } from '@/constants/bank'
 import { useDoCancelBankSign } from '@/business/bank'
 import { useNavigation } from '../../../router/navigation'
-import { useErrorInfoStore } from '@/stores'
-import { shallowRef } from 'vue'
 
 const componentMap = new Map<string, unknown>([
     ['edit', defineAsyncComponent(() => import('./components/edit/Index.vue'))],
 ])
 
-const { componentRef, componentId, openComponent, closeComponent } = useComponent()
-const { cancelSubmit, bankInfo, formRefresh } = useDoCancelBankSign()
+const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => formRefresh())
+const { cancelSubmit, formRefresh, bankInfo } = useDoCancelBankSign()
 const { router } = useNavigation()
-/// 是否为编辑
-const isedit = shallowRef(false)
 
 const formSubmit = () => {
     dialog({
@@ -58,24 +53,17 @@ const formSubmit = () => {
         fullloading((hideLoading) => {
             cancelSubmit().then(() => {
                 hideLoading()
-                dialog('约提交成功,请耐心等待审核。').then(() => {
+                dialog('约提交成功,请耐心等待审核。').then(() => {
                     router.back()
                 })
             }).catch((err) => {
-                const { getErrorInfoByCode } = useErrorInfoStore()
-                showFailToast(getErrorInfoByCode(Number(err)) ?? '')
+                showFailToast(err)
             })
         })
     })
 }
 
-const showComponent = (code: string) => {
-    isedit.value = true
-    openComponent(code)
-}
-
 onActivated(() => formRefresh())
-
 </script>
 
 <style lang="less">

+ 3 - 3
src/packages/sbyj/views/bank/sign/Index.vue

@@ -14,13 +14,13 @@
         </div>
         <div class="bank-sign__empty" v-else>
             <Empty description="您还未添加签约账户" />
-            <Button type="primary" @click="openComponent('edit')" round>添加签约账户</Button>
+            <Button type="danger" @click="openComponent('edit')" round>添加签约账户</Button>
         </div>
         <template #footer>
             <div class="g-form__footer inset" v-if="bankInfo">
                 <Button type="warning" round block @click="formSubmit"
                     v-if="bankInfo.signstatus === SignStatus.Signed">解约</Button>
-                <Button type="primary" round block @click="openComponent('edit')"
+                <Button type="danger" round block @click="openComponent('edit')"
                     v-if="[SignStatus.Unsigned, SignStatus.Refuse, SignStatus.Signed].includes(bankInfo.signstatus)">修改</Button>
             </div>
         </template>
@@ -35,7 +35,7 @@ import { fullloading, dialog } from '@/utils/vant'
 import { useComponent } from '@/hooks/component'
 import { getSignStatusName, SignStatus } from '@/constants/bank'
 import { useDoCancelBankSign } from '@/business/bank'
-import { useNavigation } from '@/packages/sbyj/router/navigation'
+import { useNavigation } from '../../../router/navigation'
 
 const componentMap = new Map<string, unknown>([
     ['edit', defineAsyncComponent(() => import('./components/edit/Index.vue'))],

+ 14 - 5
src/packages/sbyj/views/bank/sign/components/edit/Index.vue

@@ -2,7 +2,7 @@
     <app-modal direction="right" height="100%" v-model:show="showModal" :refresh="refresh">
         <app-view class="g-form">
             <template #header>
-                <app-navbar :title="bankInfo ? '修改签约账户' : '添加签约账户'" @back="closed" />
+                <app-navbar :title="isedit ? '修改签约账户' : '添加签约账户'" @back="closed" />
             </template>
             <Form ref="formRef" class="g-form__container" @submit="formSubmit">
                 <CellGroup inset>
@@ -22,7 +22,7 @@
             </Form>
             <template #footer>
                 <div class="g-form__footer inset">
-                    <Button type="primary" round block @click="formRef?.submit()">{{ bankInfo ? '修改' : '提交' }}</Button>
+                    <Button type="danger" round block @click="formRef?.submit()">{{ bankInfo ? '修改' : '提交' }}</Button>
                 </div>
             </template>
         </app-view>
@@ -35,8 +35,9 @@ import { shallowRef } from 'vue'
 import { CellGroup, Button, Field, Form, FormInstance, FieldRule, showFailToast } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
 import { useDoBankSign } from '@/business/bank'
-import AppSelect from '@/packages/sbyj/components/base/select/index.vue'
+import AppSelect from '../../../../../components/base/select/index.vue'
 import { validateRules } from '@/constants/regex'
+import { useErrorInfoStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
 
 const { formData, onSubmit, banklist, bankInfo } = useDoBankSign()
@@ -44,6 +45,13 @@ const showModal = shallowRef(true)
 const refresh = shallowRef(false) // 是否刷新父组件数据
 const formRef = shallowRef<FormInstance>()
 
+const props = defineProps({
+    isedit: {
+        type: Boolean,
+        required: true,
+    }
+})
+
 // 表单验证规则
 const formRules: { [key in keyof Proto.t2bBankSignReq]?: FieldRule[] } = {
     OpenBankAccId: [{
@@ -76,11 +84,12 @@ const formSubmit = () => {
     fullloading((hideLoading) => {
         onSubmit().then(() => {
             hideLoading()
-            dialog(bankInfo ? '签约信息修改成功' : '签约提交成功,请耐心等待审核。').then(() => {
+            dialog(props.isedit ? '签约信息修改提交成功' : '签约提交成功,请耐心等待审核。').then(() => {
                 closed(true)
             })
         }).catch((err) => {
-            showFailToast(err)
+            const { getErrorInfoByCode } = useErrorInfoStore()
+            showFailToast(getErrorInfoByCode(Number(err)) ?? '')
         })
     })
 }