小组前台功能

master
ffr 2024-04-23 22:42:19 +08:00
parent b5131258d8
commit 9f0a9e147f
50 changed files with 650 additions and 7 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"remainingRequest":"D:\\workspace\\ruoyi-vue-web\\node_modules\\babel-loader\\lib\\index.js!D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\workspace\\ruoyi-vue-web\\src\\api\\system\\group.js","dependencies":[{"path":"D:\\workspace\\ruoyi-vue-web\\src\\api\\system\\group.js","mtime":1713876504409},{"path":"D:\\workspace\\ruoyi-vue-web\\babel.config.js","mtime":1713777651809},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi93b3Jrc3BhY2UvcnVveWktdnVlLXdlYi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuYWRkR3JvdXAgPSBhZGRHcm91cDsKZXhwb3J0cy5kZWxHcm91cCA9IGRlbEdyb3VwOwpleHBvcnRzLmdldEdyb3VwID0gZ2V0R3JvdXA7CmV4cG9ydHMubGlzdEdyb3VwID0gbGlzdEdyb3VwOwpleHBvcnRzLnVwZGF0ZUdyb3VwID0gdXBkYXRlR3JvdXA7CnZhciBfcmVxdWVzdCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC91dGlscy9yZXF1ZXN0IikpOwovLyDmn6Xor6Lnj63nuqflsI/nu4TnrqHnkIbliJfooagKZnVuY3Rpb24gbGlzdEdyb3VwKHF1ZXJ5KSB7CiAgcmV0dXJuICgwLCBfcmVxdWVzdC5kZWZhdWx0KSh7CiAgICB1cmw6ICcvc3lzdGVtL2dyb3VwL2xpc3QnLAogICAgbWV0aG9kOiAnZ2V0JywKICAgIHBhcmFtczogcXVlcnkKICB9KTsKfQoKLy8g5p+l6K+i54+t57qn5bCP57uE566h55CG6K+m57uGCmZ1bmN0aW9uIGdldEdyb3VwKGdyb3VwSWQpIHsKICByZXR1cm4gKDAsIF9yZXF1ZXN0LmRlZmF1bHQpKHsKICAgIHVybDogJy9zeXN0ZW0vZ3JvdXAvJyArIGdyb3VwSWQsCiAgICBtZXRob2Q6ICdnZXQnCiAgfSk7Cn0KCi8vIOaWsOWinuePree6p+Wwj+e7hOeuoeeQhgpmdW5jdGlvbiBhZGRHcm91cChkYXRhKSB7CiAgcmV0dXJuICgwLCBfcmVxdWVzdC5kZWZhdWx0KSh7CiAgICB1cmw6ICcvc3lzdGVtL2dyb3VwJywKICAgIG1ldGhvZDogJ3Bvc3QnLAogICAgZGF0YTogZGF0YQogIH0pOwp9CgovLyDkv67mlLnnj63nuqflsI/nu4TnrqHnkIYKZnVuY3Rpb24gdXBkYXRlR3JvdXAoZGF0YSkgewogIHJldHVybiAoMCwgX3JlcXVlc3QuZGVmYXVsdCkoewogICAgdXJsOiAnL3N5c3RlbS9ncm91cC8nICsgZGF0YS5ncm91cElkLAogICAgbWV0aG9kOiAncHV0JywKICAgIGRhdGE6IGRhdGEKICB9KTsKfQoKLy8g5Yig6Zmk54+t57qn5bCP57uE566h55CGCmZ1bmN0aW9uIGRlbEdyb3VwKGdyb3VwSWQpIHsKICByZXR1cm4gKDAsIF9yZXF1ZXN0LmRlZmF1bHQpKHsKICAgIHVybDogJy9zeXN0ZW0vZ3JvdXAvJyArIGdyb3VwSWQsCiAgICBtZXRob2Q6ICdkZWxldGUnCiAgfSk7Cn0="},{"version":3,"names":["_request","_interopRequireDefault","require","listGroup","query","request","url","method","params","getGroup","groupId","addGroup","data","updateGroup","delGroup"],"sources":["D:/workspace/ruoyi-vue-web/src/api/system/group.js"],"sourcesContent":["import request from '@/utils/request'\r\n\r\n// 查询班级小组管理列表\r\nexport function listGroup(query) {\r\n return request({\r\n url: '/system/group/list',\r\n method: 'get',\r\n params: query\r\n })\r\n}\r\n\r\n// 查询班级小组管理详细\r\nexport function getGroup(groupId) {\r\n return request({\r\n url: '/system/group/' + groupId,\r\n method: 'get'\r\n })\r\n}\r\n\r\n// 新增班级小组管理\r\nexport function addGroup(data) {\r\n return request({\r\n url: '/system/group',\r\n method: 'post',\r\n data: data\r\n })\r\n}\r\n\r\n// 修改班级小组管理\r\nexport function updateGroup(data) {\r\n return request({\r\n url: '/system/group/'+data.groupId,\r\n method: 'put',\r\n data: data\r\n })\r\n}\r\n\r\n// 删除班级小组管理\r\nexport function delGroup(groupId) {\r\n return request({\r\n url: '/system/group/' + groupId,\r\n method: 'delete'\r\n })\r\n}\r\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC/B,OAAO,IAAAC,gBAAO,EAAC;IACbC,GAAG,EAAE,oBAAoB;IACzBC,MAAM,EAAE,KAAK;IACbC,MAAM,EAAEJ;EACV,CAAC,CAAC;AACJ;;AAEA;AACO,SAASK,QAAQA,CAACC,OAAO,EAAE;EAChC,OAAO,IAAAL,gBAAO,EAAC;IACbC,GAAG,EAAE,gBAAgB,GAAGI,OAAO;IAC/BH,MAAM,EAAE;EACV,CAAC,CAAC;AACJ;;AAEA;AACO,SAASI,QAAQA,CAACC,IAAI,EAAE;EAC7B,OAAO,IAAAP,gBAAO,EAAC;IACbC,GAAG,EAAE,eAAe;IACpBC,MAAM,EAAE,MAAM;IACdK,IAAI,EAAEA;EACR,CAAC,CAAC;AACJ;;AAEA;AACO,SAASC,WAAWA,CAACD,IAAI,EAAE;EAChC,OAAO,IAAAP,gBAAO,EAAC;IACbC,GAAG,EAAE,gBAAgB,GAACM,IAAI,CAACF,OAAO;IAClCH,MAAM,EAAE,KAAK;IACbK,IAAI,EAAEA;EACR,CAAC,CAAC;AACJ;;AAEA;AACO,SAASE,QAAQA,CAACJ,OAAO,EAAE;EAChC,OAAO,IAAAL,gBAAO,EAAC;IACbC,GAAG,EAAE,gBAAgB,GAAGI,OAAO;IAC/BH,MAAM,EAAE;EACV,CAAC,CAAC;AACJ","ignoreList":[]}]}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
{"remainingRequest":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\group\\index.vue","dependencies":[{"path":"D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\group\\index.vue","mtime":1713878270191},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xMjg2ZTgwOCIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyIKZXhwb3J0ICogZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICBudWxsLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCJEOlxcd29ya3NwYWNlXFxydW95aS12dWUtd2ViXFxub2RlX21vZHVsZXNcXHZ1ZS1ob3QtcmVsb2FkLWFwaVxcZGlzdFxcaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMTI4NmU4MDgnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCcxMjg2ZTgwOCcsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnMTI4NmU4MDgnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xMjg2ZTgwOCIsIGZ1bmN0aW9uICgpIHsKICAgICAgYXBpLnJlcmVuZGVyKCcxMjg2ZTgwOCcsIHsKICAgICAgICByZW5kZXI6IHJlbmRlciwKICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucwogICAgICB9KQogICAgfSkKICB9Cn0KY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gInNyYy92aWV3cy9zeXN0ZW0vZ3JvdXAvaW5kZXgudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"remainingRequest":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\clazz\\index.vue","dependencies":[{"path":"D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\clazz\\index.vue","mtime":1713789126025},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zMDU5MDQ5NSIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyIKZXhwb3J0ICogZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICBudWxsLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCJEOlxcd29ya3NwYWNlXFxydW95aS12dWUtd2ViXFxub2RlX21vZHVsZXNcXHZ1ZS1ob3QtcmVsb2FkLWFwaVxcZGlzdFxcaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMzA1OTA0OTUnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCczMDU5MDQ5NScsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnMzA1OTA0OTUnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zMDU5MDQ5NSIsIGZ1bmN0aW9uICgpIHsKICAgICAgYXBpLnJlcmVuZGVyKCczMDU5MDQ5NScsIHsKICAgICAgICByZW5kZXI6IHJlbmRlciwKICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucwogICAgICB9KQogICAgfSkKICB9Cn0KY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gInNyYy92aWV3cy9zeXN0ZW0vY2xhenovaW5kZXgudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]} {"remainingRequest":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\clazz\\index.vue","dependencies":[{"path":"D:\\workspace\\ruoyi-vue-web\\src\\views\\system\\clazz\\index.vue","mtime":1713883143991},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\workspace\\ruoyi-vue-web\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zMDU5MDQ5NSIKaW1wb3J0IHNjcmlwdCBmcm9tICIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyIKZXhwb3J0ICogZnJvbSAiLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMiCgoKLyogbm9ybWFsaXplIGNvbXBvbmVudCAqLwppbXBvcnQgbm9ybWFsaXplciBmcm9tICIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qcyIKdmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoCiAgc2NyaXB0LAogIHJlbmRlciwKICBzdGF0aWNSZW5kZXJGbnMsCiAgZmFsc2UsCiAgbnVsbCwKICBudWxsLAogIG51bGwKICAKKQoKLyogaG90IHJlbG9hZCAqLwppZiAobW9kdWxlLmhvdCkgewogIHZhciBhcGkgPSByZXF1aXJlKCJEOlxcd29ya3NwYWNlXFxydW95aS12dWUtd2ViXFxub2RlX21vZHVsZXNcXHZ1ZS1ob3QtcmVsb2FkLWFwaVxcZGlzdFxcaW5kZXguanMiKQogIGFwaS5pbnN0YWxsKHJlcXVpcmUoJ3Z1ZScpKQogIGlmIChhcGkuY29tcGF0aWJsZSkgewogICAgbW9kdWxlLmhvdC5hY2NlcHQoKQogICAgaWYgKCFhcGkuaXNSZWNvcmRlZCgnMzA1OTA0OTUnKSkgewogICAgICBhcGkuY3JlYXRlUmVjb3JkKCczMDU5MDQ5NScsIGNvbXBvbmVudC5vcHRpb25zKQogICAgfSBlbHNlIHsKICAgICAgYXBpLnJlbG9hZCgnMzA1OTA0OTUnLCBjb21wb25lbnQub3B0aW9ucykKICAgIH0KICAgIG1vZHVsZS5ob3QuYWNjZXB0KCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0zMDU5MDQ5NSIsIGZ1bmN0aW9uICgpIHsKICAgICAgYXBpLnJlcmVuZGVyKCczMDU5MDQ5NScsIHsKICAgICAgICByZW5kZXI6IHJlbmRlciwKICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZucwogICAgICB9KQogICAgfSkKICB9Cn0KY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gInNyYy92aWV3cy9zeXN0ZW0vY2xhenovaW5kZXgudnVlIgpleHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cw=="}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询班级小组管理列表
export function listGroup(query) {
return request({
url: '/system/group/list',
method: 'get',
params: query
})
}
// 查询班级小组管理详细
export function getGroup(groupId) {
return request({
url: '/system/group/' + groupId,
method: 'get'
})
}
// 新增班级小组管理
export function addGroup(data) {
return request({
url: '/system/group',
method: 'post',
data: data
})
}
// 修改班级小组管理
export function updateGroup(data) {
return request({
url: '/system/group/'+data.groupId,
method: 'put',
data: data
})
}
// 删除班级小组管理
export function delGroup(groupId) {
return request({
url: '/system/group/' + groupId,
method: 'delete'
})
}

View File

@ -74,6 +74,16 @@
v-hasPermi="['system:clazz:export']" v-hasPermi="['system:clazz:export']"
>导出</el-button> >导出</el-button>
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="toggleGroupDialog(true)"
v-hasPermi="['system:group:add']"
>小组管理</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -99,6 +109,13 @@
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['system:clazz:remove']" v-hasPermi="['system:clazz:remove']"
>删除</el-button> >删除</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="goToGroupPage(scope.row.clazzId)"
v-hasPermi="['system:group:list']"
>查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -130,12 +147,160 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="'小组管理'" :visible.sync="groupDialogVisible" width="1000px" append-to-body>
<!-- 将复制的小组管理页面代码粘贴至此处 -->
<div class="app-container">
<el-form :model="queryParams1" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="小组名称" prop="groupName">
<el-input
v-model="queryParams1.groupName"
placeholder="请输入小组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="小组状态" prop="groupState">
<el-input
v-model="queryParams1.groupState"
placeholder="请输入小组状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="小组负责人" prop="groupLeader">
<el-input
v-model="queryParams1.groupLeader"
placeholder="请输入小组负责人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属班级" prop="clazzId">
<el-input
v-model="queryParams1.clazzId"
placeholder="请输入所属班级"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery1"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery1"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd1"
v-hasPermi="['system:group:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate1"
v-hasPermi="['system:group:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete1"
v-hasPermi="['system:group:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport1"
v-hasPermi="['system:group:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList1"></right-toolbar>
</el-row>
<el-table v-loading="loading1" :data="groupList1" @selection-change="handleSelectionChange1">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="小组id" align="center" prop="groupId" />
<el-table-column label="小组名称" align="center" prop="groupName" />
<el-table-column label="小组状态" align="center" prop="groupState" />
<el-table-column label="小组负责人" align="center" prop="groupLeader" />
<el-table-column label="所属班级" align="center" prop="clazzId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate1(scope.row)"
v-hasPermi="['system:group:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete1(scope.row)"
v-hasPermi="['system:group:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total1>0"
:total="total1"
:page.sync="queryParams1.pageNum"
:limit.sync="queryParams1.pageSize"
@pagination="getList1"
/>
<!-- 添加或修改班级小组管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form1" :rules="rules" label-width="80px">
<el-form-item label="小组名称" prop="groupName">
<el-input v-model="form1.groupName" placeholder="请输入小组名称" />
</el-form-item>
<el-form-item label="小组状态" prop="groupState">
<el-input v-model="form1.groupState" placeholder="请输入小组状态" />
</el-form-item>
<el-form-item label="小组负责人" prop="groupLeader">
<el-input v-model="form1.groupLeader" placeholder="请输入小组负责人" />
</el-form-item>
<el-form-item label="所属班级" prop="clazzId">
<el-input v-model="form1.clazzId" placeholder="请输入所属班级" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm1"> </el-button>
<el-button @click="cancel1"> </el-button>
</div>
</el-dialog>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listClazz, getClazz, delClazz, addClazz, updateClazz } from "@/api/system/clazz"; import { listClazz, getClazz, delClazz, addClazz, updateClazz } from "@/api/system/clazz";
import { listGroup, getGroup, delGroup, addGroup, updateGroup } from "@/api/system/group";
export default { export default {
name: "Clazz", name: "Clazz",
data() { data() {
@ -170,11 +335,47 @@ export default {
form: {}, form: {},
// //
rules: { rules: {
} },
//
loading1: true,
//
ids1: [],
//
single1: true,
//
multiple1: true,
//
showSearch1: true,
//
total1: 0,
//
groupList1: [],
//
title1: "",
//
open1: false,
//
queryParams1: {
pageNum: 1,
pageSize: 10,
groupName: null,
groupState: null,
groupLeader: null,
clazzId: null
},
//
form1: {},
//
rules1: {
},
groupDialogVisible: false,
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getList1();
}, },
methods: { methods: {
/** 查询班级管理列表 */ /** 查询班级管理列表 */
@ -211,6 +412,10 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.handleQuery(); this.handleQuery();
}, },
// /
toggleGroupDialog(visible) {
this.groupDialogVisible = visible;
},
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.clazzId) this.ids = selection.map(item => item.clazzId)
@ -263,6 +468,13 @@ export default {
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => {});
}, },
// goToGroupPage(clazzId) {
// // '/groups/:clazzId'
// const targetRoute = `/system/group`;
//
// // 使 this.$router.push()
// this.$router.push({ path: targetRoute });
// },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.download('system/clazz/export', { this.download('system/clazz/export', {
@ -279,6 +491,100 @@ export default {
// clazzState // clazzState
return stateMap[row.clazzState]; return stateMap[row.clazzState];
}, },
/** 查询班级小组管理列表 */
getList1() {
this.loading1 = false;
listGroup(this.queryParams1).then(response => {
this.groupList1 = response.data.rows;
this.total1 = response.data.total;
this.loading1 = true;
});
},
//
cancel1() {
this.open1 = false;
this.reset();
},
//
reset1() {
this.form1 = {
groupId: null,
groupName: null,
groupState: null,
groupLeader: null,
clazzId: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery1() {
this.queryParams1.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery1() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange1(selection) {
this.ids1 = selection.map(item => item.groupId)
this.single1 = selection.length!==1
this.multiple1 = !selection.length
},
/** 新增按钮操作 */
handleAdd1() {
this.reset();
this.open1 = true;
this.title1 = "添加班级小组管理";
},
/** 修改按钮操作 */
handleUpdate1(row) {
this.reset();
const groupId = row.groupId || this.ids
getGroup(groupId).then(response => {
this.form1 = response.data;
this.open1 = true;
this.title1 = "修改班级小组管理";
});
},
/** 提交按钮 */
submitForm1() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.groupId != null) {
updateGroup(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open1 = false;
this.getList();
});
} else {
addGroup(this.form1).then(response => {
this.$modal.msgSuccess("新增成功");
this.open1 = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete1(row) {
const groupIds = row.groupId || this.ids;
this.$modal.confirm('是否确认删除班级小组管理编号为"' + groupIds + '"的数据项?').then(function() {
return delGroup(groupIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport1() {
this.download('system/group/export', {
...this.queryParams
}, `group_${new Date().getTime()}.xlsx`)
}
} }
}; };
</script> </script>

View File

@ -0,0 +1,287 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="小组名称" prop="groupName">
<el-input
v-model="queryParams.groupName"
placeholder="请输入小组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="小组状态" prop="groupState">
<el-input
v-model="queryParams.groupState"
placeholder="请输入小组状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="小组负责人" prop="groupLeader">
<el-input
v-model="queryParams.groupLeader"
placeholder="请输入小组负责人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属班级" prop="clazzId">
<el-input
v-model="queryParams.clazzId"
placeholder="请输入所属班级"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:group:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:group:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:group:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:group:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="groupList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="小组id" align="center" prop="groupId" />
<el-table-column label="小组名称" align="center" prop="groupName" />
<el-table-column label="小组状态" align="center" prop="groupState" />
<el-table-column label="小组负责人" align="center" prop="groupLeader" />
<el-table-column label="所属班级" align="center" prop="clazzId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:group:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:group:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改班级小组管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="小组名称" prop="groupName">
<el-input v-model="form.groupName" placeholder="请输入小组名称" />
</el-form-item>
<el-form-item label="小组状态" prop="groupState">
<el-input v-model="form.groupState" placeholder="请输入小组状态" />
</el-form-item>
<el-form-item label="小组负责人" prop="groupLeader">
<el-input v-model="form.groupLeader" placeholder="请输入小组负责人" />
</el-form-item>
<el-form-item label="所属班级" prop="clazzId">
<el-input v-model="form.clazzId" placeholder="请输入所属班级" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listGroup, getGroup, delGroup, addGroup, updateGroup } from "@/api/system/group";
export default {
name: "Group",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
groupList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
groupName: null,
groupState: null,
groupLeader: null,
clazzId: null
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询班级小组管理列表 */
getList() {
this.loading = true;
listGroup(this.queryParams).then(response => {
this.groupList = response.data.rows;
this.total = response.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
groupId: null,
groupName: null,
groupState: null,
groupLeader: null,
clazzId: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.groupId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加班级小组管理";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const groupId = row.groupId || this.ids
getGroup(groupId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改班级小组管理";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.groupId != null) {
updateGroup(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addGroup(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const groupIds = row.groupId || this.ids;
this.$modal.confirm('是否确认删除班级小组管理编号为"' + groupIds + '"的数据项?').then(function() {
return delGroup(groupIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/group/export', {
...this.queryParams
}, `group_${new Date().getTime()}.xlsx`)
}
}
};
</script>