角色新增类型,平台;告警新增字段
							parent
							
								
									21cece2fea
								
							
						
					
					
						commit
						80072c2184
					
				| 
						 | 
					@ -9,6 +9,11 @@ export const setRoleDelete = (params) =>
 | 
				
			||||||
export const setRoleAdd = (params) => postRequest("/sys/role/save", params); // 角色管理添加
 | 
					export const setRoleAdd = (params) => postRequest("/sys/role/save", params); // 角色管理添加
 | 
				
			||||||
export const setRoleEdit = (params) => postRequest("/sys/role/update", params); // 角色管理修改
 | 
					export const setRoleEdit = (params) => postRequest("/sys/role/update", params); // 角色管理修改
 | 
				
			||||||
export const getRoleView = (params) => postRequest("/sys/role/info", params); // 角色管理查看
 | 
					export const getRoleView = (params) => postRequest("/sys/role/info", params); // 角色管理查看
 | 
				
			||||||
 | 
					export const getBusServicePlatformListAllName = (params) =>
 | 
				
			||||||
 | 
					  postRequest("busServicePlatform/listAllName", params); // 服务平台管理-所有名称
 | 
				
			||||||
 | 
					export const getBusCompanyInfoListAllName = (params) =>
 | 
				
			||||||
 | 
					  postRequest("busCompanyInfo/listAllName", params); // 对接企业管理-获取服务平台下的企业名称
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const getDataDictionaryList = (params) =>
 | 
					export const getDataDictionaryList = (params) =>
 | 
				
			||||||
  postRequest("/sys/dictionaries/listPage", params); // 数据字典列表
 | 
					  postRequest("/sys/dictionaries/listPage", params); // 数据字典列表
 | 
				
			||||||
