| | |
| | | |
| | | // 用户头像上传 |
| | | export function uploadAvatar(data) { |
| | | return upload({ |
| | | return request({ |
| | | url: '/system/user/profile/avatar', |
| | | name: data.name, |
| | | filePath: data.filePath |
| | | method: 'post', |
| | | headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, |
| | | data: data |
| | | }) |
| | | } |
| | | // 查询用户列表 |
| | |
| | | <template> |
| | | <div class="splash-container"> |
| | | <span class="title">科技</span> |
| | | <span class="title1">便携生活</span> |
| | | <span class="title">科技 便捷生活</span> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background: #fff; |
| | | background: linear-gradient(180deg, #E6F3FF 0%, #FFFFFF 100%); |
| | | } |
| | | .splash-logo { |
| | | width: 180px; |
| | |
| | | } |
| | | .title { |
| | | font-weight: 400; |
| | | font-size: 60px; |
| | | font-size: 48px; |
| | | color: #000000; |
| | | } |
| | | .title1 { |
| | | font-weight: 400; |
| | | font-size: 40px; |
| | | color: #000000; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | title="请选择公司" |
| | | :options="factoryList" |
| | | valueKey="id" |
| | | style="width: 100%;" |
| | | labelKey="name"> |
| | | </up-picker-data> |
| | | </view> |
| | |
| | | import { getWxCode } from '@/utils/geek'; |
| | | import { wxLogin } from '@/api/oauth'; |
| | | import { setToken } from '@/utils/auth'; |
| | | import View from "@/pages/procurementManagement/procurementLedger/view.vue"; |
| | | const userStore = useUserStore() |
| | | const useWxLogin = ref(false); // 是否使用微信登录 |
| | | const rememberPassword = ref(false); // 记住密码 |
| | |
| | | </view> |
| | | |
| | | <!-- 列表区域 --> |
| | | <view class="ledger-list" v-if="total > 0"> |
| | | <view class="ledger-list" v-if="ledgerList.length > 0"> |
| | | <view v-for="(item, index) in ledgerList" :key="index"> |
| | | <view class="ledger-item"> |
| | | <view class="item-header"> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref, reactive, onMounted } from 'vue' |
| | | import {reactive, ref} from 'vue' |
| | | import dayjs from 'dayjs' |
| | | import PageHeader from '@/components/PageHeader.vue' |
| | | import useUserStore from '@/store/modules/user' |
| | | import {getToken} from '@/utils/auth' |
| | | import config from '@/config.js' |
| | | import { |
| | | commitFile, |
| | | delInvoiceLedgerByRegProductId, |
| | | registrationProductPage |
| | | } from '@/api/salesManagement/invoiceLedger.js' |
| | | import {onShow} from "@dcloudio/uni-app"; |
| | | |
| | | const showToast = (message) => { |
| | | uni.showToast({ |
| | | title: message, |
| | |
| | | const closeToast = () => { |
| | | uni.hideLoading() |
| | | } |
| | | import useUserStore from '@/store/modules/user' |
| | | import { getToken } from '@/utils/auth' |
| | | import config from '@/config.js' |
| | | import { |
| | | registrationProductPage, |
| | | commitFile, |
| | | delInvoiceLedgerByRegProductId |
| | | } from '@/api/salesManagement/invoiceLedger.js' |
| | | import {onShow} from "@dcloudio/uni-app"; |
| | | |
| | | const userStore = useUserStore() |
| | | |
| | | // 列表与查询 |
| | | const ledgerList = ref([]) |
| | | const total = ref(0) |
| | | const page = reactive({ current: -1, size: -1 }) |
| | | const searchForm = reactive({ |
| | | searchText: '', |
| | |
| | | const { invoiceDate, ...rest } = searchForm |
| | | const res = await registrationProductPage({ ...rest, ...page }) |
| | | // 兼容不同返回结构 |
| | | const records = res?.data?.records || res?.records || res?.data || [] |
| | | const totalVal = res?.data?.total || res?.total || records.length || 0 |
| | | ledgerList.value = records |
| | | total.value = totalVal |
| | | ledgerList.value = res?.data?.records || res?.records || res?.data || [] |
| | | closeToast() |
| | | } catch (e) { |
| | | closeToast() |
| | |
| | | import useUserStore from "@/store/modules/user"; |
| | | import PageHeader from "@/components/PageHeader.vue"; |
| | | const userStore = useUserStore() |
| | | const showLoadingToast = (message) => { |
| | | uni.showLoading({ |
| | | title: message, |
| | | mask: true |
| | | }) |
| | | } |
| | | const closeToast = () => { |
| | | uni.hideLoading() |
| | | } |
| | | |
| | | // 搜索关键词 |
| | | const searchKeyword = ref(''); |
| | |
| | | }; |
| | | // 查询列表 |
| | | const getList = () => { |
| | | showLoadingToast('加载中...') |
| | | const page = { |
| | | current: -1, |
| | | size: -1 |
| | |
| | | ledgerListPage({...page}).then((res) => { |
| | | ledgerList.value = res.records; |
| | | total.value = res.total; |
| | | closeToast() |
| | | }).catch(() => { |
| | | // tableLoading.value = false; |
| | | closeToast() |
| | | }); |
| | | }; |
| | | |
| | |
| | | <template> |
| | | <div class="splash-container"> |
| | | <span class="title">科技</span> |
| | | <span class="title1">便携生活</span> |
| | | <div class="title-container"> |
| | | <span class="title-large">科技</span> |
| | | <span class="title-small">便捷生活</span> |
| | | </div> |
| | | <span class="bottom-text">芯导云(管理信息系统)</span> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | // #ifndef H5 |
| | | uni.reLaunch({ url: '/pages/login' }) |
| | | // #endif |
| | | }, 2000) |
| | | }, 3500) |
| | | }) |
| | | </script> |
| | | |
| | |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background: #fff; |
| | | background: linear-gradient(135deg, rgba(0,117,255,0.3) 0%, #FFFFFF 60%); |
| | | overflow: hidden; |
| | | position: relative; |
| | | } |
| | | .title { |
| | | font-weight: 400; |
| | | |
| | | .title-container { |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | justify-content: center; |
| | | animation: fadeIn 1.5s ease-in-out; |
| | | } |
| | | |
| | | .title-large { |
| | | font-weight: 500; |
| | | font-size: 60px; |
| | | color: #000000; |
| | | display: block; |
| | | animation: slideUp 1s ease-out 0.2s both; |
| | | } |
| | | .title1 { |
| | | |
| | | .title-small { |
| | | font-weight: 400; |
| | | font-size: 40px; |
| | | color: #000000; |
| | | color: #333333; |
| | | display: block; |
| | | margin-left: 15px; |
| | | animation: slideUp 1s ease-out 0.5s both; |
| | | } |
| | | </style> |
| | | |
| | | /* 动画效果 */ |
| | | @keyframes fadeIn { |
| | | from { |
| | | opacity: 0; |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | } |
| | | } |
| | | |
| | | @keyframes slideUp { |
| | | from { |
| | | opacity: 0; |
| | | transform: translateY(30px); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | |
| | | /* 背景装饰效果 */ |
| | | .splash-container::before { |
| | | content: ''; |
| | | position: absolute; |
| | | top: -50%; |
| | | right: -50%; |
| | | width: 200%; |
| | | height: 200%; |
| | | background: radial-gradient(circle, rgba(0,117,255,0.1) 0%, transparent 70%); |
| | | animation: float 8s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes float { |
| | | 0%, 100% { |
| | | transform: translate(0, 0) rotate(0deg); |
| | | } |
| | | 50% { |
| | | transform: translate(-10%, -10%) rotate(5deg); |
| | | } |
| | | } |
| | | |
| | | /* 底部文字样式 */ |
| | | .bottom-text { |
| | | position: absolute; |
| | | bottom: 80px; |
| | | font-size: 24px; |
| | | color: #666666; |
| | | opacity: 0; |
| | | animation: fadeInUp 1s ease-out 1s both; |
| | | } |
| | | |
| | | @keyframes fadeInUp { |
| | | from { |
| | | opacity: 0; |
| | | transform: translateY(20px); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | transform: translateY(0); |
| | | } |
| | | } |
| | | </style> |
| | |
| | | uploadAvatar(data).then(response => { |
| | | // userStore.avatar = response.imgUrl |
| | | /*cloud*/ |
| | | useUserStore().avatar = baseUrl + response.imgUrl |
| | | useUserStore().avatar = baseUrl+ '/profile/' + response.imgUrl |
| | | uni.showToast({ title: "修改成功", icon: 'success' }) |
| | | uni.$emit('refresh'); |
| | | uni.navigateBack(); |