Merge remote-tracking branch 'origin/master'
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getDataList = (page, size, params) => { |
| | | export const getDataList = (page, limit, params) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/dockingManagement/gridDockingData', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | page, |
| | | size |
| | | limit |
| | | } |
| | | }) |
| | | } |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getTaskList = (page, size, params) => { |
| | | export const getTaskList = (page, limit, params) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/dockingManagement/gridDockingTask', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | page, |
| | | size |
| | | limit |
| | | } |
| | | }) |
| | | } |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | // éæç³»ç»ä¿¡æ¯ç®¡çå表 |
| | | export const getSysInfoList = (params) => { |
| | | export const getSysInfoList = (size,current,params) => { |
| | | return request({ |
| | | url: '/api/ubcs-code/dockingManagement/gridDockingSystem', |
| | | method: 'get', |
| | | params: params |
| | | params: { |
| | | size, |
| | | current, |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | // éæç³»ç»ä¿¡æ¯ç®¡çæ°å¢ |
| | |
| | | </h4> |
| | | <userLogin v-if="activeName==='user'"></userLogin> |
| | | <thirdLogin v-else-if="activeName==='third'"></thirdLogin> |
| | | <div class="login-menu"> |
| | | <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a> |
| | | <!--<a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>--> |
| | | <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a> |
| | | <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a> |
| | | </div> |
| | | <!-- <div class="login-menu">--> |
| | | <!-- <a href="#" @click.stop="activeName='user'">{{ $t('login.userLogin') }}</a>--> |
| | | <!-- <a href="#" @click.stop="activeName='code'">{{ $t('login.phoneLogin') }}</a>--> |
| | | <!-- <a href="#" @click.stop="activeName='third'">{{ $t('login.thirdLogin') }}</a>--> |
| | | <!-- <a :href="website.ssoUrl + website.redirectUri">{{ $t('login.ssoLogin') }}</a>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | |
| | | </div> |
| | |
| | | status-icon |
| | | > |
| | | <el-form-item prop="selectInput"> |
| | | <el-select v-model="loginForm.tenantId" placeholder="è¯·éæ©ç§æ·" style="width: 100%" @change="selectchange"> |
| | | <el-select v-model="loginForm.tenantId" placeholder="è¯·éæ©ç§æ·" style="width: 100%" @change="selectChange"> |
| | | <i slot="prefix" class="el-icon-s-operation"/> |
| | | <el-option |
| | | v-for="(item,index) in loginForm.region" |
| | |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button @click="ChandleLogin">æµè¯åç¹ç»å½</el-button> |
| | | <el-button class="login-submit" |
| | | size="small" |
| | | type="primary" |
| | |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="delok">å æ¶</el-button> |
| | | <el-button type="primary" @click="addok">ç¡® å®</el-button> |
| | | <el-button type="primary" @click="addHandler">ç¡® å®</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | }, |
| | | props: [], |
| | | methods: { |
| | | ChandleLogin(){ |
| | | |
| | | }, |
| | | closehandle(){ |
| | | removeToken() |
| | | }, |
| | |
| | | removeToken() |
| | | }, |
| | | // ç¹å»ç¡®å®ä¿®æ¹å¯ç |
| | | addok(){ |
| | | addHandler(){ |
| | | this.dialogFormVisible = false |
| | | updatePassword(md5(this.form.oldPassword), this.form.newPassword, this.form.newPassword1).then(res=>{ |
| | | console.log(res) |
| | |
| | | }) |
| | | }, |
| | | // ç»å®ä¸æèå卿ID |
| | | selectchange(value) { |
| | | selectChange(value) { |
| | | this.loginForm.tenantId = value |
| | | }, |
| | | showPassword() { |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud ref="crud" :table-loading="loading" :data="data" :option="option" :page.sync="page" :search.sync="search" |
| | | @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit" |
| | | @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage" |
| | | @selection-change="selectionChange" @row-click="handleRowClick"> |
| | | <template slot="menuLeft"> |
| | | <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">æ¥ è¯¢ |
| | | </el-button> --> |
| | | <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">å é¤ |
| | | </el-button> |
| | | </template> |
| | | <template slot="search" slot-scope="{row,size}"> |
| | | <el-select v-model="selectValue" size="small" @change="handleSelect"> |
| | | <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input :placeholder="`请è¾å
¥${selectValue === 'id' ? 'ç³»ç»ç¼å·' : 'ç³»ç»åç§°'}å¹¶æå车æ¥è¯¢`" :size="size" |
| | | style="width:300px;margin-left: 10px;" v-model="search[selectValue]" clearable |
| | | @keyup.enter.native="handleEnter" @clear="handleClear"></el-input> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | | <basic-container> |
| | | <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :search.sync="search" :table-loading="loading" |
| | | @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit" |
| | | @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage" |
| | | @selection-change="selectionChange" @row-click="handleRowClick"> |
| | | <template slot="menuLeft"> |
| | | <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">æ¥ è¯¢ |
| | | </el-button> --> |
| | | <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">å é¤ |
| | | </el-button> |
| | | </template> |
| | | <template slot="search" slot-scope="{row,size}"> |
| | | <el-select v-model="selectValue" size="small" @change="handleSelect"> |
| | | <el-option v-for="item in selectOption" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <el-input v-model="search[selectValue]" :placeholder="`请è¾å
¥${selectValue === 'id' ? 'ç³»ç»ç¼å·' : 'ç³»ç»åç§°'}å¹¶æå车æ¥è¯¢`" |
| | | :size="size" clearable style="width:300px;margin-left: 10px;" |
| | | @clear="handleClear" @keyup.enter.native="handleEnter"></el-input> |
| | | </template> |
| | | <template #menu="{row,index,size}"> |
| | | <el-button type="text" icon="el-icon-menu" size="small" @click="classifyHandler">åç±»ææ</el-button> |
| | | |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog :visible.sync="dialogVisible" append-to-body title="åç±»ææ"> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import { getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel } from '@/api/integration/sysInfo.js' |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | total: 0 |
| | | }, |
| | | selectOption: [{ |
| | | value: 'id', |
| | | label: 'ç³»ç»ç¼å·' |
| | | }, { |
| | | value: 'name', |
| | | label: 'ç³»ç»åç§°' |
| | | }], |
| | | selectValue: 'id', |
| | | search: {}, |
| | | delIds: [], |
| | | data: [], |
| | | option: { |
| | | height: "auto", |
| | | tip:false, |
| | | border: true, |
| | | align: 'center', |
| | | menuAlign: 'center', |
| | | index: true, |
| | | searchMenuSpan: 8, |
| | | searchBtn: false, |
| | | emptyBtn: false, |
| | | columnBtn: false, |
| | | defaultSort: { |
| | | prop: 'id,name', |
| | | order: 'descending' |
| | | }, |
| | | selection: true, |
| | | column: [ |
| | | { |
| | | label: 'ç³»ç»ç¼å·', |
| | | prop: 'id', |
| | | sortable: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: 'ç³»ç»ç¼å·ä¸è½ä¸ºç©º', |
| | | trigger: 'blur' |
| | | }], |
| | | // maxlength: 30, //åæ°éå¶ |
| | | }, { |
| | | label: 'ç³»ç»åç§°', |
| | | prop: 'name', |
| | | sortable: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: 'ç³»ç»åç§°ä¸è½ä¸ºç©º', |
| | | trigger: 'blur' |
| | | }], |
| | | // maxlength: 30, //åæ°éå¶ |
| | | }, |
| | | { |
| | | label: 'ç³»ç»æè¿°', |
| | | prop: 'description', |
| | | type: 'textarea' |
| | | } |
| | | ] |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | // è·åå表 |
| | | async getDataList() { |
| | | this.loading = true |
| | | console.log(this.search) |
| | | const { pageSize, currentPage } = this.page |
| | | let param = { size: pageSize, current: currentPage } |
| | | this.search = Object.keys(this.search) |
| | | .filter((key) => this.search[key] !== null && this.search[key] !== undefined && this.search[key] !== "") |
| | | .reduce((acc, key) => ({ ...acc, [key]: this.search[key] }), {}); |
| | | const response = await getSysInfoList({ ...param, ...this.search }) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.loading = false |
| | | const data = response.data.data |
| | | this.data = data.records |
| | | this.page.total = data.total |
| | | } else this.loading = false |
| | | }, |
| | | // æ°å¢ |
| | | async handleSave(row, done, loading) { |
| | | try { |
| | | const response = await sysInfoAdd(row) |
| | | if (response.status === 200) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ°å¢æ°æ®æåï¼' |
| | | }) |
| | | done(row) |
| | | // this.$refs.crud.refreshTable() |
| | | // this.getDataList() |
| | | } |
| | | } catch { |
| | | loading() |
| | | } |
| | | }, |
| | | // ç¼è¾ |
| | | async handleEdit(row, index, done, loading) { |
| | | try { |
| | | const { oid, id, name, description } = row |
| | | const response = await sysInfoEdit({ oid, id, name, description }) |
| | | if (response.status === 200) { |
| | | loading() |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'ä¿®æ¹æ°æ®æåï¼' |
| | | }) |
| | | done(row) |
| | | } |
| | | } catch { |
| | | loading() |
| | | } |
| | | }, |
| | | // å é¤åæ¡ |
| | | handleDelete(row) { |
| | | const { oid } = row |
| | | this.deleteSysInfo({ oids: oid }) |
| | | }, |
| | | // 夿¡æ°æ®å é¤ |
| | | handleDeleteByIds() { |
| | | const { oids } = this.delIds |
| | | if (this.$utilFunc.isEmpty(oids)) { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "请è³å°éæ©ä¸æ¡æ°æ®!" |
| | | }) |
| | | } else { |
| | | this.deleteSysInfo(this.delIds) |
| | | } |
| | | }, |
| | | // å 餿¥å£ |
| | | deleteSysInfo(param) { |
| | | this.$confirm('æ¯å¦ç¡®å®å é¤éæ©çéæç³»ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(async () => { |
| | | const response = await sysInfoDel(param) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å!' |
| | | }); |
| | | this.getDataList() |
| | | } |
| | | }) |
| | | }, |
| | | // éæ©æ¡å
容鿩å |
| | | handleSelect(event) { |
| | | this.selectValue = event |
| | | if (this.selectValue === 'id') { |
| | | this.search['name'] = '' |
| | | delete this.search['name'] |
| | | } else { |
| | | this.search['id'] = '' |
| | | delete this.search['id'] |
| | | } |
| | | }, |
| | | // enteræç´¢ |
| | | handleEnter() { |
| | | if (this.search[this.selectValue] === '') return |
| | | else this.getDataList() |
| | | import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel} from '@/api/integration/sysInfo.js' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | loading: false, |
| | | dialogVisible:false, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | total: 0 |
| | | }, |
| | | selectOption: [{ |
| | | value: 'id', |
| | | label: 'ç³»ç»ç¼å·' |
| | | }, { |
| | | value: 'name', |
| | | label: 'ç³»ç»åç§°' |
| | | }], |
| | | selectValue: 'id', |
| | | search: {}, |
| | | delIds: [], |
| | | data: [], |
| | | option: { |
| | | height: "auto", |
| | | tip: false, |
| | | border: true, |
| | | align: 'center', |
| | | menuAlign: 'center', |
| | | index: true, |
| | | searchMenuSpan: 8, |
| | | searchBtn: false, |
| | | emptyBtn: false, |
| | | columnBtn: false, |
| | | defaultSort: { |
| | | prop: 'id,name', |
| | | order: 'descending' |
| | | }, |
| | | // è¾å
¥æ¡æ¸
空 |
| | | handleClear() { |
| | | this.search = {} |
| | | this.getDataList() |
| | | }, |
| | | // å·æ°æé® |
| | | handleRefresh() { |
| | | this.getDataList() |
| | | }, |
| | | handleSizePage(event) { |
| | | this.page.pageSize = event |
| | | }, |
| | | handleCurrentPage(event) { |
| | | this.page.currentPage = event |
| | | }, |
| | | // ç¹å»éæ© |
| | | handleRowClick(row) { |
| | | this.$refs.crud.toggleRowSelection(row, true) |
| | | }, |
| | | // å¤é |
| | | selectionChange(list) { |
| | | console.log(list) |
| | | let newData = list.map(item => { |
| | | const { oid } = item |
| | | return oid |
| | | }) |
| | | this.delIds = { oids: newData.toString() } |
| | | console.log(this.delIds) |
| | | }, |
| | | selection: true, |
| | | column: [ |
| | | { |
| | | label: 'ç³»ç»ç¼å·', |
| | | prop: 'id', |
| | | sortable: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: 'ç³»ç»ç¼å·ä¸è½ä¸ºç©º', |
| | | trigger: 'blur' |
| | | }], |
| | | // maxlength: 30, //åæ°éå¶ |
| | | }, { |
| | | label: 'ç³»ç»åç§°', |
| | | prop: 'name', |
| | | sortable: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: 'ç³»ç»åç§°ä¸è½ä¸ºç©º', |
| | | trigger: 'blur' |
| | | }], |
| | | // maxlength: 30, //åæ°éå¶ |
| | | }, |
| | | { |
| | | label: 'ç³»ç»æè¿°', |
| | | prop: 'description', |
| | | type: 'textarea' |
| | | } |
| | | ] |
| | | }, |
| | | } |
| | | }, |
| | | methods: { |
| | | //åç±»ææ |
| | | classifyHandler(){ |
| | | this.dialogVisible=true; |
| | | }, |
| | | async getDataList() { |
| | | this.loading = true; |
| | | console.log(this.search); |
| | | const { pageSize, currentPage } = this.page; |
| | | const conditions = {}; |
| | | if (Object.keys(this.search).length > 0) { |
| | | for (const key in this.search) { |
| | | if (this.search[key]) { |
| | | conditions[`conditionMap[${key}_like]`] = this.search[key]; |
| | | } |
| | | } |
| | | } |
| | | const response = await getSysInfoList(pageSize, currentPage, conditions); |
| | | if (response.status === 200) { |
| | | console.log(response); |
| | | this.loading = false; |
| | | const data = response.data.data; |
| | | this.data = data.records; |
| | | this.page.total = data.total; |
| | | } else { |
| | | this.loading = false; |
| | | } |
| | | }, |
| | | // æ°å¢ |
| | | async handleSave(row, done, loading) { |
| | | try { |
| | | const response = await sysInfoAdd(row) |
| | | if (response.status === 200) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'æ°å¢æ°æ®æåï¼' |
| | | }) |
| | | done(row) |
| | | // this.$refs.crud.refreshTable() |
| | | // this.getDataList() |
| | | } |
| | | } catch { |
| | | loading() |
| | | } |
| | | }, |
| | | // ç¼è¾ |
| | | async handleEdit(row, index, done, loading) { |
| | | try { |
| | | const {oid, id, name, description} = row |
| | | const response = await sysInfoEdit({oid, id, name, description}) |
| | | if (response.status === 200) { |
| | | loading() |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'ä¿®æ¹æ°æ®æåï¼' |
| | | }) |
| | | done(row) |
| | | } |
| | | } catch { |
| | | loading() |
| | | } |
| | | }, |
| | | // å é¤åæ¡ |
| | | handleDelete(row) { |
| | | const {oid} = row |
| | | this.deleteSysInfo({oids: oid}) |
| | | }, |
| | | // 夿¡æ°æ®å é¤ |
| | | handleDeleteByIds() { |
| | | const {oids} = this.delIds |
| | | if (this.$utilFunc.isEmpty(oids)) { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "请è³å°éæ©ä¸æ¡æ°æ®!" |
| | | }) |
| | | } else { |
| | | this.deleteSysInfo(this.delIds) |
| | | } |
| | | }, |
| | | // å 餿¥å£ |
| | | deleteSysInfo(param) { |
| | | this.$confirm('æ¯å¦ç¡®å®å é¤éæ©çéæç³»ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(async () => { |
| | | const response = await sysInfoDel(param) |
| | | if (response.status === 200) { |
| | | console.log(response) |
| | | this.$message({ |
| | | type: 'success', |
| | | message: 'å 餿å!' |
| | | }); |
| | | this.getDataList() |
| | | } |
| | | }) |
| | | }, |
| | | // éæ©æ¡å
容鿩å |
| | | handleSelect(event) { |
| | | this.selectValue = event |
| | | if (this.selectValue === 'id') { |
| | | this.search['name'] = '' |
| | | delete this.search['name'] |
| | | } else { |
| | | this.search['id'] = '' |
| | | delete this.search['id'] |
| | | } |
| | | }, |
| | | // enteræç´¢ |
| | | handleEnter() { |
| | | if (this.search[this.selectValue] === '') return |
| | | else this.getDataList() |
| | | |
| | | }, |
| | | // è¾å
¥æ¡æ¸
空 |
| | | handleClear() { |
| | | this.search = {} |
| | | this.getDataList() |
| | | }, |
| | | // å·æ°æé® |
| | | handleRefresh() { |
| | | this.getDataList() |
| | | }, |
| | | handleSizePage(event) { |
| | | this.page.pageSize = event |
| | | }, |
| | | handleCurrentPage(event) { |
| | | this.page.currentPage = event |
| | | }, |
| | | // ç¹å»éæ© |
| | | handleRowClick(row) { |
| | | this.$refs.crud.toggleRowSelection(row, true) |
| | | }, |
| | | // å¤é |
| | | selectionChange(list) { |
| | | console.log(list) |
| | | let newData = list.map(item => { |
| | | const {oid} = item |
| | | return oid |
| | | }) |
| | | this.delIds = {oids: newData.toString()} |
| | | console.log(this.delIds) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | ::v-deep(.avue-crud .el-select) { |
| | | width: 100px !important; |
| | | width: 100px !important; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.vci.ubcs.starter.constant.CodeTableNameConstant; |
| | | import com.vci.ubcs.starter.revision.model.BaseModel; |
| | | import io.swagger.annotations.ApiModel; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | /** |
| | | * éæç³»ç»åç±»ææ |
| | | * |
| | | * @author xiejun |
| | | * @since 2023-04-03 |
| | | */ |
| | | @Data |
| | | @TableName(CodeTableNameConstant.PL_CODE_SYSTEM_CLASSIFY_ROLE) |
| | | @ApiModel(value = "SystemClassifyRole对象", description = "éæç³»ç»åç±»ææ") |
| | | @EqualsAndHashCode(callSuper = true) |
| | | public class SystemClassifyRole extends BaseModel { |
| | | /*** |
| | | * éæç³»ç»ä¸»é®oid |
| | | */ |
| | | private String systemOid; |
| | | /** |
| | | * éæç³»ç»æ è¯ |
| | | */ |
| | | private String systemId; |
| | | /*** |
| | | * åç±»oid |
| | | */ |
| | | private String classifyOid; |
| | | /*** |
| | | * éæç³»ç»åç±»ä»£å· |
| | | */ |
| | | private String classifyId; |
| | | /** |
| | | * æ¯å¦ææé |
| | | */ |
| | | private boolean selected; |
| | | /** |
| | | * åç±»ç¶èç¹oid |
| | | */ |
| | | private String classParentOid; |
| | | |
| | | } |
| | |
| | | public static final String PL_CODE_DOCKINGTASK = "PL_CODE_DOCKINGTASK"; |
| | | |
| | | |
| | | |
| | | /** |
| | | * éæç³»ç»ææåç±»æé表 |
| | | */ |
| | | public static final String PL_CODE_SYSTEM_CLASSIFY_ROLE = "PL_CODE_SYSTEM_CLASSIFY_ROLE"; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.ubcs.code.controller; |
| | | |
| | | |
| | | import com.vci.ubcs.code.service.ICodeClassifyService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * 主é¢åºå®ä¹è¡¨ æ§å¶å¨ |
| | | * |
| | | * @author xiejun |
| | | * @since 2023-07-24 |
| | | */ |
| | | @RestController |
| | | @AllArgsConstructor |
| | | @RequestMapping("/codeApplyWebManagementController") |
| | | public class CodeApplyWebManagementController { |
| | | /*** |
| | | * åç±»æå¡å¯¹è±¡ |
| | | */ |
| | | private final ICodeClassifyService codeClassifyService; |
| | | |
| | | /*** |
| | | * æ ¹æ®åç«¯éæ©çåç±»æéææææ |
| | | * @return |
| | | */ |
| | | private R saveClassifyRoleBySystemId(){ |
| | | |
| | | |
| | | |
| | | return R.success("æå"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /*** |
| | | * æ ¹æ®ç³»ç»éææ è¯æ¥è¯¢å
·å¤æéçåç±»æ°æ® |
| | | * @return |
| | | */ |
| | | public R selectCodeClassifyVOByParentId(String systemId){ |
| | | |
| | | return R.success("æ¥è¯¢æå"); |
| | | } |
| | | |
| | | |
| | | } |