优化双数据源
This commit is contained in:
@@ -8,6 +8,7 @@ export interface UserResp {
|
||||
email: string
|
||||
phone: string
|
||||
description: string
|
||||
dataSource: number
|
||||
status: 1 | 2
|
||||
isSystem?: boolean
|
||||
createUserString: string
|
||||
|
||||
@@ -15,7 +15,7 @@ export const systemRoutes: RouteRecordRaw[] = [
|
||||
path: '/',
|
||||
name: 'Dashboard',
|
||||
component: Layout,
|
||||
redirect: '/dashboard/analysis', // 改为跳转到分析页
|
||||
redirect: '/workOrder', // 改为跳转到工作订单页
|
||||
meta: { title: '仪表盘', icon: 'dashboard', hidden: false },
|
||||
children: [
|
||||
{
|
||||
@@ -25,9 +25,9 @@ export const systemRoutes: RouteRecordRaw[] = [
|
||||
meta: { title: '工作台', icon: 'desktop', hidden: true }, // 改为隐藏
|
||||
},
|
||||
{
|
||||
path: '/dashboard/analysis',
|
||||
name: 'Analysis',
|
||||
component: () => import('@/views/dashboard/analysis/index.vue'),
|
||||
path: '/workOrder',
|
||||
name: 'WorkOrder',
|
||||
component: () => import('@/views/workOrder/index.vue'),
|
||||
meta: { title: '首页', icon: 'insert-chart', hidden: false, affix: true },
|
||||
},
|
||||
],
|
||||
|
||||
@@ -31,10 +31,10 @@
|
||||
</a-button>
|
||||
</template>
|
||||
<template #toolbar-right>
|
||||
<a-button v-permission="['fullWorkOrder:fullWorkOrder:add']" type="primary" @click="onAdd">
|
||||
<template #icon><icon-plus /></template>
|
||||
<template #default>新增</template>
|
||||
</a-button>
|
||||
<!-- <a-button v-permission="['fullWorkOrder:fullWorkOrder:add']" type="primary" @click="onAdd">-->
|
||||
<!-- <template #icon><icon-plus /></template>-->
|
||||
<!-- <template #default>新增</template>-->
|
||||
<!-- </a-button>-->
|
||||
<a-button v-permission="['fullWorkOrder:fullWorkOrder:export']" @click="onExport">
|
||||
<template #icon><icon-download /></template>
|
||||
<template #default>导出</template>
|
||||
@@ -50,11 +50,11 @@
|
||||
|
||||
<template #action="{ record }">
|
||||
<a-space>
|
||||
<a-link
|
||||
@click="onAddDetail(record.id)"
|
||||
>
|
||||
新增
|
||||
</a-link>
|
||||
<!-- <a-link-->
|
||||
<!-- @click="onAddDetail(record.id)"-->
|
||||
<!-- >-->
|
||||
<!-- 新增-->
|
||||
<!-- </a-link>-->
|
||||
<a-link
|
||||
@click="onViewDetail(record)"
|
||||
>
|
||||
@@ -78,22 +78,21 @@
|
||||
</template>
|
||||
</GiTable>
|
||||
|
||||
<FullWorkOrderAddModal ref="FullWorkOrderAddModalRef" @save-success="search" />
|
||||
<FullWorkOrderDetailModal ref="FullWorkOrderDetailModalRef" @save-success="search" />
|
||||
<!-- <FullWorkOrderAddModal ref="FullWorkOrderAddModalRef" @save-success="search" />-->
|
||||
<!-- <FullWorkOrderDetailModal ref="FullWorkOrderDetailModalRef" @save-success="search" />-->
|
||||
<FullWorkOrderDetailListModal ref="FullWorkOrderDetailListModalRef" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import FullWorkOrderAddModal from './FullWorkOrderAddModal.vue'
|
||||
import FullWorkOrderDetailModal from './FullWorkOrderDetailModal.vue'
|
||||
// import FullWorkOrderAddModal from './FullWorkOrderAddModal.vue'
|
||||
// import FullWorkOrderDetailModal from './FullWorkOrderDetailModal.vue'
|
||||
import FullWorkOrderDetailListModal from './FullWorkOrderDetailListModal.vue'
|
||||
import { type FullWorkOrderResp, type FullWorkOrderQuery, deleteFullWorkOrder, exportFullWorkOrder, listFullWorkOrder } from '@/apis/fullWorkOrder/fullWorkOrder'
|
||||
import type { TableInstanceColumns } from '@/components/GiTable/type'
|
||||
import { useDownload, useTable } from '@/hooks'
|
||||
import { isMobile } from '@/utils'
|
||||
import has from '@/utils/has'
|
||||
import type {WorkOrderResp} from "@/apis/workOrder/workOrder";
|
||||
import QRCode from 'qrcode';
|
||||
import {Message} from "@arco-design/web-vue";
|
||||
|
||||
@@ -326,19 +325,19 @@ const onExport = () => {
|
||||
useDownload(() => exportFullWorkOrder(queryForm))
|
||||
}
|
||||
|
||||
const FullWorkOrderAddModalRef = ref<InstanceType<typeof FullWorkOrderAddModal>>()
|
||||
const FullWorkOrderDetailModalRef = ref<InstanceType<typeof FullWorkOrderDetailModal>>()
|
||||
// const FullWorkOrderAddModalRef = ref<InstanceType<typeof FullWorkOrderAddModal>>()
|
||||
// const FullWorkOrderDetailModalRef = ref<InstanceType<typeof FullWorkOrderDetailModal>>()
|
||||
const FullWorkOrderDetailListModalRef = ref<InstanceType<typeof FullWorkOrderDetailListModal>>()
|
||||
|
||||
// 新增
|
||||
const onAdd = () => {
|
||||
FullWorkOrderAddModalRef.value?.onAdd()
|
||||
}
|
||||
// const onAdd = () => {
|
||||
// FullWorkOrderAddModalRef.value?.onAdd()
|
||||
// }
|
||||
|
||||
// 新增原材料详情
|
||||
const onAddDetail = (id: string) => {
|
||||
FullWorkOrderDetailModalRef.value?.onAdd(id)
|
||||
}
|
||||
// const onAddDetail = (id: string) => {
|
||||
// FullWorkOrderDetailModalRef.value?.onAdd(id)
|
||||
// }
|
||||
|
||||
// 查看原材料详情
|
||||
const onViewDetail = (record: FullWorkOrderResp) => {
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
import { type FormInstance, Message } from '@arco-design/web-vue'
|
||||
import { useStorage } from '@vueuse/core'
|
||||
import { getImageCaptcha } from '@/apis/common'
|
||||
import { useTabsStore, useUserStore } from '@/stores'
|
||||
import { useAppStore, useTabsStore, useUserStore } from '@/stores'
|
||||
import { encryptByRsa } from '@/utils/encrypt'
|
||||
|
||||
const loginConfig = useStorage('login-config', {
|
||||
@@ -106,6 +106,7 @@ const getCaptcha = () => {
|
||||
|
||||
const userStore = useUserStore()
|
||||
const tabsStore = useTabsStore()
|
||||
const appStore = useAppStore()
|
||||
const router = useRouter()
|
||||
const loading = ref(false)
|
||||
// 登录
|
||||
@@ -120,6 +121,8 @@ const handleLogin = async () => {
|
||||
captcha: form.captcha,
|
||||
uuid: form.uuid,
|
||||
})
|
||||
// 登录成功后获取系统配置(根据登录账号显示不同的系统名称)
|
||||
await appStore.initSiteConfig()
|
||||
tabsStore.reset()
|
||||
const { redirect, ...othersQuery } = router.currentRoute.value.query
|
||||
const { rememberMe } = loginConfig.value
|
||||
@@ -204,4 +207,4 @@ onMounted(() => {
|
||||
font-size: 12px;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
@@ -23,7 +23,7 @@
|
||||
import { ref, reactive, onMounted, onUnmounted } from 'vue'
|
||||
import { type FormInstance, Message } from '@arco-design/web-vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useTabsStore, useUserStore } from '@/stores'
|
||||
import { useAppStore, useTabsStore, useUserStore } from '@/stores'
|
||||
|
||||
const formRef = ref<FormInstance>()
|
||||
const form = reactive({
|
||||
@@ -38,6 +38,7 @@ const rules: FormInstance['rules'] = {
|
||||
|
||||
const userStore = useUserStore()
|
||||
const tabsStore = useTabsStore()
|
||||
const appStore = useAppStore()
|
||||
const router = useRouter()
|
||||
const loading = ref(false)
|
||||
|
||||
@@ -58,6 +59,9 @@ const handleLogin = async () => {
|
||||
// 调用后端接口校验卡号
|
||||
await userStore.cardLogin(form)
|
||||
|
||||
// 登录成功后获取系统配置(根据登录账号显示不同的系统名称)
|
||||
await appStore.initSiteConfig()
|
||||
|
||||
// 登录成功后移除事件监听器
|
||||
if (keyDownListener) {
|
||||
document.removeEventListener('keydown', keyDownListener)
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
<a-tab-pane key="1" title="账号登录">
|
||||
<component :is="AccountLogin" v-if="activeTab === '1'" />
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="2" title="刷卡">
|
||||
<component :is="CardLogin" v-if="activeTab === '2'" />
|
||||
</a-tab-pane>
|
||||
<!-- <a-tab-pane key="2" title="刷卡">-->
|
||||
<!-- <component :is="CardLogin" v-if="activeTab === '2'" />-->
|
||||
<!-- </a-tab-pane>-->
|
||||
</a-tabs>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -51,7 +51,8 @@ defineOptions({ name: 'Login' })
|
||||
|
||||
const { isDesktop } = useDevice()
|
||||
const appStore = useAppStore()
|
||||
const title = computed(() => appStore.getTitle())
|
||||
// 登录页面显示固定的"称重系统"
|
||||
const title = '称重系统'
|
||||
const logo = computed(() => appStore.getLogo())
|
||||
|
||||
const isEmailLogin = ref(false)
|
||||
|
||||
@@ -20,7 +20,7 @@ import { type ColumnItem, GiForm } from '@/components/GiForm'
|
||||
import type { Gender, Status } from '@/types/global'
|
||||
import { GenderList } from '@/constant/common'
|
||||
import { useResetReactive } from '@/hooks'
|
||||
import { useDept, useRole } from '@/hooks/app'
|
||||
import {useDept, useDict, useRole} from '@/hooks/app'
|
||||
import { encryptByRsa } from '@/utils/encrypt'
|
||||
|
||||
const emit = defineEmits<{
|
||||
@@ -28,6 +28,7 @@ const emit = defineEmits<{
|
||||
}>()
|
||||
|
||||
const { width } = useWindowSize()
|
||||
const { data_source } = useDict('data_source')
|
||||
|
||||
const dataId = ref('')
|
||||
const visible = ref(false)
|
||||
@@ -102,6 +103,17 @@ const columns: ColumnItem[] = reactive([
|
||||
allowSearch: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '系统数据源',
|
||||
field: 'dataSource',
|
||||
type: 'select',
|
||||
span: 24,
|
||||
required: true,
|
||||
props: {
|
||||
options: data_source,
|
||||
allowClear: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '描述',
|
||||
field: 'description',
|
||||
|
||||
@@ -55,6 +55,9 @@
|
||||
<a-tag v-if="record.isSystem" color="red" size="small">是</a-tag>
|
||||
<a-tag v-else color="arcoblue" size="small">否</a-tag>
|
||||
</template>
|
||||
<template #dataSource="{ record }">
|
||||
<GiCellTag :value="record.dataSource" :dict="data_source" />
|
||||
</template>
|
||||
<template #action="{ record }">
|
||||
<a-space>
|
||||
<a-link v-permission="['system:user:update']" title="修改" @click="onUpdate(record)">修改</a-link>
|
||||
@@ -103,9 +106,12 @@ import { useDownload, useResetReactive, useTable } from '@/hooks'
|
||||
import { isMobile } from '@/utils'
|
||||
import has from '@/utils/has'
|
||||
import type {ColumnItem} from "@/components/GiForm";
|
||||
import {useDict} from "@/hooks/app";
|
||||
|
||||
defineOptions({ name: 'SystemUser' })
|
||||
|
||||
const { data_source } = useDict('data_source')
|
||||
|
||||
// 查询表单
|
||||
const [queryForm, resetForm] = useResetReactive({
|
||||
description: undefined,
|
||||
@@ -173,6 +179,7 @@ const columns: TableInstanceColumns[] = [
|
||||
{ title: '性别', dataIndex: 'gender', slotName: 'gender', align: 'center' },
|
||||
{ title: '角色', dataIndex: 'roleNames', slotName: 'roleNames', minWidth: 165 },
|
||||
{ title: '手机号', dataIndex: 'phone', minWidth: 170, ellipsis: true, tooltip: true },
|
||||
{ title: '系统数据源', dataIndex: 'dataSource', slotName: 'dataSource',minWidth: 170, ellipsis: true, tooltip: true },
|
||||
{ title: '系统内置', dataIndex: 'isSystem', slotName: 'isSystem', width: 100, align: 'center', show: false },
|
||||
{ title: '描述', dataIndex: 'description', minWidth: 130, ellipsis: true, tooltip: true },
|
||||
{ title: '创建人', dataIndex: 'createUserString', width: 140, ellipsis: true, tooltip: true, show: false },
|
||||
|
||||
Reference in New Issue
Block a user