¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '../../utils/request' |
| | | |
| | | // æ¥è¯¢ |
| | | |
| | | export function fetchList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/position/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | |
| | | // å建 |
| | | export function create (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/position/create', data) |
| | | } |
| | | |
| | | // ä¿®æ¹ |
| | | export function updateById (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/position/updateById', data) |
| | | } |
| | | export function sort (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/position/updateSort', data) |
| | | } |
| | | |
| | | // å页æ¥è¯¢ |
| | | export function positionGetList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/position/page', data) |
| | | } |
| | | |
| | | // å é¤ |
| | | export function deleteById (id) { |
| | | return request.get(`/visitsAdmin/cloudService/business/position/delete/${id}`) |
| | | } |
| | | |
| | | |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/visitsAdmin/cloudService/business/position/delete/batch', { |
| | | params: { |
| | | ids |
| | | } |
| | | }) |
| | | } |
| | |
| | | 注ï¼ä»
æ¯æéæ© ã{{ companyType === 0 ? 'ç¸å
³æ¹ç»ç»' : 'å
é¨ç»ç»' }}ã |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©å²ä½ï¼" prop="positionId" > |
| | | <el-select v-model="form.positionId" clearable filterable placeholder="è¯·éæ©"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ææºå·" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请è¾å
¥ææºå·" v-trim /> |
| | | <div style="color: #F56C6C;font-size: 12px">注ï¼åå·¥ææºå·å°ä½ä¸ºå¹³å°ç»å½è´¦å·ï¼åå§å¯ç 为系ç»é»è®¤å¯ç é
置项</div> |
| | |
| | | <el-form-item label="å·¥å·" prop="code"> |
| | | <el-input v-model="form.code" placeholder="请è¾å
¥å工工å·" v-trim /> |
| | | </el-form-item> |
| | | <el-form-item label="å
¥èæ¥æ" prop="jobDate"> |
| | | <el-date-picker |
| | | v-model="form.jobDate" |
| | | value-format="yyyy-MM-dd" |
| | | type="date"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å
å" prop="isDangyuan"> |
| | | <el-radio-group v-model="form.radio" @input="isDangyuan"> |
| | | <el-radio :label="0">éå
å</el-radio> |
| | | <el-radio :label="1">å
å</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="人è¸ç
§ç" prop="faceImgFull"> |
| | | <div class="upload_wrap"> |
| | | <UploadFaceImg :file="{ 'imgurlfull': form.faceImgFull, 'imgurl': form.faceImg }" :uploadData="uploadData" |
| | |
| | | import UploadAvatarImage from '@/components/common/UploadAvatarImage' |
| | | import UploadFaceImg from '@/components/common/UploadFaceImg' |
| | | import { checkMobile, validIdCardNo, validIdCardNoNew } from '@/utils/form' |
| | | import { fetchList as positionList } from '@/api/business/position' |
| | | export default { |
| | | name: 'OperaCompanyWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow, UploadAvatarImage, UploadFaceImg }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | uploadData: { |
| | | folder: 'member' |
| | |
| | | }, |
| | | companyType: 0, |
| | | department: [], |
| | | positionList: [], |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | |
| | | idcardType: 0, |
| | | phone: '', |
| | | faceImg: '', |
| | | jobDate: null, |
| | | isDangyuan: 0, |
| | | positionId: null, |
| | | faceImgFull: '' |
| | | }, |
| | | // éªè¯è§å |
| | |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.config({ |
| | | api: '/business/member.js', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | handleChangeCompany(value) { |
| | | handleChangeCompany (value) { |
| | | if (this.form.company && this.form.company.length > 1) { |
| | | this.form.companyId = this.form.company[this.form.company.length - 1] |
| | | } |
| | |
| | | * @title çªå£æ é¢ |
| | | * @target ç¼è¾ç对象 |
| | | */ |
| | | open(title, target, depart, companyType) { |
| | | open (title, target, depart, companyType) { |
| | | this.title = title |
| | | this.department = depart |
| | | this.visible = true |
| | | this.companyType = companyType |
| | | this.positionList() |
| | | // æ°å»º |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | getPositionList () { |
| | | positionList({}) |
| | | .then(res => { |
| | | this.positionList = res |
| | | }) |
| | | }, |
| | | // ä¸ä¼ å¾ç |
| | | uploadAvatarSuccess(file) { |
| | | uploadAvatarSuccess (file) { |
| | | this.form.faceImg = file.imgurl |
| | | this.form.faceImgFull = file.imgurlfull |
| | | } |
| | |
| | | line-height: 24px; |
| | | } |
| | | } |
| | | </style> |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="500px" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="å²ä½åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥å²ä½åç§°" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç (ååº)" prop="sortnum"> |
| | | <el-input v-model="form.sortnum" type="number" placeholder="请è¾å
¥æåºç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input type="textarea" v-model="form.remark" placeholder="请è¾å
¥å¤æ³¨" v-trim :rows="3" maxlength="500"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | export default { |
| | | name: 'OperaPositionWindow', |
| | | extends: BaseOpera, |
| | | components: { GlobalWindow }, |
| | | data () { |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | memberList: [], |
| | | form: { |
| | | id: null, |
| | | name: null, |
| | | remark: null, |
| | | sortnum: null |
| | | }, |
| | | // éªè¯è§å |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请è¾å
¥åç§°' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | api: '/business/', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»ºç»ç» |
| | | if (target == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | return |
| | | } |
| | | // ç¼è¾ |
| | | this.$nextTick(() => { |
| | | for (const key in this.form) { |
| | | this.form[key] = target[key] |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请è¾å
¥å§å/ææºå·/å·¥å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="positionId" > |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="å²ä½"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" clearable placeholder="æ¯å¦æäººè¸"> |
| | | <el-option label="æ " value="0"></el-option> |
| | |
| | | <el-option label="å¦" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="status"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="search" clearable placeholder="ç¶æ"> |
| | | <el-option label="æ£å¸¸" value="0"></el-option> |
| | | <el-option label="ç¦ç¨" value="1"></el-option> |
| | | <el-option label="æé»/å»ç»" value="2"></el-option> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="å¨èç¶æ"> |
| | | <el-option label="å¨è" value="0"></el-option> |
| | | <el-option label="离è" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="110px"> |
| | | <el-table-column fixed="left" prop="name" label="å§å" min-width="110px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.name }}</span> |
| | | <span class="zhuguan" v-if="row.headStatus == 1">主管</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <el-table-column prop="postionName" label="å²ä½" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isDangyuan" label="æ¯å¦å
å" min-width="100px"> |
| | | <span v-if="row.status == 0" style="color: green">æ¯</span> |
| | | <span v-else >å¦</span> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="jobDate" label="å
¥èæ¥æ" min-width="100px"> |
| | | <!-- <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status == 0" style="color: green">æ£å¸¸</span> |
| | | <span v-if="row.status == 1" style="color: red">ç¦ç¨</span> |
| | | <span v-if="row.status == 2" style="color: red">æé»/å»ç»</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | <el-table-column label="é¨é¨ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æåæä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column fixed="right" label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="æä½" min-width="280" fixed="right"> |
| | |
| | | import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow' |
| | | import OperaMemberImportWindow from '@/components/business/OperaMemberImportWindow' |
| | | import { fetchList } from '@/api/business/company' |
| | | import { fetchList as postionList } from '@/api/business/position' |
| | | import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member' |
| | | export default { |
| | | name: 'internalMember', |
| | |
| | | name: '', |
| | | status: '', |
| | | hkStatus: '', |
| | | includeChild: false, |
| | | includeChild: true, |
| | | canVisit: '', |
| | | keyword: '', |
| | | type: 2, |
| | | companyType: 1, |
| | | erpOrgId: '', |
| | | workStatus: '', |
| | | positionId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | | }, |
| | |
| | | working: false, |
| | | canvisiting: false, |
| | | companyTree: [], |
| | | positionList: [], |
| | | department: [] |
| | | } |
| | | }, |
| | |
| | | }) |
| | | // this.search() |
| | | this.getfindCompanyTreePage() |
| | | this.getPositionList() |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch() { |
| | |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('å
é¨åå·¥ä¸åæé', ids, names, this.searchForm.companyType) |
| | | }, |
| | | getPositionList() { |
| | | positionList({}) |
| | | .then(res => { |
| | | this.positionList = res |
| | | }) |
| | | }, |
| | | empower(id) { |
| | | var that = this |
| | | this.$confirm('ç¡®å®éæ°ææå?', 'æç¤º', { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="120px" inline> |
| | | <el-form-item label="" prop="name"> |
| | | <el-input v-model="searchForm.name" clearable placeholder="å²ä½åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <section> |
| | | <el-button type="primary" @click="search">æç´¢</el-button> |
| | | <el-button @click="reset">éç½®</el-button> |
| | | </section> |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:position:create','business:position:delete']"> |
| | | <li><el-button type="primary" @click="$refs.OperaPositionWindow.open('æ°å»ºå²ä½',null,searchForm.type)" icon="el-icon-plus" v-permissions="['business:position:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="danger" @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:position:delete']">æ¹éå é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å²ä½" min-width="200px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æä½æ¶é´" min-width="200px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:position:update', 'business:position:delete' ])" |
| | | label="æä½" |
| | | min-width="250" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaPositionWindow.open('ç¼è¾å²ä½',row,searchForm.type)" v-permissions="['business:position:update']">ç¼è¾</el-button> |
| | | <el-button type="text" icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:position:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaPositionWindow ref="OperaPositionWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaPositionWindow from '@/components/business/OperaPositionWindow' |
| | | export default { |
| | | name: 'areaSet', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaPositionWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | title: '' |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'å²ä½é
ç½®', |
| | | api: '/business/position', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <el-form-item label="" prop="keyword"> |
| | | <el-input v-model="searchForm.keyword" placeholder="请è¾å
¥å§å/ææºå·/å·¥å·" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="" prop="positionId" > |
| | | <el-select v-model="searchForm.positionId" clearable filterable placeholder="å²ä½"> |
| | | <el-option v-for="item in positionList" :key="item.id" :label="item.name" :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hasFace"> |
| | | <el-select v-model="searchForm.hasFace" @keypress.enter.native="search" placeholder="æ¯å¦æäººè¸"> |
| | | <el-option label="æ " value="0"></el-option> |
| | |
| | | <el-option label="å¦" value="0"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="status"> |
| | | <el-select v-model="searchForm.status" @keypress.enter.native="search" placeholder="ç¶æ"> |
| | | <el-option label="æ£å¸¸" value="0"></el-option> |
| | | <el-option label="ç¦ç¨" value="1"></el-option> |
| | | <el-option label="æé»/å»ç»" value="2"></el-option> |
| | | <el-form-item label="" prop="workStatus"> |
| | | <el-select v-model="searchForm.workStatus" @keypress.enter.native="search" clearable placeholder="å¨èç¶æ"> |
| | | <el-option label="å¨è" value="0"></el-option> |
| | | <el-option label="离è" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="hkStatus"> |
| | |
| | | </ul> |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="110px"> |
| | | <el-table-column fixed="left" prop="name" label="å§å" min-width="110px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.name }}</span> |
| | | <span class="zhuguan" v-if="row.headStatus == 1">主管</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <el-table-column prop="postionName" label="å²ä½" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isDangyuan" label="æ¯å¦å
å" min-width="100px"> |
| | | <el-table-column prop="jobDate" label="å
¥èæ¥æ" min-width="100px"> |
| | | <span v-if="row.status == 0" style="color: green">æ¯</span> |
| | | <span v-else >å¦</span> |
| | | </el-table-column> |
| | | <el-table-column prop="jobDate" label="å
¥èæ¥æ" min-width="100px"> |
| | | <!-- <el-table-column prop="status" label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.status == 0" style="color: green">æ£å¸¸</span> |
| | | <span v-if="row.status == 1" style="color: red">ç¦ç¨</span> |
| | | <span v-if="row.status == 2" style="color: red">æé»/å»ç»</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column>--> |
| | | <el-table-column label="é¨é¨ç±»å" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.companyType == 0">ç¸å
³æ¹ç»ç»</span> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æåæä½æ¶é´" min-width="150px"></el-table-column> |
| | | <el-table-column fixed="right" label="人è¸ä¿¡æ¯" min-width="100px"> |
| | | <template slot-scope="{row}"> |
| | | <el-image v-if="row.faceImgFull" style="width: 60px; height: 60px" :src="row.faceImgFull" |
| | | :preview-src-list="[row.faceImgFull]"> |
| | | </el-image> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="æä½" min-width="280" fixed="right"> |
| | |
| | | import OperaTrainTimeImportWindow from '@/components/business/OperaTrainTimeImportWindow' |
| | | import OperaMemberRoleWindow from '@/components/business/OperaMemberRoleWindow' |
| | | import { fetchList } from '@/api/business/company' |
| | | import { fetchList as positionList } from '@/api/business/position' |
| | | import { memberSync, roleAuth, updateCanVisit, updateHead, updateWorkStatus } from '@/api/business/member' |
| | | export default { |
| | | name: 'internalMember', |
| | | extends: BaseTable, |
| | | components: { TableLayout1, Pagination, Tree, cardOpeningRecord, OperaMemberWindow, OperaMemberRoleWindow, OperaMemberImportWindow, OperaTrainTimeImportWindow }, |
| | | data() { |
| | | data () { |
| | | return { |
| | | TreeList: [], |
| | | // æç´¢ |
| | |
| | | type: 2, |
| | | companyType: 0, |
| | | erpOrgId: '', |
| | | workStatus: '', |
| | | positionId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | | }, |
| | |
| | | department: [] |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.config({ |
| | | module: '人åä¿¡æ¯è¡¨', |
| | | api: '/business/member', |
| | |
| | | }) |
| | | // this.search() |
| | | this.getfindCompanyTreePage() |
| | | this.getPositionList() |
| | | }, |
| | | methods: { |
| | | startEmpowerBatch() { |
| | | startEmpowerBatch () { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请è³å°éæ©ä¸æ¡æ°æ®') |
| | | return |
| | |
| | | }) |
| | | this.$refs.OperaMemberRoleWindow.open('å
é¨åå·¥ä¸åæé', ids, names, this.searchForm.companyType) |
| | | }, |
| | | empower(id) { |
| | | getPositionList () { |
| | | positionList({}) |
| | | .then(res => { |
| | | this.positionList = res |
| | | }) |
| | | }, |
| | | empower (id) { |
| | | var that = this |
| | | this.$confirm('ç¡®å®éæ°ææå?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | |
| | | }) |
| | | }, |
| | | // è·åç»ç»æ |
| | | getfindCompanyTreePage() { |
| | | getfindCompanyTreePage () { |
| | | fetchList() |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | |
| | | } |
| | | }) |
| | | }, |
| | | getDepartmentTree(tree) { |
| | | getDepartmentTree (tree) { |
| | | if (tree == null) { |
| | | return [] |
| | | } |
| | |
| | | newItem.children = this.getDepartmentTree(newItem.children) |
| | | } |
| | | if (newItem.type === this.searchForm.companyType) { |
| | | //newItem.disabled =false |
| | | // newItem.disabled =false |
| | | } else { |
| | | newItem.disabled = true |
| | | } |
| | |
| | | }) |
| | | }, |
| | | // åæ¥ä¿¡æ¯ |
| | | async synchronous() { |
| | | async synchronous () { |
| | | this.$dialog.actionConfirm('该æä½é触åå
¨åä¿¡æ¯æ´æ°åéæ°ä¸åï¼è¯·è°¨æ
æä½', 'æ¨ç¡®è®¤å
¨é忥å
é¨äººåä¿¡æ¯åï¼') |
| | | .then(() => { |
| | | this.loading = true |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | async updateHead(row, type) { |
| | | async updateHead (row, type) { |
| | | this.$dialog.actionConfirm('æ¨ç¡®è®¤è¿è¡å½åæä½åï¼', 'é¨é¨ä¸»ç®¡è®¾ç½®æä½æç¤º') |
| | | .then(() => { |
| | | this.heading = true |
| | |
| | | .catch(() => { }) |
| | | }) |
| | | }, |
| | | changeWorkStatus(e, row) { |
| | | changeWorkStatus (e, row) { |
| | | this.working = true |
| | | updateWorkStatus({ id: row.id, workStatus: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | changeCanvisit(e, row) { |
| | | changeCanvisit (e, row) { |
| | | this.canvisiting = true |
| | | updateCanVisit({ id: row.id, canVisit: e }) |
| | | .then(res => { |
| | |
| | | }) |
| | | .catch(() => { }) |
| | | }, |
| | | callback(row) { |
| | | callback (row) { |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | | this.search() |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.cloud.admin; |
| | | |
| | | import com.doumee.api.BaseController; |
| | | import com.doumee.config.annotation.CloudRequiredPermission; |
| | | import com.doumee.core.annotation.excel.ExcelExporter; |
| | | import com.doumee.core.annotation.pr.PreventRepeat; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.dao.business.model.Position; |
| | | import com.doumee.service.business.PositionService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2024/04/28 15:44 |
| | | */ |
| | | @Api(tags = "å²ä½ä¿¡æ¯è¡¨") |
| | | @RestController |
| | | @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/position") |
| | | public class PositionCloudController extends BaseController { |
| | | |
| | | @Autowired |
| | | private PositionService positionService; |
| | | |
| | | @PreventRepeat |
| | | @ApiOperation("æ°å»º") |
| | | @PostMapping("/create") |
| | | @CloudRequiredPermission("business:visitreason:create") |
| | | public ApiResponse create(@RequestBody Position position,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | position.setLoginUserInfo(this.getLoginUser(token)); |
| | | return ApiResponse.success(positionService.create(position)); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDå é¤") |
| | | @GetMapping("/delete/{id}") |
| | | @CloudRequiredPermission("business:visitreason:delete") |
| | | public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | positionService.deleteById(id,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ¹éå é¤") |
| | | @GetMapping("/delete/batch") |
| | | @CloudRequiredPermission("business:visitreason:delete") |
| | | public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | String [] idArray = ids.split(","); |
| | | List<Integer> idList = new ArrayList<>(); |
| | | for (String id : idArray ){ |
| | | idList.add(Integer.valueOf(id)); |
| | | } |
| | | positionService.deleteByIdInBatch(idList,this.getLoginUser(token)); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDä¿®æ¹") |
| | | @PostMapping("/updateById") |
| | | @CloudRequiredPermission("business:visitreason:update") |
| | | public ApiResponse updateById(@RequestBody Position position,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | position.setLoginUserInfo(this.getLoginUser(token)); |
| | | positionService.updateById(position); |
| | | return ApiResponse.success(null); |
| | | } |
| | | |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | @PostMapping("/page") |
| | | @CloudRequiredPermission("business:visitreason:query") |
| | | public ApiResponse<PageData<Position>> findPage (@RequestBody PageWrap<Position> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(positionService.findPage(pageWrap)); |
| | | } |
| | | @ApiOperation("æ¥è¯¢å
¨é¨") |
| | | @PostMapping("/list") |
| | | @CloudRequiredPermission("business:visitreason:query") |
| | | public ApiResponse<List<Position>> findList (@RequestBody Position pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(positionService.findList(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | | @CloudRequiredPermission("business:visitreason:exportExcel") |
| | | public void exportExcel (@RequestBody PageWrap<Position> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | ExcelExporter.build(Position.class).export(positionService.findPage(pageWrap).getRecords(), "访客äºç±ä¿¡æ¯è¡¨", response); |
| | | } |
| | | |
| | | @ApiOperation("æ ¹æ®IDæ¥è¯¢") |
| | | @GetMapping("/{id}") |
| | | @CloudRequiredPermission("business:visitreason:query") |
| | | public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ |
| | | return ApiResponse.success(positionService.findById(id)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.business.model.Position; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | public interface PositionMapper extends BaseMapper<Position> { |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "å¨èç¶æ 0å¨è 1离è", example = "1") |
| | | @ExcelColumn(name="å¨èç¶æ 0å¨è 1离è") |
| | | private Integer workStatus; |
| | | @ApiModelProperty(value = "æ¯å¦å
å 0å¦ 1æ¯", example = "1") |
| | | @ExcelColumn(name="æ¯å¦å
å 0å¦ 1æ¯") |
| | | private Integer isDangyuan; |
| | | @ApiModelProperty(value = "å²ä½ç¼ç ï¼å
³èpositionbiao", example = "1") |
| | | @ExcelColumn(name="å²ä½ç¼ç ") |
| | | private Integer positionId; |
| | | @ApiModelProperty(value = "ERPæ è¯", example = "1") |
| | | @ExcelColumn(name="ERPæ è¯") |
| | | private String erpId; |
| | |
| | | @ApiModelProperty(value = "ERP忥æ¶é´") |
| | | @ExcelColumn(name="ERP忥æ¶é´") |
| | | private Date erpDate; |
| | | @ApiModelProperty(value = "å
¥è妿") |
| | | @ExcelColumn(name="å
¥è妿") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date jobDate; |
| | | |
| | | @ApiModelProperty(value = "ERPåæ¥ç¶æ 0æªåæ¥ 1已忥", example = "1") |
| | | @ExcelColumn(name="ERPåæ¥ç¶æ 0æªåæ¥ 1已忥") |
| | |
| | | @ApiModelProperty(value = "æåæä½å
容") |
| | | @TableField(exist = false) |
| | | private String optRemark; |
| | | @ApiModelProperty(value = "å²ä½åç§°") |
| | | @TableField(exist = false) |
| | | private String positionName; |
| | | @ApiModelProperty(value = "å¹è®å¼å§æ¶é´") |
| | | @TableField(exist = false) |
| | | private Date trainStartTime; |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.dao.business.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.doumee.core.annotation.excel.ExcelColumn; |
| | | import com.doumee.core.model.LoginUserModel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * å类信æ¯è¡¨ |
| | | * @author æ±è¹è¹ |
| | | * @date 2023/11/30 15:33 |
| | | */ |
| | | @Data |
| | | @ApiModel("å²ä½ä¿¡æ¯è¡¨") |
| | | @TableName("`position`") |
| | | public class Position extends LoginUserModel { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | @ApiModelProperty(value = "主é®") |
| | | @ExcelColumn(name="主é®") |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "å建人ç¼ç ") |
| | | @ExcelColumn(name="å建人ç¼ç ") |
| | | private Integer creator; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´") |
| | | @ExcelColumn(name="å建æ¶é´") |
| | | private Date createDate; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººç¼ç ") |
| | | @ExcelColumn(name="æ´æ°äººç¼ç ") |
| | | private Integer editor; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´") |
| | | @ExcelColumn(name="æ´æ°æ¶é´") |
| | | private Date editDate; |
| | | |
| | | @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯") |
| | | @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") |
| | | private Integer isdeleted; |
| | | |
| | | @ApiModelProperty(value = "åç§°") |
| | | @ExcelColumn(name="åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | @ExcelColumn(name="夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "ç¶æ 0å¯ç¨ 1ç¦ç¨") |
| | | @ExcelColumn(name="ç¶æ 0å¯ç¨ 1ç¦ç¨") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "æåºç ") |
| | | @ExcelColumn(name="æåºç ") |
| | | private Integer sortnum; |
| | | |
| | | @ApiModelProperty(value = "徿 ") |
| | | @ExcelColumn(name="徿 ") |
| | | private String imgurl; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0åå·¥å²ä½") |
| | | @ExcelColumn(name="ç±»å0åå·¥å²ä½") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "ç¶çº§ç¼ç ï¼èªå
³èï¼") |
| | | @ExcelColumn(name="ç¶çº§ç¼ç ï¼èªå
³èï¼") |
| | | private Integer parentId; |
| | | |
| | | @ApiModelProperty(value = "åéåç±»") |
| | | @TableField(exist = false) |
| | | private List<Position> childList; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business; |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Position; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 访客äºç±ä¿¡æ¯è¡¨Serviceå®ä¹ |
| | | * @author æ±è¹è¹ |
| | | * @since 2024/04/28 15:44 |
| | | */ |
| | | public interface PositionService { |
| | | |
| | | /** |
| | | * å建 |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | * @return Integer |
| | | */ |
| | | Integer create(Position position); |
| | | |
| | | /** |
| | | * 主é®å é¤ |
| | | * |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id, LoginUserInfo userInfo); |
| | | |
| | | /** |
| | | * å é¤ |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | */ |
| | | void delete(Position position, LoginUserInfo userInfo); |
| | | |
| | | /** |
| | | * æ¹é主é®å é¤ |
| | | * |
| | | * @param ids 主é®é |
| | | */ |
| | | void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo); |
| | | |
| | | /** |
| | | * 䏻鮿´æ° |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | */ |
| | | void updateById(Position position); |
| | | |
| | | /** |
| | | * æ¹é䏻鮿´æ° |
| | | * |
| | | * @param positions å®ä½é |
| | | */ |
| | | void updateByIdInBatch(List<Position> positions); |
| | | |
| | | /** |
| | | * 䏻鮿¥è¯¢ |
| | | * |
| | | * @param id ä¸»é® |
| | | * @return Position |
| | | */ |
| | | Position findById(Integer id); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢åæ¡è®°å½ |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | * @return Position |
| | | */ |
| | | Position findOne(Position position); |
| | | |
| | | /** |
| | | * æ¡ä»¶æ¥è¯¢ |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | * @return List<Position> |
| | | */ |
| | | List<Position> findList(Position position); |
| | | |
| | | /** |
| | | * å页æ¥è¯¢ |
| | | * |
| | | * @param pageWrap å页对象 |
| | | * @return PageData<Position> |
| | | */ |
| | | PageData<Position> findPage(PageWrap<Position> pageWrap); |
| | | |
| | | /** |
| | | * æ¡ä»¶ç»è®¡ |
| | | * |
| | | * @param position å®ä½å¯¹è±¡ |
| | | * @return long |
| | | */ |
| | | long count(Position position); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.PositionMapper; |
| | | import com.doumee.dao.business.model.Position; |
| | | import com.doumee.service.business.PositionService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 访客äºç±ä¿¡æ¯è¡¨Serviceå®ç° |
| | | * @author æ±è¹è¹ |
| | | * @since 2024/04/28 15:44 |
| | | */ |
| | | @Service |
| | | public class PositionServiceImpl implements PositionService { |
| | | |
| | | @Autowired |
| | | private PositionMapper positionMapper; |
| | | |
| | | @Override |
| | | public Integer create(Position model) { |
| | | model.setCreator(model.getLoginUserInfo().getId()); |
| | | model.setEditor(model.getCreator()); |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setEditDate(new Date()); |
| | | model.setCreateDate(model.getEditDate()); |
| | | positionMapper.insert(model); |
| | | return model.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id, LoginUserInfo userInfo) { |
| | | Position update = new Position(); |
| | | update.setEditor(userInfo.getId()); |
| | | update.setEditDate(new Date()); |
| | | update.setIsdeleted(Constants.ONE); |
| | | update.setId(id); |
| | | positionMapper.updateById(update); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void delete(Position position, LoginUserInfo userInfo) { |
| | | UpdateWrapper<Position> deleteWrapper = new UpdateWrapper<>(position); |
| | | positionMapper.delete(deleteWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | for(Integer id :ids){ |
| | | deleteById(id,userInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Position model) { |
| | | model.setEditor(model.getLoginUserInfo().getId()); |
| | | model.setEditDate(new Date()); |
| | | positionMapper.updateById(model); |
| | | } |
| | | |
| | | @Override |
| | | public void updateByIdInBatch(List<Position> positions) { |
| | | if (CollectionUtils.isEmpty(positions)) { |
| | | return; |
| | | } |
| | | for (Position position: positions) { |
| | | this.updateById(position); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Position findById(Integer id) { |
| | | return positionMapper.selectById(id); |
| | | } |
| | | |
| | | @Override |
| | | public Position findOne(Position position) { |
| | | QueryWrapper<Position> wrapper = new QueryWrapper<>(position); |
| | | return positionMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public List<Position> findList(Position position) { |
| | | QueryWrapper<Position> wrapper = new QueryWrapper<>(position); |
| | | wrapper.eq("isdeleted",Constants.ZERO); |
| | | return positionMapper.selectList(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Position> findPage(PageWrap<Position> pageWrap) { |
| | | IPage<Position> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Position> queryWrapper = new QueryWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | queryWrapper.lambda() |
| | | .eq(pageWrap.getModel().getId() != null, Position::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, Position::getCreator, pageWrap.getModel().getCreator()) |
| | | .ge(pageWrap.getModel().getCreateDate() != null, Position::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) |
| | | .le(pageWrap.getModel().getCreateDate() != null, Position::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())) |
| | | .eq(pageWrap.getModel().getEditor() != null, Position::getEditor, pageWrap.getModel().getEditor()) |
| | | .ge(pageWrap.getModel().getEditDate() != null, Position::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())) |
| | | .le(pageWrap.getModel().getEditDate() != null, Position::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())) |
| | | .eq(pageWrap.getModel().getIsdeleted() != null, Position::getIsdeleted, pageWrap.getModel().getIsdeleted()) |
| | | .eq(pageWrap.getModel().getRemark() != null, Position::getRemark, pageWrap.getModel().getRemark()) |
| | | .like(pageWrap.getModel().getName() != null, Position::getName, pageWrap.getModel().getName()) |
| | | .eq(pageWrap.getModel().getSortnum() != null, Position::getSortnum, pageWrap.getModel().getSortnum()) |
| | | .eq(pageWrap.getModel().getType() != null, Position::getType, pageWrap.getModel().getType()) |
| | | .orderByAsc(Position::getSortnum) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | } |
| | | } |
| | | return PageData.from(positionMapper.selectPage(page, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | | public long count(Position position) { |
| | | QueryWrapper<Position> wrapper = new QueryWrapper<>(position); |
| | | return positionMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | .eq(Device::getDoorId,request.getSrcIndex()) |
| | | .eq(Device::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1" )); |
| | | if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ |
| | | //妿æ¯è¿é¨ï¼å½å
¥äººåçå¨åºæ°æ®è®°å½ |
| | | inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//å
¥åºäººæ¬¡ |
| | | }else{ |
| | | inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);//离åºäººæ¬¡ |
| | | if(d!=null && !Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE){ |
| | | //妿æ¯è¿é¨ï¼å½å
¥äººåçå¨åºæ°æ®è®°å½ |
| | | inoutDayCount.setInMemberNum(Constants.formatIntegerNum(inoutDayCount.getInMemberNum())+1);//å
¥åºäººæ¬¡ |
| | | }else{ |
| | | inoutDayCount.setOutMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutMemberNum())+1);//离åºäººæ¬¡ |
| | | } |
| | | } |
| | | if(member !=null){ |
| | | delRetentionLis.add(member.getId()); |
| | | if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ |
| | | //妿æ¯è¿é¨ï¼å½å
¥äººåçå¨åºæ°æ®è®°å½ |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//å
é¨äººåå
¥åºäººæ¬¡ |
| | | if(d!=null && !Constants.equalsInteger(d.getIsEntrance(),Constants.ONE)){ |
| | | delRetentionLis.add(member.getId()); |
| | | if( Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE){ |
| | | //妿æ¯è¿é¨ï¼å½å
¥äººåçå¨åºæ°æ®è®°å½ |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | inoutDayCount.setInSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getInSelfMemberNum())+1);//å
é¨äººåå
¥åºäººæ¬¡ |
| | | }else{ |
| | | inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//ç¸å
³æ¹å
¥åºäººæ¬¡ |
| | | } |
| | | }else{ |
| | | inoutDayCount.setInOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getInOtherMemberNum())+1);//ç¸å
³æ¹å
¥åºäººæ¬¡ |
| | | } |
| | | }else{ |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | inoutDayCount.setOutSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutSelfMemberNum())+1);//å
é¨äººååºåºäººæ¬¡ |
| | | }else{ |
| | | inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//ç¸å
³æ¹åºåºäººæ¬¡ |
| | | if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){ |
| | | inoutDayCount.setOutSelfMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutSelfMemberNum())+1);//å
é¨äººååºåºäººæ¬¡ |
| | | }else{ |
| | | inoutDayCount.setOutOtherMemberNum(Constants.formatIntegerNum(inoutDayCount.getOutOtherMemberNum())+1);//ç¸å
³æ¹åºåºäººæ¬¡ |
| | | } |
| | | } |
| | | } |
| | | } |