修改bug

main
unknown 2024-04-30 15:03:27 +08:00
parent d493730d19
commit d6ffa348cc
8 changed files with 69 additions and 40 deletions

View File

@ -1,3 +1,3 @@
VITE_COMMON_API_PREFIX = /api
VITE_COMMON_API_PREFIX = /api-base
VITE_COMMON_API_URL = http://store-manage.hmily.club/api

View File

@ -5,11 +5,8 @@ export default {
const userStore = useUserStoreWithOut()
if (userStore.isLogin) {
userStore.fetchUserInfo()
}else{
// uni.reLaunch({
// url: '/pages/login/index',
// })
}
console.log(userStore.isLogin);
// #ifdef APP-PLUS
if (userStore.isLogin) {
plus.navigator.closeSplashscreen()

View File

@ -49,7 +49,14 @@
},
/* ios */
"ios" : {
"dSYMs" : false
"dSYMs" : false,
"privacyDescription" : {
"NSPhotoLibraryUsageDescription" : "因相关功能涉及图片的读取与写入,请在设置中开启相册权限",
"NSPhotoLibraryAddUsageDescription" : "因相关功能涉及图片的读取与写入,请在设置中开启相册权限",
"NSCameraUsageDescription" : "因相关功能涉及照相,请在设置开启相机权限",
"NSLocationWhenInUseUsageDescription" : "用户能快速知道当前位置",
"NSLocationAlwaysAndWhenInUseUsageDescription" : "用户能快速知道当前位置"
}
},
/* SDK */
"sdkConfigs" : {

View File

@ -2,11 +2,13 @@
<view>
<CuNavbar title="提成数据" isBack></CuNavbar>
<MescrollItem :top="44" :i="0" apiUrl="/account/store-master-commissions">
<view class="space-y-20rpx px-base mt-20rpx">
<view v-for="(item, i) in list" :key="i">
<Item :data="item"></Item>
<template v-slot="{ list }">
<view class="space-y-20rpx px-base mt-20rpx">
<view v-for="(item, i) in list" :key="i">
<Item :data="item"></Item>
</view>
</view>
</view>
</template>
</MescrollItem>
</view>
</template>
@ -21,6 +23,4 @@ import MescrollItem from '@/components/mescroll-api/one'
import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
import useMescrollComp from '@/uni_modules/mescroll-uni/hooks/useMescrollComp.js'
const { mescrollItem } = useMescrollComp(onPageScroll, onReachBottom)
</script>

View File

@ -20,7 +20,7 @@
import CuNavbar from '@/components/cu-navbar/index.vue'
import BaseData from '@/pages/audits/base-data.vue'
import { ref } from 'vue'
import { onLoad } from '@dcloudio/uni-app'
import { onLoad ,onShow} from '@dcloudio/uni-app'
import { http } from '@/utils/request'
const modalRef = ref(null)
const actions = ref([
@ -112,6 +112,8 @@ const onDelete = () => {
onLoad((option) => {
id.value = option.id
})
onShow(()=>{
getDetail()
})

View File

@ -12,8 +12,14 @@
labelPosition="left"
>
<uv-form-item label="报销分类" required prop="reimbursement_type_id">
<view @click="openType" keyName="name" class="h-full w-full flex justify-end">
<view :class="{'text-gray': !type.name }">{{ type.name ?? '请选择' }}</view>
<view
@click="openType"
keyName="name"
class="h-full w-full flex justify-end"
>
<view :class="{ 'text-gray': !type.name }">{{
type.name ?? '请选择'
}}</view>
<uv-icon name="arrow-right"></uv-icon>
</view>
</uv-form-item>
@ -44,7 +50,9 @@
</uv-form-item>
<uv-line color="#f5f5f5"></uv-line>
<uv-form-item label="报销凭证" prop="photos" required>
<view class="text-right w-full text-hex-999">{{ form.photos.length }}/9</view>
<view class="text-right w-full text-hex-999"
>{{ form.photos.length }}/9</view
>
</uv-form-item>
<view class="w-full">
<uv-upload
@ -53,6 +61,7 @@
:fileList="form.photos"
@afterRead="afterRead"
@delete="deletePic"
@error="uploadError"
name="photos"
></uv-upload>
</view>
@ -112,7 +121,7 @@ const rules = reactive({
type: 'number',
min: 0,
message: '报销金额不能小于0',
}
},
],
reason: [{ required: true, message: '请输入报销原因' }],
photos: {
@ -125,14 +134,14 @@ const rules = reactive({
onLoad((e) => {
if (e.id) {
id.value = e.id
http.get(`reimbursements/${e.id}`).then(res => {
http.get(`reimbursements/${e.id}`).then((res) => {
type.value = res.type
form.reimbursement_type_id = res.reimbursement_type_id
form.expense = res.expense
form.reason = res.reason
if (res.photos && res.photos.length > 0) {
form.photos = res.photos.map(item => {
return {url: item}
form.photos = res.photos.map((item) => {
return { url: item }
})
}
})
@ -145,9 +154,12 @@ const handleBlurExpense = (e) => {
}
const submit = () => {
formRef.value.validate().then((res) => {
modalRef.value.open()
}).catch(error => {})
formRef.value
.validate()
.then((res) => {
modalRef.value.open()
})
.catch((error) => {})
}
const onSubmit = async () => {
if (loading.value) return
@ -237,4 +249,11 @@ const typeConfirm = ({ value }) => {
const openType = () => {
typeRef.value.open()
}
const uploadError = (err) => {
uni.showToast({
icon: 'none',
title: '权限未开启请前往设置给予APP相应权限',
})
}
</script>

View File

@ -16,7 +16,8 @@
name="chat"
></uv-icon>
</view>
<Swiper>
<swiper>
<swiper-item>
<view class="mt-60rpx">昨日累计金额</view>
<view class="mt-20rpx">截止{{ yesday_ledger.date }}</view>
@ -51,7 +52,7 @@
</view>
</view>
</swiper-item>
</Swiper>
</swiper>
</view>
<view>
<view class="h-80rpx leading-80rpx px-base">近30天趋势数据</view>
@ -82,7 +83,6 @@ import { timeFormat } from '@climblee/uv-ui/libs/function'
import StoreDown from './components/store-down.vue'
import { useUserStore } from '@/store/modules/user'
import checkPermission from '@/utils/permission'
import { Swiper } from '@dcloudio/uni-h5'
const userStore = useUserStore()
const opts = {
color: ['#ee2c37'],
@ -132,9 +132,9 @@ const detail = ref({
current_month_ledger:{}
})
const chartData = ref({})
const yesday_ledger = computed(() => detail.value.yesday_ledger)
const current_month_ledger = computed(() => detail.value.current_month_ledger)
const trends_of_30days = computed(() => detail.value.trends_of_30days)
const yesday_ledger = computed(() => detail.value.yesday_ledger || {})
const current_month_ledger = computed(() => detail.value.current_month_ledger || {})
const trends_of_30days = computed(() => detail.value.trends_of_30days || [])
const yesterday = computed(() => {
return timeFormat(Number(new Date()) - 1000 * 60 * 60 * 24)
@ -179,7 +179,6 @@ const getData = (e = {}) => {
if (!checkPermission(['admin'])) {
e.store_id = userStore?.userInfo?.store?.id
}
console.log(e.store_id)
http
.get('/statistics/dashboard', {
params: {

View File

@ -6,14 +6,6 @@
</template>
</CuNavbar>
<view class="card-shadow bg-white rounded-19rpx p-base">
<uv-form-item label="头像" prop="avatar">
<view class="flex justify-end w-full" @click="chooseAvatar">
<view class="w-90rpx h-90rpx overflow-hidden">
<image class="w-full h-full" :src="form.avatar"></image>
</view>
</view>
</uv-form-item>
<uv-line color="#f5f5f5"></uv-line>
<uv-form
labelWidth="150rpx"
:model="form"
@ -21,6 +13,14 @@
errorType="toast"
:rules="rules"
>
<uv-form-item label="头像" prop="avatar">
<view class="flex justify-end w-full" @click="chooseAvatar">
<view class="w-90rpx h-90rpx overflow-hidden rounded-full">
<image class="w-full h-full" :src="form.avatar"></image>
</view>
</view>
</uv-form-item>
<uv-line color="#f5f5f5"></uv-line>
<uv-form-item label="姓名" prop="name">
<uv-input
v-model="form.name"
@ -114,8 +114,13 @@ const chooseAvatar = () => {
uni.chooseImage({
count: 1,
success: async (res) => {
const data = await uploadFilePromise(res.tempFilePaths[0])
form.avatar = data
console.log(res)
try {
const data = await uploadFilePromise(res.tempFilePaths[0])
form.avatar = data
} catch (error) {
console.log(error)
}
},
})
}