|
|
@@ -121,6 +121,156 @@
|
|
|
label="邮箱">
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+
|
|
|
+ <!-- 申诉审核对话框 -->
|
|
|
+ <el-dialog
|
|
|
+ :title="appealTitle"
|
|
|
+ :visible.sync="isShowDialog"
|
|
|
+ width="920px"
|
|
|
+ :show-close="true"
|
|
|
+ :append-to-body="true">
|
|
|
+
|
|
|
+ <div class="reset-or-validate" v-if="approveType === 'resetPassword' || approveType === 'validAccount'">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">UU号</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.submitterUU"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">申诉来源</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.fromApp || '无'"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">申诉人</div>
|
|
|
+ <div class="message-value message-value-highlight" v-text="selectedAppeal.contactName"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">联系人</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.contactName"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">新手机号</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.mobile"></div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">手机号</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.contactTel"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 找回密码 -->
|
|
|
+ <div class="reset-password" v-if="approveType === 'resetPassword'">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">新密码</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.password">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">电子邮箱</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.contactEmail">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 验证手机 -->
|
|
|
+ <div class="validate-mobile" v-if="approveType === 'validAccount'">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">原手机号</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.contactEmail">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">电子邮箱</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.contactEmail">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">登录密码</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.password">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 申诉说明 -->
|
|
|
+ <div class="row appeal-reason">
|
|
|
+ <div class="message-label">申述说明</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.description"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 更换管理员 -->
|
|
|
+ <div class="change-admin" v-if="approveType === 'changeAdmin'">
|
|
|
+ <div style="border-bottom: 1px solid #E5E5E5;padding-bottom: 40px;">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">企业UU</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">申诉来源</div>
|
|
|
+ <div class="message-value" v-text="selectedAppeal.fromApp || '无'">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">企业名称</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">法定代表人</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">营业执照号</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">营业执照附件</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6" style="width: 840px;">
|
|
|
+ <div class="message-label">注册地址</div>
|
|
|
+ <div class="message-value">不同场景索引组件的用法不同,如城市选择的列表,根据城市首个拼音字母进行排列</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 申诉说明 -->
|
|
|
+ <div class="row appeal-reason">
|
|
|
+ <div class="message-label">申述说明</div>
|
|
|
+ <div class="message-value">不同场景索引组件的用法不同,如城市选择的列表,根据城市首个拼音字母进行排列,当手势下拉列表,该字母置顶,直到该字母下的城市全部滑完;对右边字母索引点击</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="border-bottom: 1px solid #E5E5E5;padding: 26px 0;">
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">管理员UU</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">管理员姓名</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ <div class="col-lg-6">
|
|
|
+ <div class="message-label">管理员手机号</div>
|
|
|
+ <div class="message-value">12345</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 对话框尾部 -->
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="approveAppeal(selectedAppeal.id, true)">通过</el-button>
|
|
|
+ <el-button @click="approveAppeal(selectedAppeal.id, false)">不通过</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</common-home>
|
|
|
</template>
|
|
|
|
|
|
@@ -138,6 +288,14 @@
|
|
|
.catch(error)
|
|
|
}
|
|
|
|
|
|
+ function approveAppealRequest (appealId, isPass, success, error) {
|
|
|
+ const params = { isPass }
|
|
|
+
|
|
|
+ axios.put(`/api/appeal/${appealId}/approveAppealRequest`, {}, { params })
|
|
|
+ .then(success)
|
|
|
+ .catch(error)
|
|
|
+ }
|
|
|
+
|
|
|
function formatDate (row, column, value) {
|
|
|
if (!value) {
|
|
|
return ''
|
|
|
@@ -213,6 +371,12 @@
|
|
|
}
|
|
|
]
|
|
|
|
|
|
+ const appealTitles = {
|
|
|
+ resetPassword: '找回密码',
|
|
|
+ validAccount: '验证手机',
|
|
|
+ changeAdmin: '更换管理员'
|
|
|
+ }
|
|
|
+
|
|
|
export default {
|
|
|
name: 'appeal-home',
|
|
|
components: {
|
|
|
@@ -235,7 +399,15 @@
|
|
|
typeOptions: typeOptions,
|
|
|
fromAppOptions: fromAppOptions,
|
|
|
statusOptions: statusOptions,
|
|
|
- searchKeys: searchKeys
|
|
|
+ searchKeys: searchKeys,
|
|
|
+ isShowDialog: false,
|
|
|
+ approveType: '',
|
|
|
+ selectedAppeal: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ appealTitle () {
|
|
|
+ return appealTitles[this.approveType]
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
@@ -267,17 +439,34 @@
|
|
|
this.fetchData()
|
|
|
},
|
|
|
approveRequest (appeal) {
|
|
|
- console.log(appeal)
|
|
|
- if (appeal.type === 'resetPassword') {
|
|
|
- console.log('找回密码')
|
|
|
- } else if (appeal.type === 'validAccount') {
|
|
|
- console.log('验证手机')
|
|
|
- } else if (appeal.type === 'changeAdmin') {
|
|
|
- console.log('更换管理员')
|
|
|
+ if (appeal.type !== 'resetPassword' && appeal.type !== 'validAccount' &&
|
|
|
+ appeal.type !== 'changeAdmin') {
|
|
|
+ this.$message.error(`不支持的申诉类型${appeal.type()}`)
|
|
|
+ return -1
|
|
|
}
|
|
|
+
|
|
|
+ this.approveType = appeal.type
|
|
|
+ const submitInfo = JSON.parse(appeal.submitInfo)
|
|
|
+ this.selectedAppeal = _.defaultsDeep({}, appeal, submitInfo)
|
|
|
+ this.isShowDialog = true
|
|
|
+
|
|
|
+ console.log(this.selectedAppeal)
|
|
|
},
|
|
|
showDetail () {
|
|
|
this.$message.info('此功能暂未开通')
|
|
|
+ },
|
|
|
+ approveAppeal (appealId, isPass) {
|
|
|
+ const success = result => {
|
|
|
+ if (result) {
|
|
|
+ this.isShowDialog = false
|
|
|
+ this.$message.info('操作成功')
|
|
|
+
|
|
|
+ // 刷新页面数据
|
|
|
+ this.fetchData()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ approveAppealRequest(appealId, isPass, success, this.showErrorMessage)
|
|
|
}
|
|
|
},
|
|
|
created () {
|
|
|
@@ -290,9 +479,89 @@
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
+ .row {
|
|
|
+ margin: 0;
|
|
|
+ padding: 16px 0;
|
|
|
+ height: 46px;
|
|
|
+ line-height: 14px;
|
|
|
+ }
|
|
|
+ .row .col-lg-6 {
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+ .row .col-lg-6>div {
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .message-label {
|
|
|
+ width: 105px;
|
|
|
|
|
|
+ color: #000000;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: normal;
|
|
|
+ font-family: "Microsoft YaHei", sans-serif;
|
|
|
+ }
|
|
|
+ .message-value {
|
|
|
+ color: #828282;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: normal;
|
|
|
+ font-family: "Microsoft YaHei", sans-serif;
|
|
|
+ }
|
|
|
+ .message-value-highlight {
|
|
|
+ color: #000000;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ .reset-or-validate {
|
|
|
+ width: 840px;
|
|
|
+ }
|
|
|
+ .appeal-reason {
|
|
|
+ width: 840px;
|
|
|
+ }
|
|
|
+ .appeal-reason>div {
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .appeal-reason .message-value {
|
|
|
+ width: 730px;
|
|
|
+ }
|
|
|
+ .change-admin {
|
|
|
+ width: 840px;
|
|
|
+ }
|
|
|
</style>
|
|
|
|
|
|
<style>
|
|
|
+ .el-dialog {
|
|
|
+ border-radius: 5px;
|
|
|
+ }
|
|
|
+ .el-dialog__header {
|
|
|
+ padding: 14px 20px;
|
|
|
+ height: 44px;
|
|
|
+ line-height: 16px;
|
|
|
+ border: 1px none #D2D2D2;
|
|
|
+ border-bottom-style: solid;
|
|
|
+ }
|
|
|
+ .el-dialog__header .el-dialog__title {
|
|
|
+ color: #000000;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: normal;
|
|
|
+ font-family: "SimHei", sans-serif;
|
|
|
+ }
|
|
|
+ .el-dialog__body {
|
|
|
+ padding: 22px 0 22px 40px;
|
|
|
+ }
|
|
|
+ .el-dialog__footer {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ .el-dialog__footer .el-button {
|
|
|
+ width: 180px;
|
|
|
+ height: 30px;
|
|
|
+ border-radius: 15px;
|
|
|
+ line-height: 14px;
|
|
|
+ padding: 8px 0;
|
|
|
+
|
|
|
+ background: none;
|
|
|
|
|
|
+ color: #656565;
|
|
|
+ }
|
|
|
+ .el-dialog__footer .el-button--primary {
|
|
|
+ background-color: #4E8EFC;
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
</style>
|