admin/src/api/business/identityInfo.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/components/base/BaseOpera.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/components/business/OperaIdentityDetailWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/components/business/OperaMemberDetailWindow.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/identityInfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
admin/src/views/business/member.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
admin/src/api/business/identityInfo.js
@@ -16,6 +16,9 @@ export function create (data) { return request.post('/business/identityInfo/create', data) } export function audit (data) { return request.post('/business/identityInfo/audit', data) } // 修改 export function updateById (data) { admin/src/components/base/BaseOpera.vue
@@ -1,4 +1,6 @@ <script> import {mapState} from "vuex"; export default { name: 'BaseOpera', data () { @@ -13,6 +15,9 @@ 'field.id': 'id' } } }, computed: { ...mapState(['userInfo']), }, methods: { /** @@ -125,6 +130,29 @@ this.isWorking = false }) }) }, /** * 是否包含指定权限 * * @param permissions 目标权限数组 * @returns {boolean} */ containPermissions (permissions) { if (permissions == null) { return true } if (this.userInfo == null) { return false } if (this.userInfo.permissions == null || this.userInfo.permissions.length === 0) { return false } for (const code of permissions) { if (this.userInfo.permissions.findIndex(p => p === code) > -1) { return true } } return false } } } admin/src/components/business/OperaIdentityDetailWindow.vue
@@ -7,7 +7,7 @@ :confirm-working="isWorking" @close="close" @confirm="confirm"> <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white"> <div style="width: calc(100% - 32px); position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white"> <div style="display: flex;background: #e4ecfe;padding: 20px"> <div style="width: 60px;"> <div class="home_title" v-if="info"> @@ -21,8 +21,7 @@ <div style="width: calc(100% - 60px);"> <div class="home_title" v-if="info"> <div class="left"> <span class="m10">昵称:{{info.nickName }}</span> <span class="mr10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')" >({{(info.name||'未设置姓名') }})</span> <span class="m10">昵称:{{info.nickName }} <span class="ml10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')" >({{(info.name||'未设置姓名') }})</span></span> <el-tag type="primary" class="mr10 tag1">发单方</el-tag> <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">接单方</el-tag> </div> @@ -41,7 +40,7 @@ <span class="m10" v-if="item.type ==0">用工认证</span> <span class="m10" v-if="item.type ==1">货运认证</span> <span class="m10" v-if="item.type ==2">供餐认证</span> <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">认证中</el-tag> <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">申请中</el-tag> <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">认证通过</el-tag> <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">认证失败</el-tag> </div> @@ -50,6 +49,7 @@ <span class="label"> 认证类型:</span> <span class="txt">{{item.authType == 0? '个人':'企业' }}</span> <span class="label"> 联系人:</span> <span class="txt">{{item.linkName || '' }}</span> <span class="label"> 联系方式:</span> <span class="txt">{{item.telephone || '' }}</span> <span class="label"> 申请时间:</span> <span class="txt">{{item.createTime || '' }}</span> </div> <template v-if="item.authType ==1"> <div class="line"> @@ -74,6 +74,15 @@ </div> </div> </div> <div class="line bottom" v-if="tableData2&& tableData2.length>0 && tableData2[0].auditStatus == 1 && containPermissions(['business:identityinfo:audit'])" > <el-form :model="form" ref="formCheck" :rules="rules"> <el-form-item label="认证审核说明" style="font-size: 14px" prop="auditRemark"> <el-input type="textarea" rows="5" v-model="form.auditRemark" placeholder="请输入认证审核备注" v-trim/> </el-form-item> </el-form> <el-button @click="checkDo(2)" type="primary" class="status-red">同意</el-button> <el-button @click="checkDo(3)" type="danger" >拒绝</el-button> </div> </div> </GlobalWindow> </template> @@ -82,7 +91,7 @@ import GlobalWindow from '@/components/common/GlobalWindow' import BaseOpera from '@/components/base/BaseOpera' import { getById } from '@/api/business/member' import { fetchList as renzhengList} from '@/api/business/identityInfo' import { fetchList as renzhengList,audit } from '@/api/business/identityInfo' export default { components: { GlobalWindow @@ -90,6 +99,11 @@ extends: BaseOpera, data () { return { form: { id: null, auditRemark: null }, rules: { auditRemark: [{ required: true, message: '请输入认证审核备注' }] }, id: '', memberId: '', visible: false, @@ -101,7 +115,7 @@ total: 0, tableData: {}, tableData1: {}, tableData2:[], tableData2: [], page0: 1, page1: 1, loading: false, @@ -129,6 +143,7 @@ this.tableData1 = {} this.tableData2 = [] this.id = row.id this.form.id = this.id this.memberId = row.memberId this.searchForm = { type: 0, @@ -152,12 +167,37 @@ close () { }, checkDo (status) { console.log( this.$refs.formCheck.length) this.$refs.formCheck.validate((valid) => { if (!valid) { return } this.$dialog.actionConfirm('您确认【' + (status === 3 ? '拒绝' : '同意') + '】该申请吗?','操作确认') .then(() => { this.dealing = true audit({ id: this.id, auditStatus: status, auditRemark: this.form.auditRemark }) .then(res => { this.$tip.apiSuccess('处理成功') this.getData() this.isShowProblem = false }) .finally(() => { this.dealing = false }) }) }) }, getRenzhengList () { this.loading = true renzhengList({ page: 1, capacity: 1000000, model:{ model: { memberId: this.memberId || -1, id: this.id || -1 } @@ -176,6 +216,15 @@ <style lang="scss" scoped> @import '@/assets/style/variables.scss'; .bottom{ text-align: center; display: block; height: auto; background-color: #e4ecfe; width: calc(100% - 32px); z-index: 999; padding: 16px; } .renzheng{ margin: 0px 0px 50px 20px; width: calc(100% - 60px); admin/src/components/business/OperaMemberDetailWindow.vue
@@ -7,7 +7,7 @@ :confirm-working="isWorking" @close="close" @confirm="confirm"> <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white"> <div style="width: calc(100% - 32px); position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white"> <div style="display: flex;background: #e4ecfe;padding: 20px"> <div style="width: 60px;"> <div class="home_title" v-if="info"> @@ -21,8 +21,7 @@ <div style="width: calc(100% - 60px);"> <div class="home_title" v-if="info"> <div class="left"> <span class="m10">昵称:{{info.nickName }}</span> <span class="mr10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')" >({{(info.name||'未设置姓名') }})</span> <span class="m10">昵称:{{info.nickName }} <span class="ml10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')" >({{(info.name||'未设置姓名') }})</span></span> <el-tag type="primary" class="mr10 tag1">发单方</el-tag> <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">接单方</el-tag> </div> @@ -141,7 +140,7 @@ <span class="m10" v-if="item.type ==0">用工认证</span> <span class="m10" v-if="item.type ==1">货运认证</span> <span class="m10" v-if="item.type ==2">供餐认证</span> <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">认证中</el-tag> <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">申请中</el-tag> <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">认证通过</el-tag> <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">认证失败</el-tag> </div> @@ -150,6 +149,7 @@ <span class="label"> 认证类型:</span> <span class="txt">{{item.authType == 0? '个人':'企业' }}</span> <span class="label"> 联系人:</span> <span class="txt">{{item.linkName || '' }}</span> <span class="label"> 联系方式:</span> <span class="txt">{{item.telephone || '' }}</span> <span class="label"> 申请时间:</span> <span class="txt">{{item.createTime || '' }}</span> </div> <template v-if="item.authType ==1"> <div class="line"> admin/src/views/business/identityInfo.vue
@@ -46,7 +46,13 @@ @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="auditStatus" label="审核状态" min-width="100px" fixed="left"> <template slot-scope="{row}"> <span class="bluestate" v-if="row.auditStatus ==1">申请中</span> <span class="greenstate" v-if="row.auditStatus ==2">已通过</span> <span class="redstate" v-if="row.auditStatus ==3">未通过</span> </template> </el-table-column> <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column> <el-table-column prop="memberName" label="会员昵称" min-width="100px"></el-table-column> <el-table-column prop="type" label="类型" min-width="100px"> @@ -54,13 +60,6 @@ <span v-if="row.type ==0">用工身份</span> <span v-if="row.type ==1">货运身份</span> <span v-if="row.type ==2">供餐身份</span> </template> </el-table-column> <el-table-column prop="auditStatus" label="审核状态" min-width="100px"> <template slot-scope="{row}"> <span class="bluestate" v-if="row.auditStatus ==1">申请中</span> <span class="greenstate" v-if="row.auditStatus ==2">已通过</span> <span class="redstate" v-if="row.auditStatus ==3">未通过</span> </template> </el-table-column> <el-table-column prop="authType" label="认证类型" min-width="100px"> admin/src/views/business/member.vue
@@ -77,7 +77,7 @@ </el-switch> </template> </el-table-column> <!-- <el-table-column <el-table-column v-if="containPermissions(['business:member:update', 'business:member:delete'])" label="操作" min-width="120" @@ -87,7 +87,7 @@ <el-button type="text" @click="$refs.operaMemberWindow.open('编辑会员信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button> <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button> </template> </el-table-column>--> </el-table-column> </el-table> <pagination @size-change="handleSizeChange" server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java
@@ -37,7 +37,6 @@ @ApiModelProperty(value = "创建时间") @ExcelColumn(name="创建时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date createTime; @ApiModelProperty(value = "更新人编码", example = "1") @@ -46,7 +45,6 @@ @ApiModelProperty(value = "更新时间") @ExcelColumn(name="更新时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date updateTime; @ApiModelProperty(value = "备注") @@ -111,7 +109,6 @@ @ApiModelProperty(value = "认证审批时间") @ExcelColumn(name="认证审批时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date auditTime; @ApiModelProperty(value = "认证审批备注") server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -286,7 +286,7 @@ queryWrapper.le(IdentityInfo::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime())); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.eq(IdentityInfo::getRemark, pageWrap.getModel().getRemark()); queryWrapper.like(IdentityInfo::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getType() != null) { queryWrapper.eq(IdentityInfo::getType, pageWrap.getModel().getType()); @@ -298,16 +298,16 @@ queryWrapper.eq(IdentityInfo::getAuthType, pageWrap.getModel().getAuthType()); } if (pageWrap.getModel().getLinkName() != null) { queryWrapper.eq(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName()); queryWrapper.like(IdentityInfo::getLinkName, pageWrap.getModel().getLinkName()); } if (pageWrap.getModel().getTelephone() != null) { queryWrapper.eq(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone()); queryWrapper.like(IdentityInfo::getTelephone, pageWrap.getModel().getTelephone()); } if (pageWrap.getModel().getLocation() != null) { queryWrapper.eq(IdentityInfo::getLocation, pageWrap.getModel().getLocation()); queryWrapper.like(IdentityInfo::getLocation, pageWrap.getModel().getLocation()); } if (pageWrap.getModel().getCompanyName() != null) { queryWrapper.eq(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName()); queryWrapper.like(IdentityInfo::getCompanyName, pageWrap.getModel().getCompanyName()); } if (pageWrap.getModel().getLat() != null) { queryWrapper.eq(IdentityInfo::getLat, pageWrap.getModel().getLat()); @@ -323,15 +323,10 @@ queryWrapper.le(IdentityInfo::getAuditTime, Utils.Date.getEnd(pageWrap.getModel().getAuditTime())); } if (pageWrap.getModel().getAuditRemark() != null) { queryWrapper.eq(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark()); queryWrapper.like(IdentityInfo::getAuditRemark, pageWrap.getModel().getAuditRemark()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } queryWrapper.orderByAsc(IdentityInfo::getAuditStatus ); queryWrapper.orderByDesc(IdentityInfo::getCreateTime ); PageData<IdentityInfo> result = PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper)); if(result!=null && result.getRecords()!=null){ String path = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()