Prechádzať zdrojové kódy

代扣签约添加入金时间限制

Handy_Cao 1 rok pred
rodič
commit
956c6a71d7

+ 37 - 11
src/packages/gstj/views/holdbank/holddeposit/components/apply/Index.vue

@@ -24,6 +24,9 @@
                     </Field> -->
                     <Field v-model="Remark" label="备注" placeholder="请输入备注" />
                 </CellGroup>
+                <div class="tips_time">
+                    <span class="tips">操作时间:交易日 {{ start }} - {{ end }}</span>
+                </div>
             </Form>
             <template #footer>
             <div class="g-form__footer inset">
@@ -37,10 +40,12 @@
 <script lang="ts" setup>
 import { shallowRef, ref } from 'vue'
 import { Form, Field, CellGroup, Button, FieldRule, FormInstance, Stepper } from 'vant'
-import { useDoYJF_WithholdInApply } from '@/business/bank'
+import { useDoYJF_WithholdInApply, useDoCusBankExtendConfigs } from '@/business/bank'
 import { formatDecimal } from '@/filters'
 import { fullloading, dialog } from '@/utils/vant'
+import { useUserStore } from '@/stores'
 import AppModal from '@/components/base/modal/index.vue'
+import moment from 'moment'
 
 const { formData, onSubmit, bankaccountno } = useDoYJF_WithholdInApply()
 const showModal = shallowRef(true)
@@ -52,6 +57,11 @@ const Remark = ref('')
 /// 金额
 const billAmount = ref(0.0)
 
+/// 时间限制
+const { getSystemParamValue } = useUserStore()
+const start = getSystemParamValue('012') ?? ''
+const { end } = useDoCusBankExtendConfigs(2)
+
 // 关闭弹窗
 const closed = (isRefresh = false) => {
     refresh.value = isRefresh
@@ -78,16 +88,32 @@ const formRules: { [key: string]: FieldRule[] } = {
 }
 
 const formSubmit = () => {
-    fullloading((hideLoading) => {
-        formData.BillAmount = formatDecimal(billAmount.value)
-        onSubmit().then(() => {
-            hideLoading()
-            dialog('提交成功,请稍后确认结果。').then(() => {
-                closed(true)
+    const now = moment().format('HH:mm')
+    const n = moment(now, 'HH:mm')
+    const s = moment(start, 'HH:mm')
+    const e = moment(end.value, 'HH:mm')
+    if (n.isAfter(s) && n.isBefore(e)) {
+        fullloading((hideLoading) => {
+            formData.BillAmount = formatDecimal(billAmount.value)
+            onSubmit().then(() => {
+                hideLoading()
+                dialog('提交成功,请稍后确认结果。').then(() => {
+                    closed(true)
+                })
+            }).catch((err) => {
+                hideLoading(err, 'fail')
             })
-        }).catch((err) => {
-            hideLoading(err, 'fail')
         })
-    })
+    } else {
+        dialog({
+            title: '提示',
+            message: '入金代扣操作不在时间范围内',
+            confirmButtonText: '我知道了'
+        })
+    }
 }
-</script>
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 4 - 0
src/packages/gstj/views/holdbank/holddeposit/components/apply/index.less

@@ -0,0 +1,4 @@
+.tips_time {
+    background-color: white; 
+    margin: 10px 15px; 
+}

+ 42 - 14
src/packages/gstj/views/holdbank/holdsign/components/apply/Index.vue

@@ -16,6 +16,11 @@
                     <Field name="Addr" label="联系地址" type="textarea" autosize maxlength="128" v-model.trim="formData.Addr" placeholder="请输入联系地址"/>
                     <Field name="Remark" type="textarea" autosize label="备注" maxlength="128" v-model.trim="formData.Remark" placeholder="备注"/>
                 </CellGroup>
+                <CellGroup inset>
+                    <div class="tips_time">
+                        <span class="tips">操作时间:交易日 {{ start }} - {{ end }}</span>
+                    </div>
+                </CellGroup>
             </Form>
             <template #footer>
                 <div class="g-form__footer inset">
@@ -32,10 +37,11 @@
 import { shallowRef, ref, defineAsyncComponent } from 'vue'
 import { CellGroup, Field, Button, showFailToast, FormInstance, Form, FieldRule, Calendar } from 'vant'
 import { fullloading, dialog } from '@/utils/vant'
-import { useDoYJFGetWithholdSignInSMSVCode } from '@/business/bank'
+import { useDoYJFGetWithholdSignInSMSVCode, useDoCusBankExtendConfigs } from '@/business/bank'
 import { validateRules } from '@/constants/regex'
 import { formatDate } from '@/filters'
 import { useComponent } from '@/hooks/component'
+import { useUserStore } from '@/stores'
 import moment from 'moment'
 import AppModal from '@/components/base/modal/index.vue'
 
@@ -48,6 +54,12 @@ const { formData, onSubmit, bankaccountno } = useDoYJFGetWithholdSignInSMSVCode(
 // 日期范围
 const dateRange = ref<string[]>([]) 
 
+const { getSystemParamValue } = useUserStore()
+/// 入金时间范围
+const start = getSystemParamValue('012') ?? ''
+/// 不为空 入金取 318 出金取 319
+const { end } = useDoCusBankExtendConfigs(2)
+
 const { componentRef, componentId, openComponent, closeComponent } = useComponent(() => {
     closed(true)
 })
@@ -93,21 +105,33 @@ const onConfirm = ([start, end]: Date[]) => {
 
 // 获取验证码
 const formSubmit = () => {
-    dialog({
-        message: '确认要申请代扣签约吗?',
-        showCancelButton: true
-    }).then(() => {
-        formRef.value?.validate('Lxdh').then(() => {
-            fullloading((hideLoading) => {
-                onSubmit().then(() => {
-                    hideLoading()
-                    openComponent('SMSCode')
-                }).catch((err) => {
-                    showFailToast(err)
+    const now = moment().format('HH:mm')
+    const n = moment(now, 'HH:mm')
+    const s = moment(start, 'HH:mm')
+    const e = moment(end.value, 'HH:mm')
+    if (n.isAfter(s) && n.isBefore(e)) {
+        dialog({
+            message: '确认要申请代扣签约吗?',
+            showCancelButton: true
+        }).then(() => {
+            formRef.value?.validate('Lxdh').then(() => {
+                fullloading((hideLoading) => {
+                    onSubmit().then(() => {
+                        hideLoading()
+                        openComponent('SMSCode')
+                    }).catch((err) => {
+                        showFailToast(err)
+                    })
                 })
             })
         })
-    })
+    } else {
+        dialog({
+            title: '提示',
+            message: '代扣签约不在时间范围内',
+            confirmButtonText: '我知道了'
+        })
+    }
 }
 
 // 关闭弹窗
@@ -120,4 +144,8 @@ const closed = (isRefresh = false) => {
 defineExpose({
     closed,
 })
-</script>
+</script>
+
+<style lang="less">
+@import './index.less';
+</style>

+ 5 - 0
src/packages/gstj/views/holdbank/holdsign/components/apply/index.less

@@ -0,0 +1,5 @@
+
+.tips_time {
+    background-color: white; 
+    margin: 10px 15px; 
+}