| | |
| | | export function deleteById (id) { |
| | | return request.get(`/business/member/delete/${id}`) |
| | | } |
| | | |
| | | export function allList (data) { |
| | | return request.post('/business/member/list', data, { |
| | | trim: true |
| | | }) |
| | | } |
| | | // æ¹éå é¤ |
| | | export function deleteByIdInBatch (ids) { |
| | | return request.get('/business/member/delete/batch', { |
| | |
| | | */ |
| | | deleteById (row, childConfirm = true) { |
| | | this.__checkApi() |
| | | let message = `确认å é¤${this.module}ã${row[this.configData['field.main']]}ãå?` |
| | | let message = `确认å é¤${this.module}å?` |
| | | if (childConfirm && row.children != null && row.children.length > 0) { |
| | | message = `确认å é¤${this.module}ã${row[this.configData['field.main']]}ãåå
¶å${this.module}å?` |
| | | } |
| | |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="å建人ç¼ç " prop="creator"> |
| | | <el-input v-model="form.creator" placeholder="请è¾å
¥å建人ç¼ç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="å建æ¶é´" prop="createDate"> |
| | | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å建æ¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°äººç¼ç " prop="editor"> |
| | | <el-input v-model="form.editor" placeholder="请è¾å
¥æ´æ°äººç¼ç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æ¶é´" prop="editDate"> |
| | | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ´æ°æ¶é´"></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å é¤0å¦ 1æ¯" prop="isdeleted"> |
| | | <el-input v-model="form.isdeleted" placeholder="请è¾å
¥æ¯å¦å é¤0å¦ 1æ¯" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æå±åç±»ç¼ï¼å
³ècategory)" prop="categoryId"> |
| | | <el-input v-model="form.categoryId" placeholder="请è¾å
¥æå±åç±»ç¼ï¼å
³ècategory)" v-trim/> |
| | | <el-form-item label="éæ©è´è´£äººï¼" prop="memberId"> |
| | | <el-select v-model="form.memberId" filterable remote :remote-method="loadMember" :loading="loading" placeholder="å¯è¾å
¥å§å | ææºå· | é¨é¨åç§°è¿è¡æç´¢"> |
| | | <el-option |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | | :label="item.name +' | '+(item.phone||'æ ')+' | '+ item.companyName" |
| | | :value="item.id"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="请è¾å
¥å¤æ³¨" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ 0å¯ç¨ 1ç¦ç¨" prop="status"> |
| | | <el-input v-model="form.status" placeholder="请è¾å
¥ç¶æ 0å¯ç¨ 1ç¦ç¨" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç " prop="sortnum"> |
| | | <el-input v-model="form.sortnum" placeholder="请è¾å
¥æåºç " v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å 0DCA责任人1å®å
¨é£é©ç©ä¸ä¸»ç®¡ 2å®å
¨é£é©å¤çå·¥ç¨å¸ 4SHEè´è´£äºº 5SHEå·¥åé®ç®±æé人" prop="type"> |
| | | <el-input v-model="form.type" placeholder="请è¾å
¥ç±»å 0DCA责任人1å®å
¨é£é©ç©ä¸ä¸»ç®¡ 2å®å
¨é£é©å¤çå·¥ç¨å¸ 4SHEè´è´£äºº 5SHEå·¥åé®ç®±æé人" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="人åç¼ç ï¼å
³èmember)" prop="memberId"> |
| | | <el-input v-model="form.memberId" placeholder="请è¾å
¥äººåç¼ç ï¼å
³èmember)" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="column13"> |
| | | <el-input v-model="form.column13" placeholder="请è¾å
¥" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <script> |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { allList } from "@/api/business/member"; |
| | | |
| | | export default { |
| | | name: 'OperaManagersWindow', |
| | | extends: BaseOpera, |
| | |
| | | return { |
| | | // è¡¨åæ°æ® |
| | | form: { |
| | | id: null, |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | categoryId: '', |
| | | remark: '', |
| | | status: '', |
| | | sortnum: '', |
| | | type: '', |
| | | memberId: '', |
| | | column13: '' |
| | | remark: '' |
| | | }, |
| | | loading:false, |
| | | memberList: [], |
| | | // éªè¯è§å |
| | | rules: { |
| | | memberId: [ |
| | | { required: true, message: 'è¯·éæ©è´è´£äºº' } |
| | | ] |
| | | } |
| | | } |
| | | }, |
| | |
| | | api: '/business/managers', |
| | | 'field.id': 'id' |
| | | }) |
| | | }, |
| | | methods: { |
| | | loadMember (query) { |
| | | this.memberList = [] |
| | | if(!query || query==''){ |
| | | return |
| | | } |
| | | this.loading =true |
| | | allList({ |
| | | keyword: query |
| | | }) |
| | | .then(res => { |
| | | this.memberList = res |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | .finally(() => { |
| | | this.loading =false |
| | | }) |
| | | }, |
| | | open (title, target) { |
| | | this.title = title |
| | | this.visible = true |
| | | // æ°å»º |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form.type = target != null ? target.type : null |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | this.memberList = [] |
| | | // this.loadMember() |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:managers:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <SearchFormCollapse slot="search-form"> |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="主é®" prop="id"> |
| | | <el-input v-model="searchForm.id" placeholder="请è¾å
¥ä¸»é®" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å建人ç¼ç " prop="creator"> |
| | | <el-input v-model="searchForm.creator" placeholder="请è¾å
¥å建人ç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="å建æ¶é´" prop="createDate"> |
| | | <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å建æ¶é´" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°äººç¼ç " prop="editor"> |
| | | <el-input v-model="searchForm.editor" placeholder="请è¾å
¥æ´æ°äººç¼ç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æ´æ°æ¶é´" prop="editDate"> |
| | | <el-date-picker v-model="searchForm.editDate" value-format="yyyy-MM-dd" placeholder="请è¾å
¥æ´æ°æ¶é´" @change="search"/> |
| | | </el-form-item> |
| | | <el-form-item label="æ¯å¦å é¤0å¦ 1æ¯" prop="isdeleted"> |
| | | <el-input v-model="searchForm.isdeleted" placeholder="请è¾å
¥æ¯å¦å é¤0å¦ 1æ¯" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æå±åç±»ç¼ï¼å
³ècategory)" prop="categoryId"> |
| | | <el-input v-model="searchForm.categoryId" placeholder="请è¾å
¥æå±åç±»ç¼ï¼å
³ècategory)" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="夿³¨" prop="remark"> |
| | | <el-input v-model="searchForm.remark" placeholder="请è¾å
¥å¤æ³¨" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¶æ 0å¯ç¨ 1ç¦ç¨" prop="status"> |
| | | <el-input v-model="searchForm.status" placeholder="请è¾å
¥ç¶æ 0å¯ç¨ 1ç¦ç¨" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="æåºç " prop="sortnum"> |
| | | <el-input v-model="searchForm.sortnum" placeholder="请è¾å
¥æåºç " @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç±»å 0DCA责任人1å®å
¨é£é©ç©ä¸ä¸»ç®¡ 2å®å
¨é£é©å¤çå·¥ç¨å¸ 4SHEè´è´£äºº 5SHEå·¥åé®ç®±æé人" prop="type"> |
| | | <el-input v-model="searchForm.type" placeholder="请è¾å
¥ç±»å 0DCA责任人1å®å
¨é£é©ç©ä¸ä¸»ç®¡ 2å®å
¨é£é©å¤çå·¥ç¨å¸ 4SHEè´è´£äºº 5SHEå·¥åé®ç®±æé人" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="人åç¼ç ï¼å
³èmember)" prop="memberId"> |
| | | <el-input v-model="searchForm.memberId" placeholder="请è¾å
¥äººåç¼ç ï¼å
³èmember)" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="column13"> |
| | | <el-input v-model="searchForm.column13" placeholder="请è¾å
¥" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="人åæç´¢ " prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" 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> |
| | | </SearchFormCollapse> |
| | | </div> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:managers:create', 'business:managers:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaManagersWindow.open('æ°å»ºè´£ä»»äººä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:managers:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.operaManagersWindow.open('æ°å»ºDCAæå¨æé人åä¿¡æ¯',{type:1})" icon="el-icon-plus" v-permissions="['business:managers:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="id" label="主é®" min-width="100px"></el-table-column> |
| | | <el-table-column prop="creator" label="å建人ç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editor" label="æ´æ°äººç¼ç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberName" label="人åå§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="äººåææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="isdeleted" label="æ¯å¦å é¤0å¦ 1æ¯" min-width="100px"></el-table-column> |
| | | <el-table-column prop="categoryId" label="æå±åç±»ç¼ï¼å
³ècategory)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="status" label="ç¶æ 0å¯ç¨ 1ç¦ç¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="sortnum" label="æåºç " min-width="100px"></el-table-column> |
| | | <el-table-column prop="type" label="ç±»å 0DCA责任人1å®å
¨é£é©ç©ä¸ä¸»ç®¡ 2å®å
¨é£é©å¤çå·¥ç¨å¸ 4SHEè´è´£äºº 5SHEå·¥åé®ç®±æé人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberId" label="人åç¼ç ï¼å
³èmember)" min-width="100px"></el-table-column> |
| | | <el-table-column prop="column13" label="" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:managers:update', 'business:managers:delete'])" |
| | | label="æä½" |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <!-- |
| | | <el-button type="text" @click="$refs.operaManagersWindow.open('ç¼è¾è´£ä»»äººä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:managers:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button> |
| | | --> |
| | | <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import SearchFormCollapse from '@/components/common/SearchFormCollapse' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaManagersWindow from '@/components/business/OperaManagersWindow' |
| | | export default { |
| | | name: 'Managers', |
| | | extends: BaseTable, |
| | | components: { SearchFormCollapse, TableLayout, Pagination, OperaManagersWindow }, |
| | | components: { TableLayout, Pagination, OperaManagersWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | id: '', |
| | | creator: '', |
| | | createDate: '', |
| | | editor: '', |
| | | editDate: '', |
| | | isdeleted: '', |
| | | categoryId: '', |
| | | remark: '', |
| | | status: '', |
| | | sortnum: '', |
| | | type: '', |
| | | memberId: '', |
| | | column13: '' |
| | | memberName: '', |
| | | type: 1 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '责任人信æ¯è¡¨', |
| | | module: 'DCAæå¨æé人åä¿¡æ¯', |
| | | api: '/business/managers', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:managers:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="人åæç´¢ " prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" 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> |
| | | </div> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:managers:create', 'business:managers:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaManagersWindow.open('æ°å»ºDCA䏿¥æé人åä¿¡æ¯',{type:2})" icon="el-icon-plus" v-permissions="['business:managers:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers: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="memberName" label="人åå§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="äººåææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" min-width="100px"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:managers:update', 'business:managers:delete'])" |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <!-- |
| | | <el-button type="text" @click="$refs.operaManagersWindow.open('ç¼è¾è´£ä»»äººä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:managers:update']">ç¼è¾</el-button> |
| | | --> |
| | | <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaManagersWindow ref="operaManagersWindow" @success="handlePageChange"/> |
| | | </TableLayout> |
| | | </template> |
| | | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaManagersWindow from '@/components/business/OperaManagersWindow' |
| | | export default { |
| | | name: 'Managers', |
| | | extends: BaseTable, |
| | | components: { TableLayout, Pagination, OperaManagersWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | | searchForm: { |
| | | memberName: '', |
| | | type: 2 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: 'DCA䏿¥æé人åä¿¡æ¯', |
| | | api: '/business/managers', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | | }) |
| | | this.search() |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:managers:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <SearchFormCollapse slot="search-form"> |
| | | <div slot="search-form"> |
| | | <el-form ref="searchForm" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="人åå§å " prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" placeholder="请è¾å
¥äººåå§å" @keypress.enter.native="search"></el-input> |
| | | <el-form-item label="人åæç´¢ " prop="memberName"> |
| | | <el-input v-model="searchForm.memberName" 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> |
| | | </SearchFormCollapse> |
| | | </div> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:managers:create', 'business:managers:delete']"> |
| | | <li><el-button type="primary" @click="$refs.operaManagersWindow.open('æ°å»ºè´£ä»»äººä¿¡æ¯è¡¨')" icon="el-icon-plus" v-permissions="['business:managers:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.operaManagersWindow.open('æ°å»ºSHE责任人',{type:0})" icon="el-icon-plus" v-permissions="['business:managers:create']">æ°å»º</el-button></li> |
| | | <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button></li> |
| | | </ul> |
| | | <el-table |
| | |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="memberName" label="人åå§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="memberPhone" label="äººåææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> |
| | | <el-table-column prop="editDate" label="æ´æ°æ¶é´" min-width="100px"></el-table-column> |
| | |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <!-- |
| | | <el-button type="text" @click="$refs.operaManagersWindow.open('ç¼è¾è´£ä»»äººä¿¡æ¯è¡¨', row)" icon="el-icon-edit" v-permissions="['business:managers:update']">ç¼è¾</el-button> |
| | | <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button> |
| | | --> |
| | | <el-button type="text" style="color: red" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:managers:delete']">å é¤</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import SearchFormCollapse from '@/components/common/SearchFormCollapse' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import OperaManagersWindow from '@/components/business/OperaManagersWindow' |
| | | export default { |
| | | name: 'Managers', |
| | | extends: BaseTable, |
| | | components: { SearchFormCollapse, TableLayout, Pagination, OperaManagersWindow }, |
| | | components: { TableLayout, Pagination, OperaManagersWindow }, |
| | | data () { |
| | | return { |
| | | // æç´¢ |
| | |
| | | }, |
| | | created () { |
| | | this.config({ |
| | | module: '责任人信æ¯è¡¨', |
| | | module: 'SHE责任人信æ¯', |
| | | api: '/business/managers', |
| | | 'field.id': 'id', |
| | | 'field.main': 'id' |
| | |
| | | public ApiResponse<PageData<Member>> findPage (@RequestBody PageWrap<Member> pageWrap) { |
| | | return ApiResponse.success(memberService.findPage(pageWrap)); |
| | | } |
| | | @ApiOperation("æ¥è¯¢å
¨é¨") |
| | | @PostMapping("/list") |
| | | @RequiresPermissions("business:member:query") |
| | | public ApiResponse<List<Member>> findList (@RequestBody Member pageWrap) { |
| | | return ApiResponse.success(memberService.findList(pageWrap)); |
| | | } |
| | | |
| | | @ApiOperation("导åºExcel") |
| | | @PostMapping("/exportExcel") |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.doumee.dao.business.model.Managers; |
| | | import com.github.yulichang.base.MPJBaseMapper; |
| | | |
| | | /** |
| | | * @author æ±è¹è¹ |
| | | * @since 2025/04/02 17:49 |
| | | */ |
| | | public interface ManagersMapper extends BaseMapper<Managers> { |
| | | public interface ManagersMapper extends MPJBaseMapper<Managers> { |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "åå·¥å§å") |
| | | @TableField(exist = false) |
| | | private String memberName; |
| | | @ApiModelProperty(value = "åå·¥ææºå·") |
| | | @TableField(exist = false) |
| | | private String memberPhone; |
| | | |
| | | @ApiModelProperty(value = "å§å/ææºå·/é¨é¨") |
| | | @TableField(exist = false) |
| | | private String keyword; |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.doumee.core.constants.Constants; |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.ManagersMapper; |
| | | import com.doumee.dao.business.MemberMapper; |
| | | import com.doumee.dao.business.model.Managers; |
| | | import com.doumee.dao.business.model.Member; |
| | | import com.doumee.dao.system.model.SystemUser; |
| | | import com.doumee.service.business.ManagersService; |
| | | 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.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.models.auth.In; |
| | | import org.apache.shiro.SecurityUtils; |
| | | 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; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private ManagersMapper managersMapper; |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | |
| | | @Override |
| | | public Integer create(Managers managers) { |
| | | Member member =memberMapper.selectById(managers.getMemberId()); |
| | | if(member == null || Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对ä¸èµ·ï¼è¯¥è´è´£äººä¿¡æ¯ä¸åå¨ï¼è¯·å·æ°é¡µé¢éè¯ï¼"); |
| | | } |
| | | Managers model =managersMapper.selectOne(new LambdaQueryWrapper<Managers>().eq(Managers::getMemberId,managers.getMemberId()) |
| | | .eq(Managers::getType,managers.getType()) |
| | | .eq(Managers::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | if(model !=null){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"该人åä¿¡æ¯å·²è®¾ç½®ï¼æ ééæ°æ·»å "); |
| | | } |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | managers.setCreator(user.getId()); |
| | | managers.setCreateDate(new Date()); |
| | | managers.setIsdeleted(Constants.ZERO); |
| | | managers.setEditor(managers.getCreator()); |
| | | managers.setEditDate(managers.getCreateDate()); |
| | | managers.setStatus(Constants.ZERO); |
| | | managersMapper.insert(managers); |
| | | return managers.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | managersMapper.deleteById(id); |
| | | Managers managers = new Managers(); |
| | | managers.setId(id); |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | managers.setEditor(user.getId()); |
| | | managers.setEditDate(new Date()); |
| | | managers.setIsdeleted(Constants.ONE); |
| | | managersMapper.updateById(managers); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | managersMapper.deleteBatchIds(ids); |
| | | for(Integer id :ids){ |
| | | deleteById(id); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(Managers managers) { |
| | | LoginUserInfo user = new LoginUserInfo(); |
| | | managers.setEditor(user.getId()); |
| | | managers.setEditDate(new Date()); |
| | | managersMapper.updateById(managers); |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Managers> findList(Managers managers) { |
| | | QueryWrapper<Managers> wrapper = new QueryWrapper<>(managers); |
| | | return managersMapper.selectList(wrapper); |
| | | public List<Managers> findList(Managers pageWrap) { |
| | | MPJLambdaWrapper<Managers> queryWrapper = new MPJLambdaWrapper<>(); |
| | | pageWrap.setIsdeleted(Constants.ZERO); |
| | | queryWrapper.selectAll(Managers.class ) |
| | | .selectAs(Member::getPhone,Managers::getMemberPhone) |
| | | .selectAs(Member::getName,Managers::getMemberName) |
| | | .selectAs(Member::getCompanyName,Managers::getCompanyName) |
| | | .selectAs(SystemUser::getUsername,Managers::getEditorName) |
| | | .leftJoin(Member.class,Member::getId,Managers::getMemberId) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,Managers::getEditor) |
| | | .eq(pageWrap.getId() != null, Managers::getId, pageWrap.getId()) |
| | | .eq(pageWrap.getCreator() != null, Managers::getCreator, pageWrap.getCreator()) |
| | | .ge(pageWrap.getCreateDate() != null, Managers::getCreateDate, Utils.Date.getStart(pageWrap.getCreateDate())) |
| | | .le(pageWrap.getCreateDate() != null, Managers::getCreateDate, Utils.Date.getEnd(pageWrap.getCreateDate())) |
| | | .eq(pageWrap.getEditor() != null, Managers::getEditor, pageWrap.getEditor()) |
| | | .ge(pageWrap.getEditDate() != null, Managers::getEditDate, Utils.Date.getStart(pageWrap.getEditDate())) |
| | | .le(pageWrap.getEditDate() != null, Managers::getEditDate, Utils.Date.getEnd(pageWrap.getEditDate())) |
| | | .eq(pageWrap.getIsdeleted() != null, Managers::getIsdeleted, pageWrap.getIsdeleted()) |
| | | .eq(pageWrap.getCategoryId() != null, Managers::getCategoryId, pageWrap.getCategoryId()) |
| | | .eq(pageWrap.getRemark() != null, Managers::getRemark, pageWrap.getRemark()) |
| | | .eq(pageWrap.getStatus() != null, Managers::getStatus, pageWrap.getStatus()) |
| | | .eq(pageWrap.getSortnum() != null, Managers::getSortnum, pageWrap.getSortnum()) |
| | | .eq(pageWrap.getType() != null, Managers::getType, pageWrap.getType()) |
| | | .eq(pageWrap.getMemberId() != null, Managers::getMemberId, pageWrap.getMemberId()) |
| | | .like(pageWrap.getMemberName() != null, Member::getName, pageWrap.getMemberName()); |
| | | if (pageWrap.getKeyword() != null) { |
| | | queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getKeyword()) |
| | | .or().like(Member::getPhone,pageWrap.getKeyword()) |
| | | .or().like(Member::getCompanyName,pageWrap .getKeyword())); |
| | | } |
| | | queryWrapper.orderByDesc(Managers::getEditDate); |
| | | return managersMapper.selectJoinList( Managers.class, queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public PageData<Managers> findPage(PageWrap<Managers> pageWrap) { |
| | | IPage<Managers> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | QueryWrapper<Managers> queryWrapper = new QueryWrapper<>(); |
| | | MPJLambdaWrapper<Managers> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | queryWrapper.lambda() |
| | | pageWrap.getModel().setIsdeleted(Constants.ZERO); |
| | | queryWrapper.selectAll(Managers.class ) |
| | | .selectAs(Member::getPhone,Managers::getMemberPhone) |
| | | .selectAs(Member::getName,Managers::getMemberName) |
| | | .selectAs(Member::getCompanyName,Managers::getCompanyName) |
| | | .selectAs(SystemUser::getUsername,Managers::getEditorName) |
| | | .leftJoin(Member.class,Member::getId,Managers::getMemberId) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,Managers::getEditor) |
| | | .eq(pageWrap.getModel().getId() != null, Managers::getId, pageWrap.getModel().getId()) |
| | | .eq(pageWrap.getModel().getCreator() != null, Managers::getCreator, pageWrap.getModel().getCreator()) |
| | | .ge(pageWrap.getModel().getCreateDate() != null, Managers::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())) |
| | |
| | | .eq(pageWrap.getModel().getSortnum() != null, Managers::getSortnum, pageWrap.getModel().getSortnum()) |
| | | .eq(pageWrap.getModel().getType() != null, Managers::getType, pageWrap.getModel().getType()) |
| | | .eq(pageWrap.getModel().getMemberId() != null, Managers::getMemberId, pageWrap.getModel().getMemberId()) |
| | | ; |
| | | for(PageWrap.SortData sortData: pageWrap.getSorts()) { |
| | | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { |
| | | queryWrapper.orderByDesc(sortData.getProperty()); |
| | | } else { |
| | | queryWrapper.orderByAsc(sortData.getProperty()); |
| | | .like(pageWrap.getModel().getMemberName() != null, Member::getName, pageWrap.getModel().getMemberName()); |
| | | if (pageWrap.getModel().getKeyword() != null) { |
| | | queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getPhone,pageWrap.getModel().getKeyword()) |
| | | .or().like(Member::getCompanyName,pageWrap.getModel().getKeyword())); |
| | | } |
| | | } |
| | | return PageData.from(managersMapper.selectPage(page, queryWrapper)); |
| | | queryWrapper.orderByDesc(Managers::getEditDate); |
| | | return PageData.from(managersMapper.selectJoinPage(page,Managers.class, queryWrapper)); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<Member> findList(Member member) { |
| | | QueryWrapper<Member> wrapper = new QueryWrapper<>(member); |
| | | return memberMapper.selectList(wrapper); |
| | | public List<Member> findList(Member pageWrap) { |
| | | pageWrap.setIsdeleted(Constants.ZERO); |
| | | MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper. selectAll(Member.class) |
| | | .selectAs(SystemUser::getUsername,Member::getEditorName) |
| | | .leftJoin(SystemUser.class,SystemUser::getId,Member::getEditor) |
| | | .eq(pageWrap.getId() != null, Member::getId, pageWrap.getId()) |
| | | .eq(pageWrap.getCreator() != null, Member::getCreator, pageWrap.getCreator()) |
| | | .ge(pageWrap.getCreateDate() != null, Member::getCreateDate, Utils.Date.getStart(pageWrap.getCreateDate())) |
| | | .le(pageWrap.getCreateDate() != null, Member::getCreateDate, Utils.Date.getEnd(pageWrap.getCreateDate())) |
| | | .eq(pageWrap.getEditor() != null, Member::getEditor, pageWrap.getEditor()) |
| | | .ge(pageWrap.getEditDate() != null, Member::getEditDate, Utils.Date.getStart(pageWrap.getEditDate())) |
| | | .le(pageWrap.getEditDate() != null, Member::getEditDate, Utils.Date.getEnd(pageWrap.getEditDate())) |
| | | .eq(pageWrap.getIsdeleted() != null, Member::getIsdeleted, pageWrap.getIsdeleted()) |
| | | .like(pageWrap.getName() != null, Member::getName, pageWrap.getName()) |
| | | .eq(pageWrap.getRemark() != null, Member::getRemark, pageWrap.getRemark()) |
| | | .eq(pageWrap.getStatus() != null, Member::getStatus, pageWrap.getStatus()) |
| | | .eq(pageWrap.getSortnum() != null, Member::getSortnum, pageWrap.getSortnum()) |
| | | .eq(pageWrap.getImgurl() != null, Member::getImgurl, pageWrap.getImgurl()) |
| | | .eq(pageWrap.getType() != null, Member::getType, pageWrap.getType()) |
| | | .eq(pageWrap.getCompanyName() != null, Member::getCompanyName, pageWrap.getCompanyName()) |
| | | .eq(pageWrap.getPhone() != null, Member::getPhone, pageWrap.getPhone()) |
| | | .eq(pageWrap.getEmail() != null, Member::getEmail, pageWrap.getEmail()) |
| | | .eq(pageWrap.getSex() != null, Member::getSex, pageWrap.getSex()) |
| | | .eq(pageWrap.getCode() != null, Member::getCode, pageWrap.getCode()) |
| | | .eq(pageWrap.getQwId() != null, Member::getQwId, pageWrap.getQwId()) |
| | | .eq(pageWrap.getIdcard() != null, Member::getIdcard, pageWrap.getIdcard()) |
| | | .ge(pageWrap.getLastLoginDate() != null, Member::getLastLoginDate, Utils.Date.getStart(pageWrap.getLastLoginDate())) |
| | | .le(pageWrap.getLastLoginDate() != null, Member::getLastLoginDate, Utils.Date.getEnd(pageWrap.getLastLoginDate())) |
| | | .eq(pageWrap.getLoginCount() != null, Member::getLoginCount, pageWrap.getLoginCount()); |
| | | if (pageWrap.getKeyword() != null) { |
| | | queryWrapper.and( ms->ms.like(Member::getName,pageWrap.getKeyword()) |
| | | .or().like(Member::getPhone,pageWrap.getKeyword()) |
| | | .or().like(Member::getCompanyName,pageWrap.getKeyword())); |
| | | } |
| | | if(pageWrap.getIncludeChild()!=null &&pageWrap.getIncludeChild() ){ |
| | | if(pageWrap.getCompanyId() !=null){ |
| | | //妿å
å«ä¸çº§ç»ç» |
| | | Company company = companyMapper.selectById(pageWrap.getCompanyId());//æ¥è¯¢ç»ç»ä¿¡æ¯ |
| | | queryWrapper.exists("select (cm.id) from company_member cm where cm.company_id_path like '"+company.getIdPath()+"%' and cm.member_id=t.id"); |
| | | // queryWrapper.likeRight(Company::getIdPath,company.getIdPath()); |
| | | } |
| | | }else{ |
| | | //ä¸å
å«ä¸çº§ç»ç» |
| | | queryWrapper.exists(pageWrap.getCompanyId()!=null,"select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getCompanyId()+"' and cm.member_id=t.id"); |
| | | } |
| | | return memberMapper.selectJoinList(Member.class,queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | |
| | | .eq(pageWrap.getModel().getSortnum() != null, Member::getSortnum, pageWrap.getModel().getSortnum()) |
| | | .eq(pageWrap.getModel().getImgurl() != null, Member::getImgurl, pageWrap.getModel().getImgurl()) |
| | | .eq(pageWrap.getModel().getType() != null, Member::getType, pageWrap.getModel().getType()) |
| | | // .eq(pageWrap.getModel().getCompanyId() != null, Member::getCompanyId, pageWrap.getModel().getCompanyId()) |
| | | .eq(pageWrap.getModel().getCompanyName() != null, Member::getCompanyName, pageWrap.getModel().getCompanyName()) |
| | | .eq(pageWrap.getModel().getPhone() != null, Member::getPhone, pageWrap.getModel().getPhone()) |
| | | .eq(pageWrap.getModel().getEmail() != null, Member::getEmail, pageWrap.getModel().getEmail()) |
| | | .eq(pageWrap.getModel().getSex() != null, Member::getSex, pageWrap.getModel().getSex()) |
| | |
| | | } |
| | | }else{ |
| | | //ä¸å
å«ä¸çº§ç»ç» |
| | | queryWrapper.exists("select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getModel().getCompanyId()+"' and cm.member_id=t.id"); |
| | | queryWrapper.exists(pageWrap.getModel().getCompanyId()!=null,"select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getModel().getCompanyId()+"' and cm.member_id=t.id"); |
| | | } |
| | | queryWrapper.orderByAsc(Member::getCreateDate); |
| | | return PageData.from(memberMapper.selectJoinPage(page,Member.class, queryWrapper)); |