Initial commit (code only without large binaries)

This commit is contained in:
robin
2026-02-15 18:58:44 +08:00
commit 35df75498f
9442 changed files with 1495866 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
.idcard-bg {
width: 20em;
height: 13em;
border: 1px #ccc solid;
border-radius: 1em;
position: relative;
overflow: hidden;
}
.idcard-bg img {
width: 100%;
height: 100%;
}
.form .success,
.form .error,
.form .warning {
display: block !important;
}
/*# sourceMappingURL=enterprise.css.map */

View File

@@ -0,0 +1 @@
{"version":3,"sources":["enterprise.less"],"names":[],"mappings":"AAAA;EACC,WAAA;EACA,YAAA;EACA,sBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;;AAND,UAQC;EACC,WAAA;EACA,YAAA;;AAIF,KACC;AADD,KACW;AADX,KACmB;EACjB,yBAAA","file":"enterprise.css"}

View File

@@ -0,0 +1,71 @@
{$layout}
{$template "../user_menu"}
<second-menu>
<menu-item :href="'/users/identity?userId=' + user.id">个人<span v-if="user.hasNewIndividualIdentity" class="red">(待审核)</span></menu-item>
<menu-item :href="'/users/identity/enterprise?userId=' + user.id" active="true">企业<span v-if="user.hasNewEnterpriseIdentity" class="red">(待审核)</span></menu-item>
</second-menu>
<div class="ui message warning" v-if="identity == null">暂时还没有实名认证信息。</div>
<div v-if="identity != null">
<div class="margin"></div>
<form class="ui form">
<table class="ui table selectable definition">
<tr>
<td class="title">企业全称</td>
<td>
{{identity.realName}}
</td>
</tr>
<tr>
<td>营业执照号码</td>
<td>
{{identity.number}}
</td>
</tr>
<tr>
<td>身份证 - 国徽面</td>
<td>
<div class="idcard-bg">
<a :href="'/files/file?fileId=' + identity.frontFileId" target="_blank"><img :src="'/files/file?fileId=' + identity.frontFileId" v-if="identity != null && identity.frontFileId > 0" alt=""/></a>
</div>
</td>
</tr>
<tr v-if="isRejecting">
<td>驳回理由 *</td>
<td>
<textarea v-model="rejectReason" placeholder="填写驳回原因,方便用户改正" rows="3" ref="rejectReasonBox"></textarea>
</td>
</tr>
</table>
<div v-if="identity != null">
<!-- 待提交 -->
<div v-if="identity.status == 'none'">
<div class="ui message warning">已上传,等待用户提交审核。</div>
</div>
<!-- 已提交 -->
<div v-if="identity.status == 'submitted'">
<div v-if="!isRejecting">
<a href="" class="ui button primary" @click.prevent="verify">审核通过</a> &nbsp; &nbsp; <a href="" class="ui button" @click.prevent="reject">驳回</a>
</div>
<div v-if="isRejecting">
<a href="" class="ui button primary" @click.prevent="rejectConfirm">确定驳回</a> &nbsp; &nbsp; <a href="" @click.prevent="cancelRejecting()">取消</a>
</div>
</div>
<!-- 已拒绝 -->
<div v-if="identity.status == 'rejected'">
<div class="ui message error">审核不通过,原因:{{identity.rejectReason}}。</div>
</div>
<!-- 已通过 -->
<div v-if="identity.status == 'verified'">
<div class="ui message success">实名认证审核通过。</div>
<button class="ui button" type="button" @click.prevent="resetStatus">重置状态</button>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,72 @@
Tea.context(function () {
this.isRejecting = false
this.rejectReason = ""
this.reject = function () {
this.isRejecting = true
this.$delay(function () {
this.$refs.rejectReasonBox.focus()
})
}
this.cancelRejecting = function () {
this.isRejecting = !this.isRejecting
}
this.rejectConfirm = function () {
if (this.identity == null) {
teaweb.warn("表单错误,请刷新后重试")
return
}
if (this.rejectReason.length == 0) {
let that = this
teaweb.warn("请输入驳回理由", function () {
that.$refs.rejectReasonBox.focus()
})
return
}
this.$post(".reject")
.params({
userId: this.user.id,
identityId: this.identity.id,
reason: this.rejectReason
})
.success(function () {
teaweb.success("驳回成功", function () {
teaweb.reload()
})
})
}
this.verify = function () {
let that = this
teaweb.confirm("确定要通过审核吗?", function () {
this.$post(".verify")
.params({
userId: that.user.id,
identityId: that.identity.id
})
.success(function () {
teaweb.success("操作成功", function () {
teaweb.reload()
})
})
})
}
this.resetStatus = function () {
let that = this
teaweb.confirm("确定要重置当前实名状态吗?", function () {
this.$post(".reset")
.params({
userId: that.user.id,
identityId: that.identity.id
})
.success(function () {
teaweb.success("操作成功", function () {
teaweb.reload()
})
})
})
}
})

View File

@@ -0,0 +1,19 @@
.idcard-bg {
width: 20em;
height: 13em;
border: 1px #ccc solid;
border-radius: 1em;
position: relative;
overflow: hidden;
img {
width: 100%;
height: 100%;
}
}
.form {
.success, .error, .warning {
display: block !important;
}
}

View File

