Merge branch 'test' of https://git.mcnetmart.com/guoxiangbin/ocr-web into fix/updatecontent

pull/32/head
raofuzi 1 year ago
commit fb49867713

1
components.d.ts vendored

@ -34,6 +34,7 @@ declare module 'vue' {
NModal: typeof import('naive-ui')['NModal'] NModal: typeof import('naive-ui')['NModal']
NNotificationProvider: typeof import('naive-ui')['NNotificationProvider'] NNotificationProvider: typeof import('naive-ui')['NNotificationProvider']
NotPassed: typeof import('./src/components/NotPassed.vue')['default'] NotPassed: typeof import('./src/components/NotPassed.vue')['default']
NPopconfirm: typeof import('naive-ui')['NPopconfirm']
NPopover: typeof import('naive-ui')['NPopover'] NPopover: typeof import('naive-ui')['NPopover']
NPopselect: typeof import('naive-ui')['NPopselect'] NPopselect: typeof import('naive-ui')['NPopselect']
NProgress: typeof import('naive-ui')['NProgress'] NProgress: typeof import('naive-ui')['NProgress']

@ -124,6 +124,11 @@ export const useUserStore = defineStore({
// 默认设置为第一个租户 // 默认设置为第一个租户
const firstTenant = data.tenantList.length > 0 ? data.tenantList[0] : null const firstTenant = data.tenantList.length > 0 ? data.tenantList[0] : null
const tenantId = firstTenant ? firstTenant.id : '' const tenantId = firstTenant ? firstTenant.id : ''
data.frontmenuTList.forEach(ele=>{
if(ele.description === 'AI工单'){
ele.description = '图审审批管理'
}
})
storage.set(CURRENT_USER, data, ex) storage.set(CURRENT_USER, data, ex)
storage.set(TENANT_ID, tenantId) storage.set(TENANT_ID, tenantId)
this.setUserInfo(data) this.setUserInfo(data)

@ -84,10 +84,10 @@ const formRef = ref<FormInst | null>(null)
const formValue = reactive<FormType>({ const formValue = reactive<FormType>({
name: null, name: null,
logic: null, logic: 'where',
conditions: [{ conditions: [{
type: null, type: null,
operator: null, operator: 'eq',
result: null, result: null,
}], }],
}) })

@ -84,10 +84,10 @@ const formRef = ref<FormInst | null>(null)
const formValue = reactive<FormType>({ const formValue = reactive<FormType>({
name: null, name: null,
logic: null, logic: 'where',
conditions: [{ conditions: [{
type: null, type: null,
operator: null, operator: 'eq',
result: null, result: null,
}], }],
}) })

@ -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>

@ -28,15 +28,16 @@ const props = defineProps({
default: () => [], default: () => [],
}, },
}); });
const isDismissTask = ref(false)
const svgName = computed(() => { const svgName = computed(() => {
return props.selected ? "taskpack-select" : "taskpack"; return props.selected ? "taskpack-select" : "taskpack";
}); });
const popconfirmTarget: any = ref(null)
const popconfirmRef: any = ref(null)
function handleDismissTask() { function handleDismissTask() {
isDismissTask.value = true
emit('dismisClick', props.mouseOverTask.id) emit('dismisClick', props.mouseOverTask.id)
popconfirmRef.value[0]?.setShow(false); // popconfirm
} }
onMounted(async () => { onMounted(async () => {
@ -44,7 +45,7 @@ onMounted(async () => {
</script> </script>
<template> <template>
<div class="list-item" :class="{ 'list-item-selected': selected }"> <div class="list-item" :class="{ 'list-item-selected': selected }" ref="popconfirmTarget">
<div v-for="(item, index) in showFieldList" :key="index"> <div v-for="(item, index) in showFieldList" :key="index">
<div v-if="item.id === 'name'" class="list-item-header"> <div v-if="item.id === 'name'" class="list-item-header">
<div class="id-wrap"> <div class="id-wrap">
@ -54,12 +55,15 @@ onMounted(async () => {
{{ listItem.name }} {{ listItem.name }}
</n-ellipsis> </n-ellipsis>
<span class="list-item-header-selected">({{ listItem.pictureCount }})</span> <span class="list-item-header-selected">({{ listItem.pictureCount }})</span>
<n-popover placement="bottom" trigger="hover" > <n-popconfirm id="taskPopconfirmRef" ref="popconfirmRef" :show-icon="false" :show-arrow="false"
placement="bottom" trigger="click">
<template #trigger> <template #trigger>
<span class="dismiss-task-pack" v-show="mouseOverTask?.id" style="cursor: pointer;" @click.stop="handleDismissTask">...</span> <span class="dismiss-task-pack" v-show="mouseOverTask?.id" style="cursor: pointer;">...</span>
</template> </template>
<span>解散任务包</span> <template #action>
</n-popover> <span @click="handleDismissTask" style="cursor: pointer;">解散任务包</span>
</template>
</n-popconfirm>
</span> </span>
</div> </div>
</div> </div>

@ -126,14 +126,17 @@ async function search(word: string) {
function overTaskHandelr(item: any) { function overTaskHandelr(item: any) {
overTask.value = item overTask.value = item
} }
function leaveTaskHandler() { function leaveTaskHandler(event) {
if(event?.relatedTarget?.id !=="taskPopconfirmRef"){
overTask.value = null; overTask.value = null;
}
} }
const message = useMessage() const message = useMessage()
function dismisClick(packageId:string) { function dismisClick(packageId:string) {
deletePackage({packageId: packageId}).then((res) => { deletePackage({packageId: packageId}).then((res) => {
if(res.code==="OK"){ if(res.code==="OK"){
message.success("解散任务包成功") message.success("解散任务包成功")
reset()
loadMore() loadMore()
} }
}) })

@ -194,6 +194,7 @@ watch(
if (isEmpty(packageid)) { if (isEmpty(packageid)) {
listData.value.length = 0; listData.value.length = 0;
totalCount.value = 0; totalCount.value = 0;
taskDetailInfo.value = {}
return; return;
} }
queryDetail(packageid) queryDetail(packageid)

@ -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