export const setDataDictionaryDelete = (params) =>
 | 
					export const setDataDictionaryDelete = (params) =>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,8 @@ const form = ref({
 | 
				
			||||||
  handleRemark: "",
 | 
					  handleRemark: "",
 | 
				
			||||||
  handleResult: "",
 | 
					  handleResult: "",
 | 
				
			||||||
  handleStatus: "",
 | 
					  handleStatus: "",
 | 
				
			||||||
 | 
					  handleType: "",
 | 
				
			||||||
 | 
					  alarmPlatform: "",
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
const rules = {
 | 
					const rules = {
 | 
				
			||||||
  alarmReason: [
 | 
					  alarmReason: [
 | 
				
			||||||
| 
						 | 
					@ -52,12 +54,28 @@ const rules = {
 | 
				
			||||||
  handleStatus: [
 | 
					  handleStatus: [
 | 
				
			||||||
    { required: true, message: "处理状态不能为空", trigger: "change" },
 | 
					    { required: true, message: "处理状态不能为空", trigger: "change" },
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
 | 
					  handleType: [
 | 
				
			||||||
 | 
					    { required: true, message: "处理类型不能为空", trigger: "change" },
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  alarmPlatform: [
 | 
				
			||||||
 | 
					    { required: true, message: "告警平台不能为空", trigger: "change" },
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
const handleStatusOptions = [
 | 
					const handleStatusOptions = [
 | 
				
			||||||
  // { name: "未处理", id: 1 },
 | 
					  // { name: "未处理", id: 1 },
 | 
				
			||||||
  { name: "处理成功", id: 2 },
 | 
					  { name: "处理成功", id: 2 },
 | 
				
			||||||
  { name: "不需要处理", id: 3 },
 | 
					  { name: "不需要处理", id: 3 },
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
 | 
					const handleTypeOptions = [
 | 
				
			||||||
 | 
					  { name: "网络原因", id: 1 },
 | 
				
			||||||
 | 
					  { name: "bug", id: 2 },
 | 
				
			||||||
 | 
					  { name: "其他原因", id: 3 },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					const alarmPlatformOptions = [
 | 
				
			||||||
 | 
					  { name: "上级平台", id: 1 },
 | 
				
			||||||
 | 
					  { name: "服务平台", id: 2 },
 | 
				
			||||||
 | 
					  { name: "企业", id: 3 },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
const options = [
 | 
					const options = [
 | 
				
			||||||
  { key: "handleBy", label: "处理人" },
 | 
					  { key: "handleBy", label: "处理人" },
 | 
				
			||||||
  { key: "handleRemark", label: "处理备注" },
 | 
					  { key: "handleRemark", label: "处理备注" },
 | 
				
			||||||
| 
						 | 
					@ -68,6 +86,20 @@ const options = [
 | 
				
			||||||
    type: "select",
 | 
					    type: "select",
 | 
				
			||||||
    options: handleStatusOptions,
 | 
					    options: handleStatusOptions,
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    key: "handleType",
 | 
				
			||||||
 | 
					    label: "处理类型",
 | 
				
			||||||
 | 
					    type: "select",
 | 
				
			||||||
 | 
					    valueKey: "name",
 | 
				
			||||||
 | 
					    options: handleTypeOptions,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    key: "alarmPlatform",
 | 
				
			||||||
 | 
					    label: "告警平台",
 | 
				
			||||||
 | 
					    type: "select",
 | 
				
			||||||
 | 
					    valueKey: "name",
 | 
				
			||||||
 | 
					    options: alarmPlatformOptions,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  { key: "alarmReason", label: "告警原因", type: "textarea", span: 24 },
 | 
					  { key: "alarmReason", label: "告警原因", type: "textarea", span: 24 },
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
const fnSubmit = debounce(
 | 
					const fnSubmit = debounce(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -93,6 +93,14 @@ const options = [
 | 
				
			||||||
    key: "handleStatus",
 | 
					    key: "handleStatus",
 | 
				
			||||||
    label: "处理状态",
 | 
					    label: "处理状态",
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    key: "handleType",
 | 
				
			||||||
 | 
					    label: "处理类型",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    key: "alarmPlatform",
 | 
				
			||||||
 | 
					    label: "告警平台",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  { key: "alarmReason", label: "告警原因", span: 2 },
 | 
					  { key: "alarmReason", label: "告警原因", span: 2 },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    key: "receiveData",
 | 
					    key: "receiveData",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,7 @@
 | 
				
			||||||
        <el-form-item class="mt-30">
 | 
					        <el-form-item class="mt-30">
 | 
				
			||||||
          <verification v-model:verification-pass="verificationPass" />
 | 
					          <verification v-model:verification-pass="verificationPass" />
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item class="button">
 | 
					        <el-form-item class="button mt-50">
 | 
				
			||||||
          <el-button native-type="submit"><span>登录</span> </el-button>
 | 
					          <el-button native-type="submit"><span>登录</span> </el-button>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
| 
						 | 
					@ -156,7 +156,7 @@ const fnSubmitLogin = async () => {
 | 
				
			||||||
    top: 50%;
 | 
					    top: 50%;
 | 
				
			||||||
    transform: translateY(-50%);
 | 
					    transform: translateY(-50%);
 | 
				
			||||||
    width: 480px;
 | 
					    width: 480px;
 | 
				
			||||||
    height: 580px;
 | 
					    height: 540px;
 | 
				
			||||||
    padding: 42px 35px 94px;
 | 
					    padding: 42px 35px 94px;
 | 
				
			||||||
    background-color: #fff;
 | 
					    background-color: #fff;
 | 
				
			||||||
    z-index: 1;
 | 
					    z-index: 1;
 | 
				
			||||||
| 
						 | 
					@ -201,7 +201,6 @@ const fnSubmitLogin = async () => {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    .button {
 | 
					    .button {
 | 
				
			||||||
      margin-top: 88px;
 | 
					 | 
				
			||||||
      .el-button {
 | 
					      .el-button {
 | 
				
			||||||
        background: #0a7dfe;
 | 
					        background: #0a7dfe;
 | 
				
			||||||
        height: 45px;
 | 
					        height: 45px;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,45 @@
 | 
				
			||||||
          placeholder="请输入备注"
 | 
					          placeholder="请输入备注"
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
 | 
					      <el-form-item label="类型" prop="type">
 | 
				
			||||||
 | 
					        <el-select v-model="form.type" placeholder="请选择类型">
 | 
				
			||||||
 | 
					          <el-option
 | 
				
			||||||
 | 
					            v-for="item in options"
 | 
				
			||||||
 | 
					            :key="item.value"
 | 
				
			||||||
 | 
					            :label="item.label"
 | 
				
			||||||
 | 
					            :value="item.value"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
 | 
					        </el-select>
 | 
				
			||||||
 | 
					      </el-form-item>
 | 
				
			||||||
 | 
					      <el-form-item
 | 
				
			||||||
 | 
					        v-show="form.type === 2 || form.type === 3"
 | 
				
			||||||
 | 
					        label="服务平台"
 | 
				
			||||||
 | 
					        prop="servicePlatformId"
 | 
				
			||||||
 | 
					      >
 | 
				
			||||||
 | 
					        <el-select
 | 
				
			||||||
 | 
					          v-model="form.servicePlatformId"
 | 
				
			||||||
 | 
					          placeholder="请选择服务平台"
 | 
				
			||||||
 | 
					          multiple
 | 
				
			||||||
 | 
					          @change="fnGetCompanyOptions"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					          <el-option
 | 
				
			||||||
 | 
					            v-for="item in servicePlatformOptions"
 | 
				
			||||||
 | 
					            :key="item.id"
 | 
				
			||||||
 | 
					            :label="item.serviceName"
 | 
				
			||||||
 | 
					            :value="item.id"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
 | 
					        </el-select>
 | 
				
			||||||
 | 
					      </el-form-item>
 | 
				
			||||||
 | 
					      <el-form-item v-show="form.type === 3" label="企业" prop="companyId">
 | 
				
			||||||
 | 
					        <el-select v-model="form.companyId" multiple placeholder="请选择类型">
 | 
				
			||||||
 | 
					          <el-option
 | 
				
			||||||
 | 
					            v-for="item in companyOptions"
 | 
				
			||||||
 | 
					            :key="item.id"
 | 
				
			||||||
 | 
					            :label="`${item.companyName}(${item.servicePlatformName})`"
 | 
				
			||||||
 | 
					            :value="item.id"
 | 
				
			||||||
 | 
					          />
 | 
				
			||||||
 | 
					        </el-select>
 | 
				
			||||||
 | 
					      </el-form-item>
 | 
				
			||||||
      <el-form-item v-if="form.parentId !== '0'" label="菜单" prop="menuIdList">
 | 
					      <el-form-item v-if="form.parentId !== '0'" label="菜单" prop="menuIdList">
 | 
				
			||||||
        <el-tree
 | 
					        <el-tree
 | 
				
			||||||
          ref="treeRef"
 | 
					          ref="treeRef"
 | 
				
			||||||
| 
						 | 
					@ -40,11 +79,13 @@
 | 
				
			||||||
import { debounce } from "throttle-debounce";
 | 
					import { debounce } from "throttle-debounce";
 | 
				
			||||||
import useForm from "@/hooks/useForm.js";
 | 
					import useForm from "@/hooks/useForm.js";
 | 
				
			||||||
import { ElMessage } from "element-plus";
 | 
					import { ElMessage } from "element-plus";
 | 
				
			||||||
import { nextTick, ref, watchEffect } from "vue";
 | 
					import { nextTick, ref, watchEffect, watch } from "vue";
 | 
				
			||||||
import {
 | 
					import {
 | 
				
			||||||
  getRouteList,
 | 
					  getRouteList,
 | 
				
			||||||
  setRoleAdd,
 | 
					  setRoleAdd,
 | 
				
			||||||
  setRoleEdit,
 | 
					  setRoleEdit,
 | 
				
			||||||
 | 
					  getBusServicePlatformListAllName,
 | 
				
			||||||
 | 
					  getBusCompanyInfoListAllName,
 | 
				
			||||||
} from "@/request/system_management.js";
 | 
					} from "@/request/system_management.js";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const props = defineProps({
 | 
					const props = defineProps({
 | 
				
			||||||
| 
						 | 
					@ -64,6 +105,35 @@ const rules = {
 | 
				
			||||||
    { required: true, message: "名称不能为空", trigger: "blur" },
 | 
					    { required: true, message: "名称不能为空", trigger: "blur" },
 | 
				
			||||||
    { min: 2, max: 30, message: "长度在2到30个字符", trigger: "blur" },
 | 
					    { min: 2, max: 30, message: "长度在2到30个字符", trigger: "blur" },
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
 | 
					  type: [{ required: true, message: "类型不能为空", trigger: "change" }],
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					const options = [
 | 
				
			||||||
 | 
					  { label: "系统角色", value: 1 },
 | 
				
			||||||
 | 
					  { label: "服务平台角色", value: 2 },
 | 
				
			||||||
 | 
					  { label: "企业角色", value: 3 },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					const servicePlatformOptions = ref([]);
 | 
				
			||||||
 | 
					const companyOptions = ref([]);
 | 
				
			||||||
 | 
					watch(
 | 
				
			||||||
 | 
					  () => form.value.type,
 | 
				
			||||||
 | 
					  async (val) => {
 | 
				
			||||||
 | 
					    if (val !== 1) await fnGetServicePlatformOptions();
 | 
				
			||||||
 | 
					    if (val === 3) await fnGetCompanyOptions();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					);
 | 
				
			||||||
 | 
					const fnGetServicePlatformOptions = async () => {
 | 
				
			||||||
 | 
					  if (servicePlatformOptions.value.length === 0) {
 | 
				
			||||||
 | 
					    const { data } = await getBusServicePlatformListAllName();
 | 
				
			||||||
 | 
					    servicePlatformOptions.value = data;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					const fnGetCompanyOptions = async () => {
 | 
				
			||||||
 | 
					  if (form.value.type !== 3 || form.value.servicePlatformId.length === 0)
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  const { data } = await getBusCompanyInfoListAllName({
 | 
				
			||||||
 | 
					    servicePlatformIds: form.value.servicePlatformId.join(","),
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					  companyOptions.value = data;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
const fnGetData = async () => {
 | 
					const fnGetData = async () => {
 | 
				
			||||||
  const resData = await getRouteList({ parentId: 0 });
 | 
					  const resData = await getRouteList({ parentId: 0 });
 | 
				
			||||||
| 
						 | 
					@ -121,11 +191,15 @@ const fnSubmit = debounce(
 | 
				
			||||||
    await validate();
 | 
					    await validate();
 | 
				
			||||||
    const checkedKeys = treeRef.value?.getCheckedKeys() || [];
 | 
					    const checkedKeys = treeRef.value?.getCheckedKeys() || [];
 | 
				
			||||||
    const halfCheckedKeys = treeRef.value?.getHalfCheckedKeys() || [];
 | 
					    const halfCheckedKeys = treeRef.value?.getHalfCheckedKeys() || [];
 | 
				
			||||||
 | 
					    const servicePlatformId = form.value.servicePlatformId.join(",");
 | 
				
			||||||
 | 
					    const companyId = form.value.companyId.join(",");
 | 
				
			||||||
    if (props.type === "add") {
 | 
					    if (props.type === "add") {
 | 
				
			||||||
      await setRoleAdd({
 | 
					      await setRoleAdd({
 | 
				
			||||||
        ...form.value,
 | 
					        ...form.value,
 | 
				
			||||||
        menuIdList: [...checkedKeys, ...halfCheckedKeys],
 | 
					        menuIdList: [...checkedKeys, ...halfCheckedKeys],
 | 
				
			||||||
        roleId: undefined,
 | 
					        roleId: undefined,
 | 
				
			||||||
 | 
					        servicePlatformId,
 | 
				
			||||||
 | 
					        companyId,
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (props.type === "edit")
 | 
					    if (props.type === "edit")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,6 +83,9 @@ const addOrEditDialog = ref({
 | 
				
			||||||
    remark: "",
 | 
					    remark: "",
 | 
				
			||||||
    corpRoleType: "",
 | 
					    corpRoleType: "",
 | 
				
			||||||
    menuIdList: [],
 | 
					    menuIdList: [],
 | 
				
			||||||
 | 
					    type: "",
 | 
				
			||||||
 | 
					    companyId: [],
 | 
				
			||||||
 | 
					    servicePlatformId: [],
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
const fnDelete = debounce(
 | 
					const fnDelete = debounce(
 | 
				
			||||||
| 
						 | 
					@ -120,8 +123,14 @@ const fnAddOrEdit = async (roleId, type) => {
 | 
				
			||||||
  addOrEditDialog.value.type = type;
 | 
					  addOrEditDialog.value.type = type;
 | 
				
			||||||
  await nextTick();
 | 
					  await nextTick();
 | 
				
			||||||
  if (type === "edit") {
 | 
					  if (type === "edit") {
 | 
				
			||||||
    const resData = await getRoleView({ roleId });
 | 
					    const { role } = await getRoleView({ roleId });
 | 
				
			||||||
    addOrEditDialog.value.form = resData.role;
 | 
					    addOrEditDialog.value.form = role;
 | 
				
			||||||
 | 
					    addOrEditDialog.value.form.companyId = role.companyId
 | 
				
			||||||
 | 
					      .split(",")
 | 
				
			||||||
 | 
					      .map(Number);
 | 
				
			||||||
 | 
					    addOrEditDialog.value.form.servicePlatformId = role.servicePlatformId
 | 
				
			||||||
 | 
					      .split(",")
 | 
				
			||||||
 | 
					      .map(Number);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue