Compare commits
No commits in common. "02213b2d060812470d34fc90ddc0b4b22ef101dc" and "339e41d5e25c92b62a86c2e071dd7c92f2e0e838" have entirely different histories.
02213b2d06
...
339e41d5e2
|
|
@ -1,73 +1,35 @@
|
||||||
import { timeFormat } from '@climblee/uv-ui/libs/function'
|
import { timeFormat } from '@climblee/uv-ui/libs/function'
|
||||||
export default {
|
export default {
|
||||||
//清洁任务
|
//清洁任务
|
||||||
task_hygienes: {
|
task_hygienes: [
|
||||||
data: [
|
// {
|
||||||
// {
|
// title: '申请人',
|
||||||
// title: '申请人',
|
// dataIndex: 'name',
|
||||||
// dataIndex: 'name',
|
// },
|
||||||
// },
|
{
|
||||||
{
|
title: '所属门店',
|
||||||
title: '所属门店',
|
dataIndex: 'taskable.store.title',
|
||||||
dataIndex: 'taskable.store.title',
|
// borderBottom: false,
|
||||||
// borderBottom: false,
|
// labelPosition: 'top'
|
||||||
// labelPosition: 'top'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '电话号码',
|
|
||||||
dataIndex: '',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '申请时间',
|
|
||||||
dataIndex: 'created_at',
|
|
||||||
format: timeFormat,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '清洁范围',
|
|
||||||
dataIndex: 'taskable.description',
|
|
||||||
labelPosition: 'top',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '清洁结果',
|
|
||||||
dataIndex: 'taskable.photos',
|
|
||||||
type: 'album',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
reimbursements: {
|
|
||||||
params: {
|
|
||||||
include: 'employee,store,type',
|
|
||||||
},
|
},
|
||||||
data: [
|
{
|
||||||
{
|
title: '电话号码',
|
||||||
title: '审核状态',
|
dataIndex: '',
|
||||||
dataIndex: 'workflow_check.check_status_text',
|
},
|
||||||
},
|
{
|
||||||
{
|
title: '申请时间',
|
||||||
title: '未通过理由',
|
dataIndex: 'created_at',
|
||||||
dataIndex: 'workflow_check.check_remarks',
|
format: timeFormat,
|
||||||
isShow: (item) => {
|
},
|
||||||
return item?.workflow_check?.check_status == 4
|
{
|
||||||
},
|
title: '清洁范围',
|
||||||
},
|
dataIndex: 'taskable.description',
|
||||||
{
|
labelPosition: 'top',
|
||||||
title: '报销分类',
|
},
|
||||||
dataIndex: 'type.name',
|
{
|
||||||
},
|
title: '清洁结果',
|
||||||
{
|
dataIndex: 'taskable.photos',
|
||||||
title: '报销金额',
|
type: 'album',
|
||||||
dataIndex: 'expense',
|
},
|
||||||
},
|
]
|
||||||
{
|
|
||||||
title: '报销原因',
|
|
||||||
dataIndex: 'reason',
|
|
||||||
labelPosition: 'top',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '报销凭证',
|
|
||||||
dataIndex: 'photos',
|
|
||||||
type: 'album',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -1,12 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<view>
|
<view>
|
||||||
<CuNavbar title="审核详情">
|
<CuNavbar title="任务详情">
|
||||||
<template #right>
|
<template #right>
|
||||||
<view
|
<view class="text-sm text-white" @click="goPath(`/pages/audits/log?id=${id}&type=${type}`)">审核流程</view>
|
||||||
class="text-sm text-white"
|
|
||||||
@click="goPath(`/pages/audits/log?id=${id}&type=${type}`)"
|
|
||||||
>审核流程</view
|
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</CuNavbar>
|
</CuNavbar>
|
||||||
<view class="px-base mt-30rpx">
|
<view class="px-base mt-30rpx">
|
||||||
|
|
@ -56,8 +52,7 @@ import BaseData from './base-data.vue'
|
||||||
import datajson from './data.data'
|
import datajson from './data.data'
|
||||||
|
|
||||||
const value = ref('')
|
const value = ref('')
|
||||||
const colums = computed(() => datajson[type.value].data ?? [])
|
const colums = computed(() => datajson[type.value] ?? [])
|
||||||
const params = computed(() => datajson[type.value].params ?? {})
|
|
||||||
const id = ref(null)
|
const id = ref(null)
|
||||||
const type = ref(null)
|
const type = ref(null)
|
||||||
const data = ref(null)
|
const data = ref(null)
|
||||||
|
|
@ -119,7 +114,6 @@ const getData = async () => {
|
||||||
const resData = await http.get(`/workflow/${id.value}`, {
|
const resData = await http.get(`/workflow/${id.value}`, {
|
||||||
params: {
|
params: {
|
||||||
subject_type: type.value,
|
subject_type: type.value,
|
||||||
...params.value,
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
data.value = resData.data
|
data.value = resData.data
|
||||||
|
|
@ -127,6 +121,7 @@ const getData = async () => {
|
||||||
console.log(resData)
|
console.log(resData)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const goPath = (url) => {
|
const goPath = (url) => {
|
||||||
uni.navigateTo({ url })
|
uni.navigateTo({ url })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ const tabList = ref([
|
||||||
{
|
{
|
||||||
name: '报销审核',
|
name: '报销审核',
|
||||||
apiUrl: '/workflow',
|
apiUrl: '/workflow',
|
||||||
params: { subject_type: 'reimbursements', include: 'employee,store,type' },
|
params: { subject_type: 'reimbursements' },
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,30 +11,6 @@
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
</CuNavbar>
|
</CuNavbar>
|
||||||
<view class="px-base mt-30rpx">
|
|
||||||
<view class="card-shadow bg-white rounded-19rpx p-base">
|
|
||||||
<view class="flex">
|
|
||||||
<view class="w-120rpx h-120rpx rounded-full overflow-hidden">
|
|
||||||
<image class="w-full h-full" :src="userInfo?.avatar"></image>
|
|
||||||
</view>
|
|
||||||
<view class="ml-20rpx">
|
|
||||||
<view class="text-28rpx font-medium flex items-center">
|
|
||||||
<view>{{ userInfo.name }}</view>
|
|
||||||
</view>
|
|
||||||
<view class="text-26rpx">{{ userInfo.phone }}</view>
|
|
||||||
<view class="flex">
|
|
||||||
<uv-tags
|
|
||||||
v-for="(item, i) in userInfo.jobs"
|
|
||||||
:key="i"
|
|
||||||
plain
|
|
||||||
size="mini"
|
|
||||||
:text="item.name"
|
|
||||||
></uv-tags>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="px-base space-y-15rpx mt-30rpx">
|
<view class="px-base space-y-15rpx mt-30rpx">
|
||||||
<view class="card" v-for="(item, i) in opList" :key="i">
|
<view class="card" v-for="(item, i) in opList" :key="i">
|
||||||
<TitleComp :title="item.title"></TitleComp>
|
<TitleComp :title="item.title"></TitleComp>
|
||||||
|
|
@ -51,15 +27,10 @@
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed } from 'vue'
|
|
||||||
import TitleComp from '@/components/title-comp/index'
|
import TitleComp from '@/components/title-comp/index'
|
||||||
import OpItem from './components/op-item.vue'
|
import OpItem from './components/op-item.vue'
|
||||||
import CuNavbar from '@/components/cu-navbar/index'
|
import CuNavbar from '@/components/cu-navbar/index'
|
||||||
import checkPermission from '@/utils/permission'
|
import checkPermission from '@/utils/permission'
|
||||||
import { useUserStore } from '@/store/modules/user'
|
|
||||||
const userStore = useUserStore()
|
|
||||||
|
|
||||||
const userInfo = computed(() => userStore.userInfo)
|
|
||||||
|
|
||||||
const opList = [
|
const opList = [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue