Merge remote-tracking branch 'origin/master'
| | |
| | | }, |
| | | "@riophae/vue-treeselect": { |
| | | "version": "0.4.0", |
| | | "resolved": "https://registry.npm.taobao.org/@riophae/vue-treeselect/download/@riophae/vue-treeselect-0.4.0.tgz", |
| | | "integrity": "sha1-C67Vp5TP/FgLY1kfNcEl5RwN8kE=", |
| | | "resolved": "https://registry.npmmirror.com/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz", |
| | | "integrity": "sha512-J4atYmBqXQmiPFK/0B5sXKjtnGc21mBJEiyKIDZwk0Q9XuynVFX6IJ4EpaLmUgL5Tve7HAS7wkiGGSti6Uaxcg==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.3.1", |
| | | "babel-helper-vue-jsx-merge-props": "^2.0.3", |
| | |
| | | }, |
| | | "easings-css": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npm.taobao.org/easings-css/download/easings-css-1.0.0.tgz", |
| | | "integrity": "sha1-3eVpADu3pKDAt3h49ds+C+VnnIE=" |
| | | "resolved": "https://registry.npmmirror.com/easings-css/-/easings-css-1.0.0.tgz", |
| | | "integrity": "sha512-7Uq7NdazNfVtr0RNmPAys8it0zKCuaqxJStYKEl72D3j4gbvXhhaM7iWNbqhA4C94ygCye6VuyhzBRQC4szeBg==" |
| | | }, |
| | | "easy-stack": { |
| | | "version": "1.0.1", |
| | |
| | | }, |
| | | "fuzzysearch": { |
| | | "version": "1.0.3", |
| | | "resolved": "https://registry.npm.taobao.org/fuzzysearch/download/fuzzysearch-1.0.3.tgz", |
| | | "integrity": "sha1-3/yA9tawQiPyImqnndGUIxCW0Ag=" |
| | | "resolved": "https://registry.npmmirror.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz", |
| | | "integrity": "sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg==" |
| | | }, |
| | | "gauge": { |
| | | "version": "2.7.4", |
| | |
| | | }, |
| | | "material-colors": { |
| | | "version": "1.2.6", |
| | | "resolved": "https://registry.npm.taobao.org/material-colors/download/material-colors-1.2.6.tgz", |
| | | "integrity": "sha1-bRlYhxEmmSzuzHL0vMTY8BCGX0Y=" |
| | | "resolved": "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz", |
| | | "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" |
| | | }, |
| | | "md5.js": { |
| | | "version": "1.3.5", |
| | |
| | | }, |
| | | "vue-loader-v16": { |
| | | "version": "npm:vue-loader@16.8.3", |
| | | "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz", |
| | | "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | "dependencies": { |
| | | "ansi-styles": { |
| | | "version": "4.3.0", |
| | | "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", |
| | | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | }, |
| | | "chalk": { |
| | | "version": "4.1.2", |
| | | "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz", |
| | | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", |
| | | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | }, |
| | | "color-convert": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", |
| | | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", |
| | | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | }, |
| | | "color-name": { |
| | | "version": "1.1.4", |
| | | "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", |
| | | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", |
| | | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "has-flag": { |
| | | "version": "4.0.0", |
| | | "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz", |
| | | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
| | | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
| | | "dev": true, |
| | | "optional": true |
| | | }, |
| | | "loader-utils": { |
| | | "version": "2.0.4", |
| | | "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz", |
| | | "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", |
| | | "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | }, |
| | | "supports-color": { |
| | | "version": "7.2.0", |
| | | "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz", |
| | | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", |
| | | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", |
| | | "dev": true, |
| | | "optional": true, |
| | |
| | | }, |
| | | "watch-size": { |
| | | "version": "2.0.0", |
| | | "resolved": "https://registry.npm.taobao.org/watch-size/download/watch-size-2.0.0.tgz", |
| | | "integrity": "sha1-CW7ijQNlvX6gPZyL8fL1CnO+FHQ=" |
| | | "resolved": "https://registry.npmmirror.com/watch-size/-/watch-size-2.0.0.tgz", |
| | | "integrity": "sha512-M92R89dNoTPWyCD+HuUEDdhaDnh9jxPGOwlDc0u51jAgmjUvzqaEMynXSr3BaWs+QdHYk4KzibPy1TFtjLmOZQ==" |
| | | }, |
| | | "watchpack": { |
| | | "version": "1.7.5", |
| | |
| | | <el-form-item label="组织名称" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入组织名称" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="组织类型" prop="type"> |
| | | <el-radio-group v-model="form.type" :disabled="form.parentType == 0"> |
| | | <el-form-item label="组织类型" prop="type" v-if="(editType === 'edit' && parentId) || (editType === 'add')"> |
| | | <el-radio-group v-model="form.type" :disabled="(editType === 'edit') || (!!(editType === 'add' && parentId))"> |
| | | <el-radio :label="0">相关方组织</el-radio> |
| | | <el-radio :label="1">内部组织</el-radio> |
| | | </el-radio-group> |
| | |
| | | // 表单数据 |
| | | form: { |
| | | id: null, |
| | | type: '0', |
| | | type: 0, |
| | | name: '', |
| | | parentId: null, |
| | | disable: false, |
| | | parentName: '' |
| | | }, |
| | | editType: '', |
| | | parentId: null, |
| | | // 验证规则 |
| | | rules: { |
| | | name: [ |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | open(title,target,row){ |
| | | this.title =title |
| | | this.visible =true |
| | | console.log(target) |
| | | this.form= { |
| | | open(title, target, row, editType){ |
| | | this.title = title |
| | | this.editType = editType |
| | | if (editType === 'edit') { |
| | | this.parentId = row.parentId |
| | | } else if (editType === 'add') { |
| | | this.parentId = target.parentId |
| | | } |
| | | this.visible = true |
| | | this.form = { |
| | | id: null, |
| | | type: 0, |
| | | name: '', |
| | |
| | | this.form.parentId = target.id |
| | | this.form.parentType = target.type |
| | | this.form.parentName = target.companyNamePath |
| | | |
| | | } |
| | | // 新建组织 |
| | | if (row == null) { |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | this.form[this.configData['field.id']] = null |
| | | this.form.type = target.type |
| | | }) |
| | | return |
| | | } |
| | |
| | | <el-form-item label="所属组织" prop="companyId"> |
| | | <!-- <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false" |
| | | clearable filterable :props="departprops"></el-cascader>--> |
| | | <el-select v-model="form.companyId" clearable filterable placeholder="请选择"> |
| | | <template v-for="item in companyList"> |
| | | <!-- v-if="item.countNum && item.countNum>0"--> |
| | | <el-option :key="item.id" :label="item.companyNamePath" :value="item.id"> |
| | | </el-option> |
| | | </template> |
| | | </el-select> |
| | | <!-- <el-select v-model="form.companyId" clearable filterable placeholder="请选择">--> |
| | | <!-- <template v-for="item in companyList">--> |
| | | <!-- <el-option :key="item.id" :label="item.companyNamePath" :value="item.id">--> |
| | | <!-- </el-option>--> |
| | | <!-- </template>--> |
| | | <!-- </el-select>--> |
| | | <treeselect |
| | | v-model="form.companyId" |
| | | placeholder="请选择" |
| | | :options="treeData" |
| | | :normalizer="normalizeOptions" |
| | | :default-expand-level="1" |
| | | noChildrenText="没有子选项" |
| | | noOptionsText="没有可选项" |
| | | noResultsText="没有匹配的结果" /> |
| | | <div style="font-size: 12px;color: #F56C6C"> |
| | | 注:仅支持选择 【{{ companyType === 0 ? '相关方组织' : '内部组织' }}】 |
| | | </div> |
| | |
| | | positionId: null, |
| | | faceImgFull: '' |
| | | }, |
| | | treeData: [], |
| | | // 验证规则 |
| | | rules: { |
| | | name: [{ required: true, message: '请输入员工姓名', trigger: 'blur' }], |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | // 规范化选项数据的方法 |
| | | normalizeOptions(node) { |
| | | // node: 原始的选项数据 |
| | | // 在这里根据需要进行选项数据的规范化操作,并返回规范化后的选项数据 |
| | | // 例如,可以将原始的选项数据转换为符合插件要求的结构 |
| | | if (node.childList && !node.childList.length) { |
| | | // 去掉children=[]的children属性 |
| | | delete node.childList; |
| | | } |
| | | return { |
| | | id: node.id, |
| | | label: node.name, |
| | | children: node.childList, |
| | | }; |
| | | }, |
| | | getCompany() { |
| | | companyGetList({ |
| | | model: {type:this.companyType } , |
| | |
| | | import { mapState, mapMutations } from 'vuex' |
| | | import { fetchMenuTree } from './api/system/menu' |
| | | import preventReClick from '@/directives/directive' |
| | | import Treeselect from '@riophae/vue-treeselect' |
| | | import '@riophae/vue-treeselect/dist/vue-treeselect.css' |
| | | Vue.component('treeselect', Treeselect) |
| | | |
| | | Vue.use(preventReClick) |
| | | Vue.config.productionTip = false |
| | | Vue.use(ElementUI, { |
| | |
| | | <!-- 表格和分页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']"> |
| | | <li><el-button type="primary" v-permissions="['business:company:create']" |
| | | @click="$refs.OperaInternalCompanyWindow.open('新建企业', null, null)">新建</el-button></li> |
| | | <!-- <li><el-button type="primary" v-permissions="['business:company:create']"--> |
| | | <!-- @click="$refs.OperaInternalCompanyWindow.open('新建企业', null, null)">新建</el-button></li>--> |
| | | <li><el-button @click="sort('top')" :loading="sorting" icon="el-icon-sort-up" |
| | | v-permissions="['business:company:sort']">上移</el-button></li> |
| | | <li><el-button @click="sort('bottom')" :loading="sorting" icon="el-icon-sort-down" |
| | |
| | | <el-table-column label="操作" width="230" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" |
| | | @click="$refs.OperaInternalCompanyWindow.open('编辑企业信息', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row)" |
| | | @click="$refs.OperaInternalCompanyWindow.open('编辑企业信息', { id: row.parentId, name: row.parentName, type: row.parentType, companyPath: row.parentCompanyPath }, row, 'edit')" |
| | | icon="el-icon-edit" v-permissions="['business:company:update']">编辑</el-button> |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('新建子级', row, null)" |
| | | <el-button type="text" @click="$refs.OperaInternalCompanyWindow.open('新建子级', row, null, 'add')" |
| | | icon="el-icon-plus">新建子级</el-button> |
| | | <el-button type="text" @click="deleteById(row)" style="color: red" icon="el-icon-delete" |
| | | v-permissions="['business:company:delete']">删除</el-button> |
| | | v-permissions="['business:company:delete']" v-if="row.type !== -1">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus"> |
| | | <el-select v-model="searchForm.authStatus" @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="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" clearable @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" |
| | | @click="synchronous()">同步</el-button></li> |
| | | <li><el-button type="primary" |
| | | @click="$refs.OperaMemberWindow.open('新建员工', null, department, searchForm.companyType)" icon="el-icon-plus" |
| | | @click="add" icon="el-icon-plus" |
| | | v-permissions="['business:member:create']">新建员工</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入', searchForm.companyType)" |
| | | icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li> |
| | |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="操作" min-width="280"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息', row, department,searchForm.companyType)" |
| | | <el-button type="text" icon="el-icon-edit" @click="edit(row)" |
| | | v-permissions="['business:empower:update']">编辑</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" |
| | | v-permissions="['business:empower:create']">重新授权</el-button> |
| | |
| | | workStatus: '', |
| | | positionId: '', |
| | | companyId: '', |
| | | hasFace: '' |
| | | hasFace: '', |
| | | authStatus: '' |
| | | }, |
| | | loading: false, |
| | | heading: false, |
| | |
| | | // }) |
| | | }, |
| | | methods: { |
| | | edit(row) { |
| | | this.$refs.OperaMemberWindow.treeData = this.companyTree |
| | | this.$refs.OperaMemberWindow.open('编辑员工信息', row, this.department, this.searchForm.companyType) |
| | | }, |
| | | add() { |
| | | this.$refs.OperaMemberWindow.treeData = this.companyTree |
| | | this.$refs.OperaMemberWindow.open('新建员工', null, this.department, this.searchForm.companyType) |
| | | }, |
| | | startEmpowerBatch() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请至少选择一条数据') |
| | |
| | | }, |
| | | // 获取组织树 |
| | | getfindCompanyTreePage() { |
| | | fetchList() |
| | | fetchList(1) |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | |
| | | <el-option label="有" value="1"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="" prop="authStatus"> |
| | | <el-select v-model="searchForm.authStatus" @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="canVisit"> |
| | | <el-select v-model="searchForm.canVisit" @keypress.enter.native="search" placeholder="可拜访"> |
| | | <el-option label="是" value="1"></el-option> |
| | |
| | | <li><el-button type="primary" v-permissions="['business:member:sync']" :loading="loading" @click="synchronous()">同步</el-button></li> |
| | | --> |
| | | <li><el-button type="primary" |
| | | @click="$refs.OperaMemberWindow.open('新建员工', null, department, searchForm.companyType)" icon="el-icon-plus" |
| | | @click="add" icon="el-icon-plus" |
| | | v-permissions="['business:member:create']">新建员工</el-button></li> |
| | | <li><el-button type="primary" @click="$refs.OperaMemberImportWindow.open('人员导入', searchForm.companyType)" |
| | | icon="el-icon-plus" v-permissions="['business:member:create']">人员导入</el-button></li> |
| | |
| | | v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])" |
| | | label="操作" min-width="280"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMemberWindow.open('编辑员工信息', row, department,searchForm.companyType)" |
| | | <el-button type="text" icon="el-icon-edit" @click="edit(row)" |
| | | v-permissions="['business:empower:update']">编辑</el-button> |
| | | <el-button type="text" icon="el-icon-plus" @click="empower(row.id)" |
| | | v-permissions="['business:empower:create']">重新授权</el-button> |
| | |
| | | })*/ |
| | | }, |
| | | methods: { |
| | | edit(row) { |
| | | this.$refs.OperaMemberWindow.treeData = this.companyTree |
| | | this.$refs.OperaMemberWindow.open('编辑员工信息', row, this.department, this.searchForm.companyType) |
| | | }, |
| | | add() { |
| | | this.$refs.OperaMemberWindow.treeData = this.companyTree |
| | | this.$refs.OperaMemberWindow.open('新建员工', null, this.department, this.searchForm.companyType) |
| | | }, |
| | | startEmpowerBatch() { |
| | | if (this.tableData.selectedRows.length === 0) { |
| | | this.$tip.warning('请至少选择一条数据') |
| | |
| | | }, |
| | | // 获取组织树 |
| | | getfindCompanyTreePage() { |
| | | fetchList() |
| | | fetchList(0) |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | |
| | | <el-table-column prop="companyName" label="访客单位" min-width="100px"></el-table-column> |
| | | <el-table-column prop="receptMemberName" label="被访人" min-width="100px"></el-table-column> |
| | | <el-table-column prop="reason" label="拜访事由" min-width="100px"></el-table-column> |
| | | <el-table-column label="预约时间" min-width="170px"> |
| | | <el-table-column label="拜访时间" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <span>起:{{ row.starttime }}</span><br /> |
| | | <span>止:{{ row.endtime }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="签到时间" min-width="170px"> |
| | | <template slot-scope="{row}"> |
| | | <div v-if="row.inDate && row.outDate"> |
| | | <span>起:{{ row.inDate }}</span><br /> |
| | | <span>止:{{ row.outDate }}</span> |
| | | </div> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="施工人员" min-width="100px"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="下发备注" min-width="100px"></el-table-column> |
| | | <el-table-column prop="createDate" label="创建时间" min-width="170px"></el-table-column> |
| | | <el-table-column label="操作" |
| | | min-width="200" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | |
| | | @ApiModelProperty(value = "有效期类型 0长期有效 1自定义",hidden = true ) |
| | | @TableField(exist = false) |
| | | private Integer timeType; |
| | | //暂无使用 |
| | | @ApiModelProperty(value = "姓名/手机号/工号") |
| | | @TableField(exist = false) |
| | | private String keyword; |
| | |
| | | @ApiModelProperty(value = "是否主管 0否 1是", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer headStatus; |
| | | |
| | | |
| | | @ApiModelProperty(value = "门禁角色名称") |
| | | @TableField(exist = false) |
| | | private String roleName; |
| | | @ApiModelProperty(value = "最后操作内容") |
| | | @TableField(exist = false) |
| | | private String optRemark; |
| | | |
| | | @ApiModelProperty(value = "system openid" , hidden = true) |
| | | @TableField(exist = false) |
| | | private String systemOpenid; |
| | | |
| | | @ApiModelProperty(value = "培训开始时间") |
| | | @TableField(exist = false) |
| | | private Date trainStartTime; |
| | |
| | | throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,组织同步下发失败,请稍后重试"); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | trainTimeMapper.insert(trainTime);*/ |
| | | return insert.getId(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = {BusinessException.class,Exception.class}) |
| | | public void deleteById(Integer id,LoginUserInfo loginUserInfo) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public void roleAuthById(Integer id,LoginUserInfo user) { |
| | | Member member = memberMapper.selectById(id); |
| | |
| | | memberRole.setStartTime(trainTime.getStartTime()); |
| | | memberRole.setEndTime(trainTime.getEndTime()); |
| | | } |
| | | |
| | | memberMapper.update(null,new UpdateWrapper<Member>().lambda() |
| | | .eq(Member::getId,member.getId()) |
| | | .set(Member::getRoleId,member.getRoleId()) |
| | |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.net.ftp.FTP; |
| | | import org.checkerframework.checker.units.qual.C; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |