From 07d73df3d817d01ce47f6c7b7a8d8514cd389295 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 13 三月 2025 10:19:44 +0800
Subject: [PATCH] release: @life-payment/core v0.0.3

---
 packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeBaseForm.vue |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeBaseForm.vue b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeBaseForm.vue
new file mode 100644
index 0000000..361678e
--- /dev/null
+++ b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeBaseForm.vue
@@ -0,0 +1,97 @@
+<template>
+  <NutForm
+    :model-value="form"
+    ref="formRef"
+    :rules="rules"
+    label-position="top"
+    class="order-bill-recharge phone"
+  >
+    <NutFormItem label="閫夋嫨杩愯惀鍟�:" class="bole-form-item" prop="ispCode" required>
+      <NutRadioGroup v-model="form.ispCode" direction="horizontal" @change="handleIspCodeChange">
+        <BlRadio
+          :label="key"
+          v-for="(val, key) in BlLifeRecharge.constants.IspCodeText"
+          :key="key"
+          >{{ val }}</BlRadio
+        >
+      </NutRadioGroup>
+    </NutFormItem>
+    <NutFormItem label="鍏呭�兼墜鏈哄彿" class="bole-form-item" prop="phone" required>
+      <NutInput
+        v-model.trim="form.phone"
+        class="bole-input-text"
+        placeholder="璇峰~鍐欐偍闇�瑕佸厖鍊肩殑鎵嬫満鍙风爜"
+        type="text"
+      />
+    </NutFormItem>
+    <NutFormItem
+      label="濮撳悕"
+      class="bole-form-item"
+      prop="name"
+      required
+      v-if="form.ispCode === BlLifeRecharge.constants.IspCode.dianxin"
+    >
+      <NutInput
+        v-model.trim="form.name"
+        class="bole-input-text"
+        placeholder="璇峰~鍐欐偍鐨勫鍚�"
+        type="text"
+      />
+    </NutFormItem>
+    <slot></slot>
+    <NutDialog
+      title="鎻愮ず"
+      content="鐢典俊鍙厖鍊煎尯鍩熷寘鎷細骞夸笢銆佹睙鑻忋�佹箹鍖椼�佸洓宸濄�佹睙瑗裤�佹渤鍖椼�佹渤鍗椼�佺寤恒�佽窘瀹併�傚叾瀹冨尯鍩熸鍦ㄥ垎鎵规杩涜缁存姢涓紝鍦ㄦ鏈熼棿鍙兘浼氬嚭鐜板厖鍊间笉鎴愬姛骞惰嚜鍔ㄩ��娆剧殑鎯呭喌锛岃鎮ㄨ皡瑙c��"
+      v-model:visible="dialogVisible"
+    />
+  </NutForm>
+</template>
+
+<script setup lang="ts">
+import {
+  Form as NutForm,
+  FormItem as NutFormItem,
+  RadioGroup as NutRadioGroup,
+  Input as NutInput,
+  Dialog as NutDialog,
+} from '@nutui/nutui-taro';
+import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
+import { reactive, ref, computed } from 'vue';
+import BlRadio from '../../components/Radio/Radio.vue';
+import { FormValidator } from '../../utils';
+import { BlLifeRecharge, LifeRechargeConstants } from '@life-payment/core-vue';
+
+defineOptions({
+  name: 'PhoneBillRechargeBaseForm',
+});
+
+const form = defineModel<{
+  ispCode: string;
+  phone: string;
+  name: string;
+}>('form');
+
+const rules = reactive<FormRules>({
+  ispCode: [{ required: true, message: '璇烽�夋嫨杩愯惀鍟�' }],
+  phone: [
+    { required: true, message: '璇疯緭鍏ュ厖鍊兼墜鏈哄彿' },
+    { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' },
+  ],
+  name: [{ required: true, message: '璇疯緭鍏ュ鍚�' }],
+});
+
+const dialogVisible = ref(false);
+
+function handleIspCodeChange(ispCode: LifeRechargeConstants.IspCode) {
+  console.log('ispCode: ', ispCode);
+  if (ispCode === LifeRechargeConstants.IspCode.dianxin) {
+    dialogVisible.value = true;
+  }
+}
+
+const formRef = ref<any>(null);
+
+defineExpose({
+  validate: computed(() => formRef.value.validate),
+});
+</script>

--
Gitblit v1.9.1