Commit 6dbf406b authored by yinjiacheng's avatar yinjiacheng

add 企业认证-营业执照信息UI

parent 90549f90
package com.yidian.shenghuoquan.newscontent.ui.auth
import android.opengl.Visibility
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.yidian.common.base.BaseFragment
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.FragmentLifeAccountBusinessLicenseAuthBinding
/**
* author: yinjiacheng
* date: 5/28/21 3:22 PM
* description: 生活号认证 营业执照认证
*/
class LifeAccountBusinessLicenseAuthFragment :
BaseFragment<FragmentLifeAccountBusinessLicenseAuthBinding>(), View.OnClickListener {
override fun createViewBinding(
inflater: LayoutInflater,
container: ViewGroup?
): FragmentLifeAccountBusinessLicenseAuthBinding {
return FragmentLifeAccountBusinessLicenseAuthBinding.inflate(inflater, container, false)
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initView()
initListener()
}
private fun initView() {
}
private fun initListener() {
viewBinding.clBusinessLicenseUpload.setOnClickListener(this)
viewBinding.ivClear.setOnClickListener(this)
}
override fun onClick(v: View?) {
when(v?.id) {
R.id.cl_business_license_upload -> {
// TODO: 5/29/21 弹出上传方式选择
}
R.id.iv_clear -> {
// TODO: 5/29/21 清除已上传的营业执照
// 清除OCR或用户输入内容
viewBinding.evRegistrationName.clearEditContent()
viewBinding.evRegistrationCode.clearEditContent()
}
}
}
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ import com.yidian.common.base.BaseActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountEnterpriseAuthBinding
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView
import com.yidian.xpage.XPageManager
/**
* author: yinjiacheng
......@@ -28,6 +29,8 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
initView()
initListener()
viewBind.pvAuthProcess.setProcess(LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION)
supportFragmentManager.beginTransaction()
.add(R.id.fragment_container, LifeAccountBusinessLicenseAuthFragment()).commit()
}
private fun initView() {
......@@ -36,10 +39,18 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
private fun initListener() {
viewBind.viewCommonHeader.ivBack.setOnClickListener(this)
viewBind.btnNext.setOnClickListener(this)
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.iv_back -> {
XPageManager.pop(null)
}
R.id.btn_next -> {
// TODO: 5/29/21 请求接口401 402
}
}
}
}
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.util.AttributeSet
import android.view.View
import com.yidian.nightmode.widget.YdConstraintLayout
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthBusinessInfoEditBinding
/**
* author: yinjiacheng
* date: 5/28/21 9:04 PM
* description: 生活号认证 营业执照信息录入
*/
class LifeAccountAuthBusinessInfoEditView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener, TextWatcher {
private val viewBinding: ViewLifeAccountAuthBusinessInfoEditBinding =
ViewLifeAccountAuthBusinessInfoEditBinding.bind(
View.inflate(
getContext(),
R.layout.view_life_account_auth_business_info_edit,
this
)
)
init {
val typedArray =
context.obtainStyledAttributes(attrs, R.styleable.LifeAccountAuthBusinessInfoEditView)
viewBinding.tvContent.text =
typedArray.getText(R.styleable.LifeAccountAuthBusinessInfoEditView_content_text)
viewBinding.etContent.hint =
typedArray.getText(R.styleable.LifeAccountAuthBusinessInfoEditView_hint_text)
typedArray.recycle()
viewBinding.ivClear.setOnClickListener(this)
viewBinding.etContent.addTextChangedListener(this)
}
/**
* 展示错误提示
*/
fun showErrorTips(tips: String) {
viewBinding.tvErrorTips.visibility = View.VISIBLE
viewBinding.tvErrorTips.text = tips
}
/**
* 清除输入的文字
*/
fun clearEditContent() {
viewBinding.etContent.setText("")
if (viewBinding.tvErrorTips.visibility == View.VISIBLE) {
viewBinding.tvErrorTips.visibility = View.GONE
}
}
override fun onClick(v: View?) {
if (v?.id == R.id.iv_clear) {
// 清除输入框中的内容
clearEditContent()
}
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
override fun afterTextChanged(s: Editable?) {
// 处理一键清除按钮
viewBinding.ivClear.visibility = if (TextUtils.isEmpty(s)) View.GONE else View.VISIBLE
}
}
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import com.yidian.nightmode.widget.YdConstraintLayout
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountAuthSelectBinding
/**
* author: yinjiacheng
* date: 5/28/21 2:41 PM
* description: 生活号认证 职业标签/商户类型选择
*/
class LifeAccountAuthSelectView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : YdConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding = ViewLifeAccountAuthSelectBinding.bind(
View.inflate(
getContext(),
R.layout.view_life_account_auth_select,
this
)
)
init {
val typeArray =
getContext().obtainStyledAttributes(attrs, R.styleable.LifeAccountAuthSelectView)
viewBinding.tvName.text =
typeArray.getString(R.styleable.LifeAccountAuthSelectView_LifeAccountAuthSelectView_name_text)
viewBinding.tvContent.hint =
typeArray.getString(R.styleable.LifeAccountAuthSelectView_LifeAccountAuthSelectView_content_hint_text)
typeArray.recycle()
}
/**
* 回显选择的内容
*/
fun setContentResult(text: String) {
viewBinding.tvContent.text = text
}
override fun onClick(v: View?) {
if (v?.id == R.id.iv_select) {
// TODO: 5/28/21 展示选择弹窗
}
}
interface OnLifeAccountAuthSelectViewCallback {
/**
* 点击选择功能
*/
fun onLifeAccountAuthSelect()
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFF6F7F9" />
<corners android:radius="8dp" />
</shape>
\ No newline at end of file
......@@ -21,12 +21,48 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_common_header" />
<com.yidian.nightmode.widget.YdFrameLayout
android:id="@+id/fragment_container"
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthSelectView
android:id="@+id/sv_merchant_type"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_height="wrap_content"
app:LifeAccountAuthSelectView_name_text="@string/merchant_type"
app:layout_constraintTop_toBottomOf="@id/pv_auth_process" />
<View
android:layout_width="322dp"
android:layout_height="1dp"
android:background="#FFF2F2F2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/sv_merchant_type" />
<com.yidian.nightmode.widget.YdScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="25dp"
app:layout_constraintBottom_toTopOf="@id/btn_next"
app:layout_constraintTop_toBottomOf="@id/sv_merchant_type">
<com.yidian.nightmode.widget.YdFrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.yidian.nightmode.widget.YdScrollView>
<com.yidian.nightmode.widget.YdButton
android:id="@+id/btn_next"
android:layout_width="302dp"
android:layout_height="42dp"
android:layout_marginBottom="33dp"
android:alpha="0.32"
android:background="@drawable/bg_btn_auth"
android:gravity="center"
android:text="@string/next_step"
android:textColor="#FFFFFFFF"
android:textSize="17sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingStart="19dp"
android:paddingEnd="19dp">
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:includeFontPadding="false"
android:text="@string/business_license"
android:textColor="#FF666666"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:includeFontPadding="false"
android:text="@string/business_license_description"
android:textColor="#FF999999"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<com.yidian.nightmode.widget.YdConstraintLayout
android:id="@+id/cl_business_license_upload"
android:layout_width="106dp"
android:layout_height="77dp"
android:layout_marginTop="10dp"
android:background="@drawable/bg_business_license_upload"
app:layout_constraintTop_toBottomOf="@id/tv_description">
<com.yidian.nightmode.widget.YdImageView
android:layout_width="17dp"
android:layout_height="17dp"
android:layout_marginTop="21dp"
android:src="@mipmap/icon_upload"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="15dp"
android:includeFontPadding="false"
android:text="@string/upload_business_license"
android:textColor="#FF999999"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.yidian.nightmode.widget.YdImageView
android:id="@+id/iv_clear"
android:layout_width="23dp"
android:layout_height="23dp"
android:layout_marginTop="2dp"
android:layout_marginEnd="2dp"
android:src="@mipmap/icon_clear"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.yidian.nightmode.widget.YdConstraintLayout>
<View
android:id="@+id/view_business_license_upload_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="19dp"
android:background="#FFF2F2F2"
app:layout_constraintTop_toBottomOf="@id/cl_business_license_upload" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_upload_error_tips"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
android:includeFontPadding="false"
android:textColor="#FFFF3A3A"
android:textSize="12sp"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/view_business_license_upload_divider" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthBusinessInfoEditView
android:id="@+id/ev_registration_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
app:content_text="@string/business_license_registration_name"
app:hint_text="@string/please_input"
app:layout_constraintTop_toBottomOf="@id/tv_upload_error_tips" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthBusinessInfoEditView
android:id="@+id/ev_registration_code"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="6dp"
app:content_text="@string/business_license_registration_code"
app:hint_text="@string/please_input"
app:layout_constraintTop_toBottomOf="@id/ev_registration_name" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_registration_code_hint"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:includeFontPadding="false"
android:text="@string/registration_code_description"
android:textColor="#FF999999"
android:textSize="12sp"
app:layout_constraintTop_toBottomOf="@id/ev_registration_code" />
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app='http://schemas.android.com/apk/res-auto'
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="58dp"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="#FF333333"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdEditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="58dp"
android:background="@null"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:textColor="#FF333333"
android:textColorHint="#FFC2C2C2"
android:textSize="15sp"
app:layout_constraintTop_toBottomOf="@id/tv_content" />
<com.yidian.nightmode.widget.YdImageView
android:id="@+id/iv_clear"
android:layout_width="23dp"
android:layout_height="23dp"
android:src="@mipmap/icon_clear"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/et_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/et_content" />
<View
android:id="@+id/view_divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#FFF2F2F2"
app:layout_constraintTop_toBottomOf="@id/et_content" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_error_tips"
android:layout_width="wrap_content"
android:layout_height="27dp"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="#FFFF3A3A"
android:textSize="12sp"
android:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/et_content" />
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="58dp"
android:paddingStart="19dp"
android:paddingEnd="12dp">
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="#FF333333"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="23dp"
android:includeFontPadding="false"
android:textColor="#FF333333"
android:textColorHint="#FFC2C2C2"
android:textSize="15sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_name"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdImageView
android:id="@+id/iv_select"
android:layout_width="23dp"
android:layout_height="23dp"
android:src="@mipmap/icon_next"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
......@@ -6,4 +6,14 @@
<attr name="LifeAccountAuthEditView_hint_text" format="string" />
</declare-styleable>
<declare-styleable name="LifeAccountAuthSelectView">
<attr name="LifeAccountAuthSelectView_name_text" format="string" />
<attr name="LifeAccountAuthSelectView_content_hint_text" format="string" />
</declare-styleable>
<declare-styleable name="LifeAccountAuthBusinessInfoEditView">
<attr name="content_text" format="string" />
<attr name="hint_text" format="string" />
</declare-styleable>
</resources>
\ No newline at end of file
......@@ -108,6 +108,17 @@
<string name="enterprise_qualification">企业资质</string>
<string name="enterprise_manager">经营者</string>
<string name="platform_audit">平台审核</string>
<string name="merchant_type">商户类型</string>
<string name="business_license">营业执照</string>
<string name="business_license_description">1、请确保证件内容文字清晰可见,证件本身无缺陷,否则会审核失败 2、仅支持中国大陆工商局或市场监督管理局登记的个体商户,请提供有效期内的营业执照</string>
<string name="upload_business_license">上传营业执照</string>
<string name="check_business_license_distinct">请核对营业执照是否拍摄清晰</string>
<string name="business_license_registration_name">注册名称</string>
<string name="check_business_license_registration_name">请核对营业执照注册名称</string>
<string name="business_license_registration_code">统一社会信用代码(注册号)</string>
<string name="check_business_license_registration_code">请核对统一社会信用代码(注册号)</string>
<string name="please_input">请输入</string>
<string name="registration_code_description">统一社会信用代码(注册号)将作为生活号唯一企业身份标识,请仔细核对,确认无误。</string>
<string name="next_step">下一步</string>
</resources>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment