Merge pull request 'fix:登录报错问题修复' (#27) from al into test

Reviewed-on: #27
pull/28/head
刘释隆 1 year ago
commit 22cff29a53

@ -13,7 +13,7 @@ const toolsData = ref({} as any);
async function getData(){ async function getData(){
const res=await getToolsCount(); const res=await getToolsCount();
toolsData.value=res.data || {}; toolsData.value=res.data || {};
if(!JSON.parse(res.message)){ if(res.code == 'OK'){
showModal(); showModal();
} }
} }

@ -1,8 +1,8 @@
<script lang="ts" setup> <script lang="ts" setup>
import { defineEmits, defineProps, onMounted, ref } from 'vue' import { computed, defineEmits, defineProps, onMounted, ref } from "vue";
import { getAllfieldList, getfieldList, savefield } from '@/api/home/filter' import { getAllfieldList, getfieldList, savefield } from "@/api/home/filter";
import { ReportInfoConfig } from '@/config/workorder' import { ReportInfoConfig } from "@/config/workorder";
import { useUser } from '@/store/modules/user' import { useUser } from "@/store/modules/user";
const props = defineProps({ const props = defineProps({
reviewType: { reviewType: {
@ -10,140 +10,143 @@ const props = defineProps({
default: () => 3, default: () => 3,
require: true, require: true,
}, },
}) });
const emit = defineEmits(['onOk']) const emit = defineEmits(["onOk"]);
onMounted(async () => { onMounted(async () => {
const userStore = useUser() const userStore = useUser();
const userInfo = userStore.getUserInfo const userInfo = userStore.getUserInfo;
let res let res;
res = await getAllfieldList(props.reviewType) // res = await getAllfieldList(props.reviewType); //
const allList = res.data const allList = res.data;
res = await getfieldList(props.reviewType, userInfo.id) // res = await getfieldList(props.reviewType, userInfo.id); //
const useList = res.data const useList = res.data;
/** /**
* name 标题 * name 标题
* id 键值 * id 键值
* fix 是否默认 * fix 是否默认
* checked 是否选中 * checked 是否选中
*/ */
const userFieldFixed = useList.userFieldFixed?.split(',') const userFieldFixed = useList.userFieldFixed?.split(",");
const userFieldUnFixed = useList.userFieldUnFixed?.split(',') const userFieldUnFixed = useList.userFieldUnFixed?.split(",");
allList.map((v) => { allList.map((v) => {
const item = { const item = {
name: v.fieldDesc, name: v.fieldDesc,
id: v.name, id: v.name,
fix: v.isrequired == 2, fix: v.isrequired == 2,
checked: checked:
v.isrequired == 2 v.isrequired == 2 ||
|| Boolean(userFieldFixed?.find(v2 => v2 == v.name)) Boolean(userFieldFixed?.find((v2) => v2 == v.name)) ||
|| Boolean(userFieldUnFixed?.find(v2 => v2 == v.name)), Boolean(userFieldUnFixed?.find((v2) => v2 == v.name)),
} };
offList.value.push(item) offList.value.push(item);
}) });
}) });
const offList = ref<any[]>([]) const offList = ref<any[]>([]);
function generatList() { function generatList() {
const keys = Object.keys(ReportInfoConfig) const keys = Object.keys(ReportInfoConfig);
const hideList: object[] = [] const hideList: object[] = [];
for (const key of keys) { for (const key of keys) {
const name = ReportInfoConfig[key]?.label const name = ReportInfoConfig[key]?.label;
const isDefault = ReportInfoConfig[key]?.isDefault const isDefault = ReportInfoConfig[key]?.isDefault;
// Y // Y
if (!isDefault) { if (!isDefault) {
hideList.push({ hideList.push({
id: key, id: key,
name: name || '未配置', name: name || "未配置",
fix: isDefault, fix: isDefault,
checked: ReportInfoConfig[key].isDefault, checked: ReportInfoConfig[key].isDefault,
}) });
} }
} }
const fixedList = generateDefaultList() const fixedList = generateDefaultList();
hideList.unshift(...fixedList) hideList.unshift(...fixedList);
offList.value = hideList offList.value = hideList;
return { hideList } return { hideList };
} }
function generateDefaultList() { function generateDefaultList() {
return Object.keys(ReportInfoConfig).reduce((acc, key) => { return Object.keys(ReportInfoConfig).reduce((acc, key) => {
const { label, isDefault } = ReportInfoConfig[key] const { label, isDefault } = ReportInfoConfig[key];
if (isDefault) { if (isDefault) {
const config = { const config = {
id: key, id: key,
name: label || '未配置', name: label || "未配置",
fix: true, fix: true,
checked: true, checked: true,
};
return [...acc, config];
} else {
return acc;
} }
return [...acc, config] }, []);
}
else {
return acc
}
}, [])
} }
const show = ref(false) const show = ref(false);
const checkAll = ref(false) const checkAll = computed(() => {
return offList.value.length == selectIds.value.length;
});
function showModal() { function showModal() {
show.value = true show.value = true;
} }
function closeModal() { function closeModal() {
show.value = false show.value = false;
} }
async function handleSumbit(e: MouseEvent) { async function handleSumbit(e: MouseEvent) {
const userStore = useUser() const userStore = useUser();
const userInfo = userStore.getUserInfo const userInfo = userStore.getUserInfo;
let userField = '' let userField = "";
offList.value.map((v) => { offList.value.map((v) => {
if (v.checked) if (v.checked) userField += `${v.id},`;
userField += `${v.id},` });
}) userField = userField.slice(0, userField.length - 1);
userField = userField.slice(0, userField.length - 1) savefield(props.reviewType, userInfo.id, userField);
savefield(props.reviewType, userInfo.id, userField) e.preventDefault();
e.preventDefault() closeModal();
closeModal() emit("onOk");
emit('onOk')
} }
defineExpose({ defineExpose({
showModal, showModal,
}) });
// generatList(); // generatList();
const selectIds = ref<string[]>([]) const selectIds = ref<string[]>([]);
function onCheckAllChange(value) { function onCheckAllChange(value) {
const ids: string[] = [] const ids: string[] = [];
for (const item of offList.value) { for (const item of offList.value) {
if (!item.fix) { if (!item.fix) {
item.checked = value item.checked = value;
ids.push(item.id) ids.push(item.id);
} }
} }
selectIds.value = value ? ids : [] selectIds.value = value ? ids : [];
} }
function onCheckChange(checked: any, item: any) { function onCheckChange(checked: any, item: any) {
const index = selectIds.value.indexOf(item.id) const index = selectIds.value.indexOf(item.id);
item.checked = checked item.checked = checked;
if (index === -1 && checked) if (index === -1 && checked) selectIds.value.push(item.id);
selectIds.value.push(item.id) else selectIds.value.splice(index, 1);
else selectIds.value.splice(index, 1)
} }
const indeterminate = computed(() => {
return offList.value.length > 0 && offList.value.length > selectIds.value.length;
});
</script> </script>
<template> <template>
@ -171,8 +174,10 @@ function onCheckChange(checked: any, item: any) {
<div class="draggable-li" style="background: #f8f8f8"> <div class="draggable-li" style="background: #f8f8f8">
<n-checkbox <n-checkbox
v-model:checked="checkAll" v-model:checked="checkAll"
label="全" label="全"
@update:checked="onCheckAllChange" @update:checked="onCheckAllChange"
:class="{ checkAll: indeterminate }"
:indeterminate="indeterminate"
/> />
</div> </div>
<div class="content"> <div class="content">
@ -199,9 +204,7 @@ function onCheckChange(checked: any, item: any) {
</div> </div>
<template #footer> <template #footer>
<div class="wrapper-footer"> <div class="wrapper-footer">
<n-button type="info" @click="handleSumbit"> <n-button type="info" @click="handleSumbit"> </n-button>
确认
</n-button>
<n-button secondary style="margin-left: 15px" @click="closeModal"> <n-button secondary style="margin-left: 15px" @click="closeModal">
取消 取消
</n-button> </n-button>
@ -288,7 +291,7 @@ function onCheckChange(checked: any, item: any) {
color: #333; color: #333;
display: flex; display: flex;
align-items: center; align-items: center;
border-bottom: 1px solid #E8E8E8; border-bottom: 1px solid #e8e8e8;
} }
.disable-check { .disable-check {
@ -296,9 +299,7 @@ function onCheckChange(checked: any, item: any) {
} }
} }
::v-deep( ::v-deep(.n-card.n-card--content-segmented > .n-card__content:not(:first-child)) {
.n-card.n-card--content-segmented > .n-card__content:not(:first-child)
) {
border: 0px; border: 0px;
} }
@ -306,5 +307,4 @@ function onCheckChange(checked: any, item: any) {
--n-padding-top: 0px; --n-padding-top: 0px;
--n-padding-bottom: 12px; --n-padding-bottom: 12px;
} }
</style> </style>

@ -78,7 +78,7 @@ async function viewRepeat(e: MouseEvent) {
async function getShowStatus() { async function getShowStatus() {
const res = await getToolsCount(); const res = await getToolsCount();
if (!JSON.parse(res.message)) { if (res.code == 'OK') {
show.value = true; show.value = true;
} }
} }

Loading…
Cancel
Save