From 3451f5695d6fb65eeac2f4eedd9bf8cdd16a6d79 Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: 星期五, 01 十二月 2023 17:21:12 +0800
Subject: [PATCH] 评价类型、业务范围
---
src/views/safetyReview/baseSet/evaluateType/index.vue | 70 +++++++++--
src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue | 97 +++++++++++----
src/views/safetyReview/institution/components/viewInstitution.vue | 2
src/views/safetyReview/baseSet/business/components/businessDialog.vue | 76 +++++++++++-
src/views/safetyReview/baseSet/business/index.vue | 71 +++++++++--
src/api/backManage/evaluate.js | 32 ++--
6 files changed, 262 insertions(+), 86 deletions(-)
diff --git a/src/api/backManage/evaluate.js b/src/api/backManage/evaluate.js
index d3140ed..0ff7148 100644
--- a/src/api/backManage/evaluate.js
+++ b/src/api/backManage/evaluate.js
@@ -1,37 +1,37 @@
import request from '@/utils/request'
-export function getEvaluateList() {
+export function getDictList(type) {
return request({
url: '/system/dictData/dictDataList',
- method: 'get'
+ method: 'get',
+ params: type
})
}
-export function addEvaluate(data) {
+export function addDict(data) {
return request({
- url: '/system/dictType/addDictType',
+ url: '/system/dictData/addDictData',
method: 'post',
data: data
})
}
-
-export function editEvaluate(params) {
+export function getDictDetail(params) {
return request({
- url: `/system/dictType/editDictType`,
+ url: '/system/dictData/getDictDataById',
+ method: 'get',
+ params: params
+ })
+}
+export function editDict(params) {
+ return request({
+ url: `/system/dictData/editDictData`,
method: 'put',
data: params
})
}
-export function getLawDetail(params) {
+export function delDict(data) {
return request({
- url: '/system/law/getLawById',
- method: 'get',
- params: params
- })
-}
-export function delEvaluate(data) {
- return request({
- url: `/system/dictType/remove/` + data.id,
+ url: `/system/dictData/remove/` + data.id,
method: 'delete'
})
}
diff --git a/src/views/safetyReview/baseSet/business/components/businessDialog.vue b/src/views/safetyReview/baseSet/business/components/businessDialog.vue
index b4e9586..c225f04 100644
--- a/src/views/safetyReview/baseSet/business/components/businessDialog.vue
+++ b/src/views/safetyReview/baseSet/business/components/businessDialog.vue
@@ -7,8 +7,8 @@
:before-close="handleClose"
>
<el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="110px" >
- <el-form-item label="业务范围:" prop="business">
- <el-input v-model.trim="state.form.business"></el-input>
+ <el-form-item label="业务范围:" prop="label">
+ <el-input v-model.trim="state.form.label"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -24,24 +24,41 @@
import {reactive, ref, toRefs} from 'vue'
import Editor from "@/components/Editor/index.vue";
import {ElMessage} from "element-plus";
+import {addNotice} from "@/api/backManage/notice";
+import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate";
const dialogVisible = ref(false);
const title = ref("");
const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
const state = reactive({
form: {
- business: ''
+ id: '',
+ label: '',
+ value: '',
+ dictType: "sys_business_scope",
},
formRules:{
- business: [{ required: true, message: '请输入业务范围', trigger: 'blur' }],
+ label: [{ required: true, message: '请输入业务范围', trigger: 'blur' }],
},
})
-const openDialog = (type, value) => {
+const openDialog = async (type, value) => {
+ length.value = value.listLength
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit') {
state.form = value;
+ const param = {
+ dictId: value.id
+ }
+ const res = await getDictDetail(param);
+ if(res.code === 200){
+ state.form = res.data
+ }else{
+ ElMessage.warning(res.message)
+ }
}
dialogVisible.value = true;
}
@@ -49,10 +66,46 @@
const onSubmit = async () => {
const valid = await busRef.value.validate();
if(valid){
- busRef.value.clearValidate();
- reset();
- dialogVisible.value = false;
-
+ if(title.value === '新增'){
+ const param = {
+ dictType: "sys_business_scope",
+ label: state.form.label,
+ value: length.value.toString()
+ }
+ const res = await addDict(param)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑'){
+ const param = {
+ id: state.form.id,
+ dictType: state.form.dictType,
+ label: state.form.label,
+ value: state.form.value
+ }
+ const res = await editDict(param)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
}
}
@@ -64,7 +117,10 @@
}
const reset = () => {
state.form = {
- business: ""
+ id: '',
+ label: '',
+ value: '',
+ dictType: "sys_business_scope",
}
}
defineExpose({
diff --git a/src/views/safetyReview/baseSet/business/index.vue b/src/views/safetyReview/baseSet/business/index.vue
index 8a8aecb..8d872fa 100644
--- a/src/views/safetyReview/baseSet/business/index.vue
+++ b/src/views/safetyReview/baseSet/business/index.vue
@@ -10,33 +10,40 @@
</div>
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
- <el-table-column label="业务范围" prop="business" align="center" />
+ <el-table-column label="业务范围" prop="label" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
<template #default="scope">
- <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['system:role:edit']">编辑</el-button>
- <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
+ <el-button link type="primary" @click="openDialog('edit',scope.row)" >编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)" >删除</el-button>
</template>
</el-table-column>
</el-table>
- <pagination
- v-show="total > 0"
- :total="total"
- v-model:page="queryParams.pageNum"
- v-model:limit="queryParams.pageSize"
- @pagination="getList"
- />
+ <div class="pag-container">
+ <el-pagination
+ v-model:current-page="data.queryParams.pageNum"
+ v-model:page-size="data.queryParams.pageSize"
+ :page-sizes="[10,15,20,25]"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
<business-dialog ref="busRef" @getList=getList></business-dialog>
</div>
</template>
<script setup>
-import {getCurrentInstance, reactive, ref, toRefs} from "vue";
+import {getCurrentInstance, onMounted, reactive, ref, toRefs} from "vue";
import businessDialog from "./components/businessDialog.vue"
-import {ElMessageBox} from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {delDict, getDictList} from "@/api/backManage/evaluate";
+import {delNotice} from "@/api/backManage/notice";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const busRef = ref();
+const dictType = ref("sys_business_scope")
const data = reactive({
queryParams: {
pageNum: 1,
@@ -51,13 +58,30 @@
const { queryParams, total, dataList } = toRefs(data);
-const getList = () => {
+onMounted(() => {
+ getList();
+});
+const getList = async () => {
loading.value = true;
- console.log("获取数据")
+ const res = await getDictList({dictType: dictType.value});
+ if(res.code === 200){
+ dataList.value = res.data.list
+ total.value = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
loading.value = false;
}
-
+const handleSizeChange = (val) => {
+ data.queryParams.pageSize = val
+ getList()
+}
+const handleCurrentChange = (val) => {
+ data.queryParams.pageNum = val
+ getList()
+}
const openDialog = (type, value) => {
+ value.listLength = dataList.value.length> 0 ?dataList.value.length:0;
busRef.value.openDialog(type, value);
}
@@ -75,8 +99,23 @@
type: 'warning',
})
.then( async() => {
-
+ const res = await delDict(val);
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '删除成功'
+ });
+ getList();
+ }else{
+ ElMessage.warning(res.message)
+ }
})
}
</script>
+<style>
+.pag-container{
+float: right;
+margin-top: 10px;
+}
+</style>
diff --git a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
index 287b8ce..d4543a5 100644
--- a/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
+++ b/src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue
@@ -6,9 +6,9 @@
width="500px"
:before-close="handleClose"
>
- <el-form :model="state.form" size="default" ref="typeRef" :rules="state.formRules" label-width="110px" >
- <el-form-item label="评价类型:" prop="type">
- <el-input v-model.trim="state.form.type"></el-input>
+ <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="110px" >
+ <el-form-item label="评价类型:" prop="label">
+ <el-input v-model.trim="state.form.label"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -24,62 +24,105 @@
import {reactive, ref, toRefs} from 'vue'
import Editor from "@/components/Editor/index.vue";
import {ElMessage} from "element-plus";
+import {addNotice} from "@/api/backManage/notice";
+import {addDict, editDict, getDictDetail} from "@/api/backManage/evaluate";
const dialogVisible = ref(false);
const title = ref("");
-const typeRef = ref();
-const isReview = ref(false);
+const busRef = ref();
+const length = ref()
+const emit = defineEmits(["getList"]);
const state = reactive({
form: {
- type: ''
+ id: '',
+ label: '',
+ value: '',
+ dictType: "sys_assess_type",
},
formRules:{
- type: [{ required: true, message: '请输入评价类型', trigger: 'blur' }],
+ label: [{ required: true, message: '请输入评价类型', trigger: 'blur' }],
},
})
-const openDialog = (type, value) => {
- isReview.value = false;
+const openDialog = async (type, value) => {
+ length.value = value.listLength
title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
if(type === 'edit') {
state.form = value;
+ const param = {
+ dictId: value.id
+ }
+ const res = await getDictDetail(param);
+ if(res.code === 200){
+ state.form = res.data
+ }else{
+ ElMessage.warning(res.message)
+ }
}
dialogVisible.value = true;
}
const onSubmit = async () => {
- const valid = await typeRef.value.validate();
+ const valid = await busRef.value.validate();
if(valid){
- typeRef.value.clearValidate();
- reset();
- dialogVisible.value = false;
-
+ if(title.value === '新增'){
+ const param = {
+ dictType: "sys_assess_type",
+ label: state.form.label,
+ value: length.value.toString()
+ }
+ const res = await addDict(param)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }else if(title.value === '编辑'){
+ const param = {
+ id: state.form.id,
+ dictType: state.form.dictType,
+ label: state.form.label,
+ value: state.form.value
+ }
+ const res = await editDict(param)
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '新增成功'
+ });
+ }else{
+ ElMessage.warning(res.message)
+ }
+ emit("getList")
+ busRef.value.clearValidate();
+ reset();
+ dialogVisible.value = false;
+ }
}
}
const handleClose = () => {
- typeRef.value.clearValidate();
+ busRef.value.clearValidate();
reset();
dialogVisible.value = false;
}
const reset = () => {
state.form = {
- type: ""
+ id: '',
+ label: '',
+ value: '',
+ dictType: "sys_assess_type",
}
}
-const handleRemove = (file, fileList) => {
- console.log(file, fileList);
-}
-const handlePreview = (uploadFile) => {
- console.log(uploadFile)
-}
-const beforeRemove = (file, fileList) => {
- return this.$confirm(`确定移除 ${ file.name }?`);
-}
-
-
defineExpose({
openDialog
});
diff --git a/src/views/safetyReview/baseSet/evaluateType/index.vue b/src/views/safetyReview/baseSet/evaluateType/index.vue
index f9779d1..eded628 100644
--- a/src/views/safetyReview/baseSet/evaluateType/index.vue
+++ b/src/views/safetyReview/baseSet/evaluateType/index.vue
@@ -10,33 +10,39 @@
</div>
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true">
- <el-table-column label="评价类型" prop="type" align="center" />
+ <el-table-column label="评价类型" prop="label" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
<template #default="scope">
- <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['system:role:edit']">编辑</el-button>
- <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
+ <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
+ <el-button link type="danger" @click="handleDelete(scope.row)" >删除</el-button>
</template>
</el-table-column>
</el-table>
- <pagination
- v-show="total > 0"
- :total="total"
- v-model:page="queryParams.pageNum"
- v-model:limit="queryParams.pageSize"
- @pagination="getList"
- />
+ <div class="pag-container">
+ <el-pagination
+ v-model:current-page="data.queryParams.pageNum"
+ v-model:page-size="data.queryParams.pageSize"
+ :page-sizes="[10,15,20,25]"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
<type-dialog ref="typeRef" @getList=getList></type-dialog>
</div>
</template>
<script setup>
-import {getCurrentInstance, reactive, ref, toRefs} from "vue";
+import {getCurrentInstance, onMounted, reactive, ref, toRefs} from "vue";
import typeDialog from "./components/typeDialog.vue"
-import {ElMessageBox} from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {delDict, getDictList,} from "@/api/backManage/evaluate";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const typeRef = ref();
+const dictType = ref("sys_assess_type")
const data = reactive({
queryParams: {
pageNum: 1,
@@ -50,15 +56,32 @@
});
const { queryParams, total, dataList } = toRefs(data);
-
-const getList = () => {
+onMounted(() => {
+ getList();
+});
+const getList = async () => {
loading.value = true;
- console.log("获取数据")
+ const res = await getDictList({dictType: dictType.value});
+ if(res.code === 200){
+ dataList.value = res.data.list
+ total.value = res.data.total
+ }else{
+ ElMessage.warning(res.message)
+ }
loading.value = false;
}
const openDialog = (type, value) => {
+ value.listLength = dataList.value.length> 0 ?dataList.value.length:0;
typeRef.value.openDialog(type, value);
+}
+const handleSizeChange = (val) => {
+ data.queryParams.pageSize = val
+ getList()
+}
+const handleCurrentChange = (val) => {
+ data.queryParams.pageNum = val
+ getList()
}
/** 重置新增的表单以及其他数据 */
@@ -75,8 +98,23 @@
type: 'warning',
})
.then( async() => {
-
+ const res = await delDict(val);
+ if(res.code === 200){
+ ElMessage({
+ type: 'success',
+ message: '删除成功'
+ });
+ getList();
+ }else{
+ ElMessage.warning(res.message)
+ }
})
}
</script>
+<style lang="scss">
+.pag-container{
+ float: right;
+ margin-top: 10px;
+}
+</style>
diff --git a/src/views/safetyReview/institution/components/viewInstitution.vue b/src/views/safetyReview/institution/components/viewInstitution.vue
index fb7c32e..003c3fe 100644
--- a/src/views/safetyReview/institution/components/viewInstitution.vue
+++ b/src/views/safetyReview/institution/components/viewInstitution.vue
@@ -212,7 +212,7 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item prop="username" label="登录用户名(字母+数字,长度在5-16之间)">
+ <el-form-item prop="username" >
<el-input
disabled
v-model="registerForm.username"
--
Gitblit v1.9.2