@@ -0,0 +1,18 @@
.idcard-bg {
width: 20em;
height: 13em;
border: 1px #ccc solid;
border-radius: 1em;
position: relative;
overflow: hidden;
}
.idcard-bg img {
width: 100%;
height: 100%;
}
.form .success,
.form .error,
.form .warning {
display: block !important;
}
/*# sourceMappingURL=index.css.map */

View File

@@ -0,0 +1 @@
{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA;EACC,WAAA;EACA,YAAA;EACA,sBAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;;AAND,UAQC;EACC,WAAA;EACA,YAAA;;AAIF,KACC;AADD,KACW;AADX,KACmB;EACjB,yBAAA","file":"index.css"}

View File

@@ -0,0 +1,79 @@
{$layout}
{$template "../user_menu"}
<second-menu>
<menu-item :href="'/users/identity?userId=' + user.id" active="true">个人<span v-if="user.hasNewIndividualIdentity" class="red">(待审核)</span></menu-item>
<menu-item :href="'/users/identity/enterprise?userId=' + user.id">企业<span v-if="user.hasNewEnterpriseIdentity" class="red">(待审核)</span></menu-item>
</second-menu>
<div class="ui message warning" v-if="identity == null">暂时还没有实名认证信息。</div>
<div v-if="identity != null">
<div class="margin"></div>
<form class="ui form">
<table class="ui table selectable definition">
<tr>
<td class="title">真实姓名</td>
<td>
{{identity.realName}}
</td>
</tr>
<tr>
<td>身份证号</td>
<td>
{{identity.number}}
</td>
</tr>
<tr>
<td>身份证 - 照片面</td>
<td>
<div class="idcard-bg">
<a :href="'/files/file?fileId=' + identity.backFileId" target="_blank"><img :src="'/files/file?fileId=' + identity.backFileId" v-if="identity != null && identity.backFileId > 0" alt=""/></a>
</div>
</td>
</tr>
<tr>
<td>身份证 - 国徽面</td>
<td>
<div class="idcard-bg">
<a :href="'/files/file?fileId=' + identity.frontFileId" target="_blank"><img :src="'/files/file?fileId=' + identity.frontFileId" v-if="identity != null && identity.frontFileId > 0" alt=""/></a>
</div>
</td>
</tr>
<tr v-if="isRejecting">
<td>驳回理由 *</td>
<td>
<textarea v-model="rejectReason" placeholder="填写驳回原因,方便用户改正" rows="3" ref="rejectReasonBox"></textarea>
</td>
</tr>
</table>
<div v-if="identity != null">
<!-- 待提交 -->
<div v-if="identity.status == 'none'">
<div class="ui message warning">已上传,等待用户提交审核。</div>
</div>
<!-- 已提交 -->
<div v-if="identity.status == 'submitted'">
<div v-if="!isRejecting">
<a href="" class="ui button primary" @click.prevent="verify">审核通过</a> &nbsp; &nbsp; <a href="" class="ui button" @click.prevent="reject">驳回</a>
</div>
<div v-if="isRejecting">
<a href="" class="ui button primary" @click.prevent="rejectConfirm">确定驳回</a> &nbsp; &nbsp; <a href="" @click.prevent="cancelRejecting()">取消</a>
</div>
</div>
<!-- 已拒绝 -->
<div v-if="identity.status == 'rejected'">
<div class="ui message error">审核不通过,原因:{{identity.rejectReason}}。</div>
</div>
<!-- 已通过 -->
<div v-if="identity.status == 'verified'">
<div class="ui message success">实名认证审核通过。</div>
<button class="ui button" type="button" @click.prevent="resetStatus">重置状态</button>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,72 @@
Tea.context(function () {
this.isRejecting = false
this.rejectReason = ""
this.reject = function () {
this.isRejecting = true
this.$delay(function () {
this.$refs.rejectReasonBox.focus()
})
}
this.cancelRejecting = function () {
this.isRejecting = !this.isRejecting
}
this.rejectConfirm = function () {
if (this.identity == null) {
teaweb.warn("表单错误,请刷新后重试")
return
}
if (this.rejectReason.length == 0) {
let that = this
teaweb.warn("请输入驳回理由", function () {
that.$refs.rejectReasonBox.focus()
})
return
}
this.$post(".reject")
.params({
userId: this.user.id,
identityId: this.identity.id,
reason: this.rejectReason
})
.success(function () {
teaweb.success("驳回成功", function () {
teaweb.reload()
})
})
}
this.verify = function () {
let that = this
teaweb.confirm("确定要通过审核吗?", function () {
this.$post(".verify")
.params({
userId: that.user.id,
identityId: that.identity.id
})
.success(function () {
teaweb.success("操作成功", function () {
teaweb.reload()
})
})
})
}
this.resetStatus = function () {
let that = this
teaweb.confirm("确定要重置当前实名状态吗?", function () {
this.$post(".reset")
.params({
userId: that.user.id,
identityId: that.identity.id
})
.success(function () {
teaweb.success("操作成功", function () {
teaweb.reload()
})
})
})
}
})

View File

@@ -0,0 +1,19 @@
.idcard-bg {
width: 20em;
height: 13em;
border: 1px #ccc solid;
border-radius: 1em;
position: relative;
overflow: hidden;
img {
width: 100%;
height: 100%;
}
}
.form {
.success, .error, .warning {
display: block !important;
}
}