zhouwenxuan
2023-12-01 3451f5695d6fb65eeac2f4eedd9bf8cdd16a6d79
评价类型、业务范围
已修改6个文件
348 ■■■■ 文件已修改
src/api/backManage/evaluate.js 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/baseSet/business/components/businessDialog.vue 76 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/baseSet/business/index.vue 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/baseSet/evaluateType/components/typeDialog.vue 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/baseSet/evaluateType/index.vue 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/institution/components/viewInstitution.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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'
    })
}
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({
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>
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
});
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>
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"