Merge branch 'main' of gitea.hmily.club:pdkj/store-manage-app into main
|
|
@ -10,14 +10,20 @@
|
|||
"usingComponents" : true,
|
||||
"nvueStyleCompiler" : "uni-app",
|
||||
"compilerVersion" : 3,
|
||||
"compatible" : {
|
||||
"ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
|
||||
},
|
||||
"splashscreen" : {
|
||||
"alwaysShowBeforeRender" : false,
|
||||
"waiting" : true,
|
||||
"autoclose" : false,
|
||||
"delay" : 0
|
||||
},
|
||||
},
|
||||
/* 模块配置 */
|
||||
"modules" : {},
|
||||
"modules" : {
|
||||
"VideoPlayer" : {},
|
||||
"Camera" : {}
|
||||
},
|
||||
/* 应用发布信息 */
|
||||
"distribute" : {
|
||||
/* android打包配置 */
|
||||
|
|
|
|||
|
|
@ -391,31 +391,31 @@
|
|||
"tabBar": {
|
||||
"color": "#333",
|
||||
"selectedColor": "#ff3c2a",
|
||||
"borderStyle": "black",
|
||||
"borderStyle": "#fff",
|
||||
"backgroundColor": "#ffffff",
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/home/index",
|
||||
"selectedIconPath": "static/images/home.png",
|
||||
"selectedIconPath": "static/images/home-a.png",
|
||||
"iconPath": "static/images/home.png",
|
||||
"text": "首页"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/revert/index",
|
||||
"selectedIconPath": "static/images/home.png",
|
||||
"iconPath": "static/images/home.png",
|
||||
"selectedIconPath": "static/images/update-a.png",
|
||||
"iconPath": "static/images/update.png",
|
||||
"text": "上报"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/statement/index",
|
||||
"selectedIconPath": "static/images/home.png",
|
||||
"iconPath": "static/images/home.png",
|
||||
"selectedIconPath": "static/images/table-a.png",
|
||||
"iconPath": "static/images/table.png",
|
||||
"text": "报表"
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/mine/index",
|
||||
"selectedIconPath": "static/images/home.png",
|
||||
"iconPath": "static/images/home.png",
|
||||
"selectedIconPath": "static/images/mine-a.png",
|
||||
"iconPath": "static/images/mine.png",
|
||||
"text": "我的"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
>
|
||||
<view class="flex-1" v-if="modelOptions.isValue">
|
||||
<view class="w-full">
|
||||
<uv-textarea v-model="value" placeholder="拒绝原因"></uv-textarea>
|
||||
<uv-textarea v-model="value" placeholder="请输入未通过原因"></uv-textarea>
|
||||
</view>
|
||||
</view>
|
||||
</uv-modal>
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ const form = reactive({
|
|||
images: []
|
||||
})
|
||||
const rules = reactive({
|
||||
name: [{ required: true, message: "请输入清洁范围" }],
|
||||
name: [{ required: true, message: "请输入合同名称" }],
|
||||
images: {
|
||||
type: "array",
|
||||
required: true,
|
||||
message: "请上传报销凭证"
|
||||
message: "请上传合同照片",
|
||||
}
|
||||
})
|
||||
onLoad(options => {
|
||||
|
|
@ -98,6 +98,7 @@ const onSubmit = async () => {
|
|||
title: "提交成功",
|
||||
icon: "none"
|
||||
})
|
||||
form.images = []
|
||||
formRef.value.resetFields()
|
||||
uni.$emit("task:submit")
|
||||
uni.navigateBack()
|
||||
|
|
|
|||
|
|
@ -75,7 +75,8 @@
|
|||
<uv-modal
|
||||
ref="modalRef"
|
||||
title="提示"
|
||||
:content="`是否确认提交?`"
|
||||
:content="`确认提交?`"
|
||||
:showCancelButton="true"
|
||||
@confirm="onSubmit"
|
||||
></uv-modal>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -36,32 +36,31 @@
|
|||
label="报销原因"
|
||||
required
|
||||
prop="reason"
|
||||
:borderBottom="true"
|
||||
labelPosition="top"
|
||||
>
|
||||
<uv-textarea
|
||||
:border="`none`"
|
||||
v-model="form.reason"
|
||||
placeholder="请输入报销原因"
|
||||
:customStyle="{ padding: '0' }"
|
||||
></uv-textarea>
|
||||
</uv-form-item>
|
||||
<uv-form-item
|
||||
label="报销凭证"
|
||||
labelPosition="top"
|
||||
prop="photos"
|
||||
required
|
||||
>
|
||||
<view class="w-full mt-15rpx">
|
||||
<uv-upload
|
||||
:maxCount="9"
|
||||
multiple
|
||||
:fileList="form.photos"
|
||||
@afterRead="afterRead"
|
||||
@delete="deletePic"
|
||||
name="photos"
|
||||
></uv-upload>
|
||||
</view>
|
||||
<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
|
||||
>
|
||||
</uv-form-item>
|
||||
<view class="w-full">
|
||||
<uv-upload
|
||||
:maxCount="9"
|
||||
multiple
|
||||
:fileList="form.photos"
|
||||
@afterRead="afterRead"
|
||||
@delete="deletePic"
|
||||
name="photos"
|
||||
></uv-upload>
|
||||
</view>
|
||||
</uv-form>
|
||||
</view>
|
||||
</view>
|
||||
|
|
@ -110,7 +109,21 @@ const rules = reactive({
|
|||
message: '请选择报销分类',
|
||||
},
|
||||
],
|
||||
expense: [{ required: true, message: '请输入报销金额' }],
|
||||
expense: [
|
||||
{ required: true, message: '请输入报销金额' },
|
||||
{
|
||||
required: true,
|
||||
type: 'number',
|
||||
min: 0.01,
|
||||
max: 22,
|
||||
message: '报销金额不能小于0.01',
|
||||
},{
|
||||
validator: (rule, value) => {
|
||||
return value > 0
|
||||
},
|
||||
message: '报销金额不能小于0',
|
||||
}
|
||||
],
|
||||
reason: [{ required: true, message: '请输入报销原因' }],
|
||||
photos: {
|
||||
type: 'array',
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ const props = defineProps({
|
|||
data: Array,
|
||||
})
|
||||
|
||||
const opts = ref({
|
||||
const opts = {
|
||||
color: ['#ee2c37'],
|
||||
dataLabel: false,
|
||||
dataPointShape: true,
|
||||
|
|
@ -20,10 +20,7 @@ const opts = ref({
|
|||
},
|
||||
|
||||
xAxis: {
|
||||
// disableGrid: true,
|
||||
|
||||
boundaryGap: 'justify',
|
||||
|
||||
format: 'ssss',
|
||||
},
|
||||
yAxis: {
|
||||
|
|
@ -43,22 +40,39 @@ const opts = ref({
|
|||
legendShow: false,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
const chartData = reactive({
|
||||
categories: [],
|
||||
series: [
|
||||
{
|
||||
name: '金额',
|
||||
data: [],
|
||||
},
|
||||
],
|
||||
})
|
||||
const chartData = reactive({})
|
||||
watch(
|
||||
() => props.data,
|
||||
(e) => {
|
||||
chartData.categories = e.map((el) => el.key)
|
||||
chartData.series[0].data = e.map((el) => el.value)
|
||||
const obj = {
|
||||
categories: e.map((el) => el.key),
|
||||
series: [
|
||||
{
|
||||
name: '金额',
|
||||
data: e.map((el) => el.value),
|
||||
},
|
||||
],
|
||||
}
|
||||
Object.assign(chartData, JSON.parse(JSON.stringify(obj)))
|
||||
|
||||
|
||||
// chartData = {
|
||||
// categories: e.map((el) => el.key),
|
||||
// series: [
|
||||
// {
|
||||
// name: '金额',
|
||||
// data: e.map((el) => el.value),
|
||||
// },
|
||||
// ],
|
||||
// }
|
||||
console.log(e)
|
||||
// chartData.categories= ['03月29日', '03月30日', '03月31日', '04月01日', '04月02日', '04月03日', '04月04日', '04月05日', '04月06日', '04月07日', '04月08日', '04月09日', '04月10日', '04月11日', '04月12日', '04月13日', '04月14日', '04月15日', '04月16日', '04月17日', '04月18日', '04月19日', '04月20日', '04月21日', '04月22日', '04月23日', '04月24日', '04月25日', '04月26日', '04月27日']
|
||||
// chartData.categories = e.map((el) => el.key)
|
||||
// console.log(e.map((el) => el.value));
|
||||
// chartData.series[0].data = e.map((el) => el.value)
|
||||
// chartData.series[0].data = ['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '2', '0', '0', '0', '0', '0', '0', '0', '1', '11', '112', '1', '0', '100', '20040']
|
||||
},
|
||||
{
|
||||
immediate: true,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,194 @@
|
|||
<template>
|
||||
<view>
|
||||
<view class="flex-center h-44px text-white">
|
||||
<view class="flex-center flex-1" @click="openRegions">
|
||||
<view class="max-w-190rpx line-clamp-1">{{ regionseText }}</view>
|
||||
<uv-icon
|
||||
color="white"
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
<view class="flex-center flex-1" @click="openStore">
|
||||
<view>{{ storeText }}</view>
|
||||
<uv-icon
|
||||
color="white"
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
</view>
|
||||
<uv-picker
|
||||
ref="regionsRef"
|
||||
:columns="addressList"
|
||||
@change="regionsChange"
|
||||
keyName="name"
|
||||
@confirm="regionsConfirm"
|
||||
>
|
||||
</uv-picker>
|
||||
|
||||
<uv-picker
|
||||
ref="storeRef"
|
||||
:columns="storeList"
|
||||
keyName="title"
|
||||
@confirm="storeConfirm"
|
||||
>
|
||||
</uv-picker>
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import { http } from '@/utils/request'
|
||||
import { onMounted, ref, reactive, computed, toRaw } from 'vue'
|
||||
import debounce from '@climblee/uv-ui/libs/function/debounce'
|
||||
|
||||
onMounted(() => {
|
||||
getData()
|
||||
getStoreData()
|
||||
})
|
||||
|
||||
const regionsRef = ref(null)
|
||||
const storeRef = ref(null)
|
||||
// 筛选结果
|
||||
const result = ref([])
|
||||
// 地区数据
|
||||
const regions = ref([])
|
||||
const provinces = ref([])
|
||||
const citys = ref([])
|
||||
const areas = ref([])
|
||||
const store = ref([])
|
||||
const addressList = computed(() => {
|
||||
return [provinces.value, citys.value]
|
||||
})
|
||||
const storeList = computed(() => {
|
||||
return [store.value]
|
||||
})
|
||||
const emit = defineEmits(['change'])
|
||||
|
||||
const regionseText = computed(() => {
|
||||
if (result.value.length == 0) {
|
||||
return '全部区域'
|
||||
} else {
|
||||
const province = result.value.find((item) => item.name == 'province_code')
|
||||
const city = result.value.find((item) => item.name == 'city_code')
|
||||
let text = province?.label
|
||||
if (city?.value) text += `/${city?.label}`
|
||||
return text
|
||||
}
|
||||
})
|
||||
|
||||
const storeText = computed(() => {
|
||||
if (result.value.length == 0) {
|
||||
return '全部门店'
|
||||
} else {
|
||||
const store = result.value.find((item) => item.name == 'store_id')
|
||||
return store?.label
|
||||
}
|
||||
})
|
||||
|
||||
const selectMenu = (e) => {
|
||||
e.forEach((item) => {
|
||||
const findIndex = result.value.findIndex((el) => el.name == item.name)
|
||||
if (findIndex >= 0) {
|
||||
result.value[findIndex] = item
|
||||
} else {
|
||||
result.value.push(item)
|
||||
}
|
||||
})
|
||||
|
||||
debounce(
|
||||
() => {
|
||||
emit('change', toRaw(result.value))
|
||||
},
|
||||
200,
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
const getData = async () => {
|
||||
http.get('/region').then((res) => {
|
||||
regions.value = res
|
||||
provinces.value = [{ name: '全部区域', code: null }].concat(res.province)
|
||||
citys.value = getCityByCode()
|
||||
regionsConfirm({
|
||||
value: [provinces.value[0], citys.value[0]],
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
const regionsConfirm = (e) => {
|
||||
const { value } = e
|
||||
const parmas = [
|
||||
{
|
||||
name: 'province_code',
|
||||
value: value[0].code,
|
||||
label: value[0].name,
|
||||
},
|
||||
{
|
||||
name: 'city_code',
|
||||
value: value[1].code,
|
||||
label: value[1].name,
|
||||
},
|
||||
]
|
||||
selectMenu(parmas)
|
||||
getStoreData()
|
||||
}
|
||||
|
||||
const getStoreData = () => {
|
||||
storeRef.value?.setIndexs([0], true)
|
||||
const params = {
|
||||
province_code: result.value.find((item) => item.name == 'province_code')
|
||||
?.value,
|
||||
city_code: result.value.find((item) => item.name == 'city_code')?.value,
|
||||
}
|
||||
http
|
||||
.get('/auth/stores', {
|
||||
// params: params,
|
||||
})
|
||||
.then((res) => {
|
||||
store.value = [{ title: '全部门店', id: 'all' }].concat(res)
|
||||
storeConfirm({ value: [store.value[0]] })
|
||||
})
|
||||
}
|
||||
|
||||
const openRegions = () => {
|
||||
regionsRef.value?.open()
|
||||
}
|
||||
|
||||
const openStore = () => {
|
||||
storeRef.value?.open()
|
||||
}
|
||||
|
||||
const regionsChange = (e) => {
|
||||
const { columnIndex, index, indexs } = e
|
||||
if (columnIndex === 0) {
|
||||
const { code } = provinces.value[index]
|
||||
citys.value = getCityByCode(code)
|
||||
regionsRef.value?.setIndexs([index, 0], true)
|
||||
}
|
||||
}
|
||||
|
||||
const getCityByCode = (code) => {
|
||||
const _citys = regions.value.city
|
||||
const _city = _citys[code]
|
||||
let arr = [{ name: '全部市', code: null }]
|
||||
if (_city == null) {
|
||||
arr = arr.concat(Object.values(_citys).flat())
|
||||
} else {
|
||||
arr = arr.concat(_city)
|
||||
}
|
||||
return arr
|
||||
}
|
||||
|
||||
const storeConfirm = (e) => {
|
||||
const parmas = [
|
||||
{
|
||||
name: 'store_id',
|
||||
value: e.value[0].id,
|
||||
label: e.value[0].title,
|
||||
},
|
||||
]
|
||||
selectMenu(parmas)
|
||||
}
|
||||
</script>
|
||||
|
|
@ -1,25 +1,25 @@
|
|||
<template>
|
||||
<view>
|
||||
<uv-sticky bgColor="#fff">
|
||||
<view class="flex-center h-44px">
|
||||
<view class="flex-center flex-1" @click="openCity">
|
||||
<view>{{ selected.area_text }}</view>
|
||||
<uv-icon
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
<view class="flex-center flex-1" @click="openStore">
|
||||
<view>{{ selected.store_text }}</view>
|
||||
<uv-icon
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
<view class="flex-center h-44px text-white">
|
||||
<view class="flex-center flex-1" @click="openCity">
|
||||
<view>{{ selected.area_text }}</view>
|
||||
<uv-icon
|
||||
color="white"
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
</uv-sticky>
|
||||
<view class="flex-center flex-1" @click="openStore">
|
||||
<view>{{ selected.store_text }}</view>
|
||||
<uv-icon
|
||||
color="white"
|
||||
class="ml-10rpx"
|
||||
size="20rpx"
|
||||
name="arrow-down-fill"
|
||||
></uv-icon>
|
||||
</view>
|
||||
</view>
|
||||
<uv-picker
|
||||
ref="cityRef"
|
||||
keyName="name"
|
||||
|
|
@ -65,18 +65,21 @@ export default {
|
|||
methods: {
|
||||
init() {
|
||||
this.cityLoading = true
|
||||
http.get('/region').then(res => {
|
||||
this.cityLoading = false
|
||||
this.cityData = res
|
||||
const firstProvince = this.cityData.province[0]
|
||||
this.cityList = [
|
||||
this.cityData.province,
|
||||
this.findCityByProvince(firstProvince.code)
|
||||
]
|
||||
this.findStoreList()
|
||||
}).catch(error => {
|
||||
this.cityLoading = false
|
||||
})
|
||||
http
|
||||
.get('/region')
|
||||
.then((res) => {
|
||||
this.cityLoading = false
|
||||
this.cityData = res
|
||||
const firstProvince = this.cityData.province[0]
|
||||
this.cityList = [
|
||||
this.cityData.province,
|
||||
this.findCityByProvince(firstProvince.code),
|
||||
]
|
||||
this.findStoreList()
|
||||
})
|
||||
.catch((error) => {
|
||||
this.cityLoading = false
|
||||
})
|
||||
},
|
||||
findStoreList() {
|
||||
const params = {}
|
||||
|
|
@ -87,13 +90,16 @@ export default {
|
|||
params.city_code = this.selected.city.code
|
||||
}
|
||||
this.storeLoading = true
|
||||
http.get('/auth/stores', { params }).then(res => {
|
||||
this.storeLoading = false
|
||||
res.unshift({title: '全部门店', id: 'all'})
|
||||
this.storeList = [res]
|
||||
}).catch(error => {
|
||||
this.storeLoading = false
|
||||
})
|
||||
http
|
||||
.get('/auth/stores', { params })
|
||||
.then((res) => {
|
||||
this.storeLoading = false
|
||||
res.unshift({ title: '全部门店', id: 'all' })
|
||||
this.storeList = [res]
|
||||
})
|
||||
.catch((error) => {
|
||||
this.storeLoading = false
|
||||
})
|
||||
},
|
||||
loadData() {
|
||||
console.log('加载数据....', this.selected)
|
||||
|
|
@ -123,10 +129,13 @@ export default {
|
|||
}
|
||||
},
|
||||
cityChange(e) {
|
||||
const { columnIndex , index} = e
|
||||
const { columnIndex, index } = e
|
||||
if (columnIndex == 0) {
|
||||
const province = this.cityData.province[index]
|
||||
this.$refs.cityRef.setColumnValues(1, this.findCityByProvince(province.code))
|
||||
this.$refs.cityRef.setColumnValues(
|
||||
1,
|
||||
this.findCityByProvince(province.code)
|
||||
)
|
||||
}
|
||||
},
|
||||
openStore() {
|
||||
|
|
@ -149,10 +158,10 @@ export default {
|
|||
findCityByProvince(provinceCode) {
|
||||
const cityList = this.cityData.city[provinceCode]
|
||||
if (cityList.length > 1 && cityList[0].code != 'all') {
|
||||
cityList.unshift({name: '全部', code: 'all'})
|
||||
cityList.unshift({ name: '全部', code: 'all' })
|
||||
}
|
||||
return cityList
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -3,13 +3,19 @@
|
|||
<CuNavbar :isBack="false" title="首页">
|
||||
<template #center>
|
||||
<view class="w-full">
|
||||
<StoreDown></StoreDown>
|
||||
<!-- <StoreDropDown></StoreDropDown> -->
|
||||
</view>
|
||||
</template>
|
||||
</CuNavbar>
|
||||
<view class="bg-primary p-base text-center text-white relative">
|
||||
<view class="absolute top-20rpx right-20rpx">
|
||||
<uv-icon @click="goPath('/pages/message/index')" color="#fff" size="48rpx" name="chat"></uv-icon>
|
||||
<uv-icon
|
||||
@click="goPath('/pages/message/index')"
|
||||
color="#fff"
|
||||
size="48rpx"
|
||||
name="chat"
|
||||
></uv-icon>
|
||||
</view>
|
||||
<view class="mt-60rpx">昨日累计金额</view>
|
||||
<view class="mt-20rpx">截止{{ yesterday }}</view>
|
||||
|
|
@ -40,7 +46,8 @@
|
|||
:scrollable="false"
|
||||
></uv-tabs>
|
||||
|
||||
<ChartComp :data="countData"></ChartComp>
|
||||
<!-- <ChartComp :data="countData"></ChartComp> -->
|
||||
<qiun-data-charts type="area" :opts="opts" :chartData="chartData" />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
|
@ -52,6 +59,39 @@ import StoreDropDown from '@/pages/home/components/store-drop-down/index.vue'
|
|||
import { http } from '@/utils/request'
|
||||
import { onShow } from '@dcloudio/uni-app'
|
||||
import { timeFormat } from '@climblee/uv-ui/libs/function'
|
||||
import StoreDown from './components/store-down.vue'
|
||||
const opts = {
|
||||
color: ['#ee2c37'],
|
||||
dataLabel: false,
|
||||
dataPointShape: true,
|
||||
enableScroll: false,
|
||||
legend: {
|
||||
show: false,
|
||||
},
|
||||
|
||||
xAxis: {
|
||||
boundaryGap: 'justify',
|
||||
format: 'ssss',
|
||||
},
|
||||
yAxis: {
|
||||
gridType: 'dash',
|
||||
dashLength: 2,
|
||||
},
|
||||
extra: {
|
||||
area: {
|
||||
type: 'curve',
|
||||
opacity: 0.2,
|
||||
addLine: true,
|
||||
width: 2,
|
||||
gradient: true,
|
||||
activeType: 'hollow',
|
||||
},
|
||||
tooltip: {
|
||||
legendShow: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
const list = ref([
|
||||
{
|
||||
name: '销售金额',
|
||||
|
|
@ -69,6 +109,7 @@ const detail = ref({
|
|||
expenditure: 0,
|
||||
},
|
||||
})
|
||||
const chartData = ref({})
|
||||
const yesday_ledger = computed(() => detail.value.yesday_ledger)
|
||||
const trends_of_30days = computed(() => detail.value.trends_of_30days)
|
||||
|
||||
|
|
@ -76,7 +117,15 @@ const yesterday = computed(() => {
|
|||
return timeFormat(Number(new Date()) - 1000 * 60 * 60 * 24)
|
||||
})
|
||||
const tabObj = computed(() => list.value[tabIndex.value])
|
||||
const countData = computed(() => {
|
||||
|
||||
|
||||
const onTabClick = (e) => {
|
||||
tabIndex.value = e.index
|
||||
updateData()
|
||||
}
|
||||
|
||||
const updateData = () => {
|
||||
|
||||
const arr =
|
||||
trends_of_30days?.value?.reduce((p, c) => {
|
||||
p.push({
|
||||
|
|
@ -85,12 +134,16 @@ const countData = computed(() => {
|
|||
})
|
||||
return p
|
||||
}, []) ?? []
|
||||
return arr
|
||||
})
|
||||
|
||||
const onTabClick = (e) => {
|
||||
console.log(e)
|
||||
tabIndex.value = e.index
|
||||
chartData.value = {
|
||||
categories: arr.map((el) => el.key),
|
||||
series: [
|
||||
{
|
||||
name: '金额',
|
||||
data: arr.map((el) => el.value),
|
||||
},
|
||||
],
|
||||
}
|
||||
// countData.value = arr
|
||||
}
|
||||
|
||||
onShow(() => {
|
||||
|
|
@ -106,6 +159,7 @@ const getData = () => {
|
|||
})
|
||||
.then((res) => {
|
||||
detail.value = res
|
||||
updateData()
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<view class="">
|
||||
<uv-form>
|
||||
<uv-form-item>
|
||||
<uv-form :model="form" ref="formRef" errorType="toast" :rules="rules">
|
||||
<uv-form-item prop="username">
|
||||
<view class="h-92rpx bg-white rounded-full w-full flex-center">
|
||||
<uv-input
|
||||
v-model="form.username"
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
</view>
|
||||
</uv-form-item>
|
||||
|
||||
<uv-form-item>
|
||||
<uv-form-item prop="password">
|
||||
<view class="h-92rpx bg-white rounded-full w-full flex-center">
|
||||
<uv-input
|
||||
v-model="form.password"
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
</uv-form-item>
|
||||
</uv-form>
|
||||
<view class="mt-115rpx">
|
||||
<uv-button block type="primary" shape="circle" @click="handleClick"
|
||||
<uv-button block type="primary" shape="circle" @click="onValidate"
|
||||
>登录</uv-button
|
||||
>
|
||||
</view>
|
||||
|
|
@ -48,8 +48,32 @@ const form = ref({
|
|||
password: '',
|
||||
})
|
||||
|
||||
const handleClick = async () => {
|
||||
const rules = computed(() => {
|
||||
return {
|
||||
username: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入帐号',
|
||||
},
|
||||
],
|
||||
password: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入密码',
|
||||
},
|
||||
],
|
||||
}
|
||||
})
|
||||
|
||||
const formRef = ref(null)
|
||||
|
||||
const onValidate = () => {
|
||||
formRef.value.validate().then(() => {
|
||||
handleClick()
|
||||
})
|
||||
}
|
||||
|
||||
const handleClick = async () => {
|
||||
try {
|
||||
const { username, password } = form.value
|
||||
await userStore.login({
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<view class="flex-center flex-col" @click="onClick">
|
||||
<uv-icon :name="data.icon" size="38" color="#909399"></uv-icon>
|
||||
<uv-icon :name="data.icon" size="50rpx" color="#909399"></uv-icon>
|
||||
<view class="text-28rpx mt-10rpx">{{ data.title }}</view>
|
||||
</view>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -57,6 +57,19 @@ import OpItem from './components/op-item.vue'
|
|||
import CuNavbar from '@/components/cu-navbar/index'
|
||||
import checkPermission from '@/utils/permission'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import performanceIcon from '@/static/images/performance.svg'
|
||||
import brokerageIcon from '@/static/images/brokerage.svg'
|
||||
import userIcon from '@/static/images/user.svg'
|
||||
import taskIcon from '@/static/images/task.svg'
|
||||
import expenseIcon from '@/static/images/expense.svg'
|
||||
import workIcon from '@/static/images/work.svg'
|
||||
import makeIcon from '@/static/images/make.svg'
|
||||
import leaveIcon from '@/static/images/leave.svg'
|
||||
import businessIcon from '@/static/images/business.svg'
|
||||
import overtimeIcon from '@/static/images/overtime.svg'
|
||||
import contractIcon from '@/static/images/contract.svg'
|
||||
import booksIcon from '@/static/images/books.svg'
|
||||
import examinationIcon from '@/static/images/examination.svg'
|
||||
const userStore = useUserStore()
|
||||
|
||||
const userInfo = computed(() => userStore.userInfo)
|
||||
|
|
@ -66,12 +79,12 @@ const opList = [
|
|||
title: '门店数据',
|
||||
children: [
|
||||
{
|
||||
icon: 'order',
|
||||
icon: performanceIcon,
|
||||
title: '业绩数据',
|
||||
url: '/pages/data/performance/index',
|
||||
},
|
||||
{
|
||||
icon: 'folder',
|
||||
icon: brokerageIcon,
|
||||
title: '提成数据',
|
||||
url: '/pages/data/brokerage/index',
|
||||
rouls: ['store'],
|
||||
|
|
@ -82,48 +95,48 @@ const opList = [
|
|||
title: '办公管理',
|
||||
children: [
|
||||
{
|
||||
icon: 'photo-fill',
|
||||
icon: userIcon,
|
||||
title: '员工管理',
|
||||
url: '/pages/user/index',
|
||||
rouls: ['store', 'admin', 'store_user'],
|
||||
},
|
||||
{
|
||||
icon: 'lock',
|
||||
icon: taskIcon,
|
||||
title: '我的任务',
|
||||
url: '/pages/task/index',
|
||||
},
|
||||
{
|
||||
icon: 'home-fill',
|
||||
icon: expenseIcon,
|
||||
title: '报销管理',
|
||||
url: '/pages/expense-account/index',
|
||||
},
|
||||
{
|
||||
icon: 'map-fill',
|
||||
icon: workIcon,
|
||||
title: '升职申请',
|
||||
url: '/pages/work/list',
|
||||
},
|
||||
{
|
||||
icon: 'grid-fill',
|
||||
icon: makeIcon,
|
||||
title: '补卡申请',
|
||||
url: '/pages/make-card/list',
|
||||
},
|
||||
{
|
||||
icon: 'car',
|
||||
icon: leaveIcon,
|
||||
title: '请假申请',
|
||||
url: '/pages/ask-leave/list',
|
||||
},
|
||||
{
|
||||
icon: 'setting-fill',
|
||||
icon: businessIcon,
|
||||
title: '出差报备',
|
||||
url: '/pages/business/list',
|
||||
},
|
||||
{
|
||||
icon: 'server-man',
|
||||
icon: overtimeIcon,
|
||||
title: '加班报备',
|
||||
url: '/pages/overtime/list',
|
||||
},
|
||||
{
|
||||
icon: 'camera',
|
||||
icon: contractIcon,
|
||||
title: '合同管理',
|
||||
url: '/pages/contract/list',
|
||||
},
|
||||
|
|
@ -133,12 +146,12 @@ const opList = [
|
|||
title: '天天向上',
|
||||
children: [
|
||||
{
|
||||
icon: 'account',
|
||||
icon: booksIcon,
|
||||
title: '培训课件',
|
||||
url: '/pages/train-books/index',
|
||||
},
|
||||
{
|
||||
icon: 'twitte',
|
||||
icon: examinationIcon,
|
||||
title: '培训考试',
|
||||
url: '/pages/examination/index',
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<uv-form-item label="投诉内容" prop="content">
|
||||
<uv-textarea
|
||||
maxlength="200"
|
||||
:customStyle="{ padding: 0 ,minHeight: '200rpx'}"
|
||||
:customStyle="{ padding: 0, minHeight: '200rpx' }"
|
||||
count
|
||||
placeholder="可描述具体投诉内容,至少20字"
|
||||
:border="`none`"
|
||||
|
|
@ -28,7 +28,9 @@
|
|||
<view class="w-full">
|
||||
<view class="flex justify-between text-15px">
|
||||
<view>证明材料(选填)</view>
|
||||
<view class="text-hex-999999 text-12px pr-9px">{{form.photos.length}}/9</view>
|
||||
<view class="text-hex-999999 text-12px pr-9px"
|
||||
>{{ form.photos.length }}/9</view
|
||||
>
|
||||
</view>
|
||||
<view class="mt-10rpx">
|
||||
<uv-upload
|
||||
|
|
@ -65,7 +67,6 @@ import { ref, reactive } from 'vue'
|
|||
import { http } from '@/utils/request'
|
||||
const modalRef = ref(null)
|
||||
const formRef = ref(null)
|
||||
const fileList = ref([])
|
||||
const form = reactive({
|
||||
content: '',
|
||||
photos: [],
|
||||
|
|
@ -96,19 +97,29 @@ const afterRead = async (event) => {
|
|||
})
|
||||
})
|
||||
for (let i = 0; i < lists.length; i++) {
|
||||
// console.log(lists[i]);
|
||||
const result = await uploadFilePromise(lists[i].url)
|
||||
let item = form[event.name][fileListLen]
|
||||
form[event.name].splice(
|
||||
fileListLen,
|
||||
1,
|
||||
Object.assign(item, {
|
||||
status: 'success',
|
||||
message: '',
|
||||
url: result,
|
||||
})
|
||||
)
|
||||
fileListLen++
|
||||
try {
|
||||
const result = await uploadFilePromise(lists[i].url)
|
||||
|
||||
form[event.name].splice(
|
||||
fileListLen,
|
||||
1,
|
||||
Object.assign(item, {
|
||||
status: 'success',
|
||||
message: '',
|
||||
url: result,
|
||||
})
|
||||
)
|
||||
fileListLen++
|
||||
} catch (error) {
|
||||
form[event.name].splice(
|
||||
fileListLen,
|
||||
1,
|
||||
Object.assign(item, {
|
||||
status: 'failed',
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
const deletePic = (event) => {
|
||||
|
|
@ -136,7 +147,7 @@ const onSubmit = () => {
|
|||
.post('/complaints', {
|
||||
content: form.content,
|
||||
photos: form.photos.map((item) => item.url),
|
||||
anonymous: true
|
||||
anonymous: true,
|
||||
})
|
||||
.then((ress) => {
|
||||
uni.showToast({
|
||||
|
|
@ -144,6 +155,7 @@ const onSubmit = () => {
|
|||
duration: 2000,
|
||||
icon: 'none',
|
||||
})
|
||||
form.photos = []
|
||||
formRef.value.resetFields()
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
ref="modalRef"
|
||||
title="提示"
|
||||
content="确定退出?"
|
||||
:showCancelButton="true"
|
||||
@confirm="logout"
|
||||
></uv-modal>
|
||||
</view>
|
||||
|
|
|
|||
|
|
@ -22,17 +22,17 @@
|
|||
input-align="right"
|
||||
type="password"
|
||||
v-model="form.password"
|
||||
placeholder="请输入新登录密码"
|
||||
placeholder="请输入密码"
|
||||
></uv-input>
|
||||
</uv-form-item>
|
||||
<uv-line color="#f5f5f5"></uv-line>
|
||||
<uv-form-item label="新登录密码" prop="password2">
|
||||
<uv-form-item label="确认密码" prop="password2">
|
||||
<uv-input
|
||||
border="none"
|
||||
v-model="form.password2"
|
||||
input-align="right"
|
||||
type="password"
|
||||
placeholder="请输入新登录密码"
|
||||
placeholder="请输入密码"
|
||||
></uv-input>
|
||||
</uv-form-item>
|
||||
</uv-form>
|
||||
|
|
@ -64,7 +64,7 @@ const form = reactive({
|
|||
const rules = reactive({
|
||||
password: [{ required: true, message: '请输入新登录密码' }],
|
||||
password2: [
|
||||
{ required: true, message: '请输入新登录密码' },
|
||||
{ required: true, message: '请再次输入新登录密码' },
|
||||
{
|
||||
validator: (rule, value) => {
|
||||
return value === form.password
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ onLoad((options) => {
|
|||
})
|
||||
|
||||
const downloadFile = (url) => {
|
||||
// #ifdef H5
|
||||
uni.downloadFile({
|
||||
url: url, // 文件的URL
|
||||
success: function (res) {
|
||||
|
|
@ -73,6 +74,26 @@ const downloadFile = (url) => {
|
|||
// 在这里可以处理文件下载失败的情况,比如重新下载、提示用户等
|
||||
},
|
||||
})
|
||||
// #endif
|
||||
// #ifdef APP-PLUS
|
||||
let dtask = plus.downloader.createDownload(
|
||||
url,
|
||||
{
|
||||
filename: 'file://storage/emulated/0/Download/',
|
||||
},
|
||||
(d, status) => {
|
||||
if (status == 200) {
|
||||
let fileSaveUrl = plus.io.convertLocalFileSystemURL(d.filename)
|
||||
this.$u.toast('文件下载成功')
|
||||
} else {
|
||||
//下载失败
|
||||
this.$u.toast('下载失败')
|
||||
plus.downloader.clear() //清除下载任务
|
||||
}
|
||||
}
|
||||
)
|
||||
dtask.start()
|
||||
// #endif
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
|
|
|
|||
|
|
@ -65,13 +65,13 @@
|
|||
<uv-line color="#f5f5f5"></uv-line>
|
||||
<uv-form-item
|
||||
:required="isEdit"
|
||||
@click="openDatePicker"
|
||||
label="首次参加工作时间"
|
||||
prop="first_work_time"
|
||||
>
|
||||
<uv-input
|
||||
placeholder="请选择日期"
|
||||
:required="isEdit"
|
||||
@click="openDatePicker"
|
||||
inputAlign="right"
|
||||
:border="`none`"
|
||||
v-model="form.first_work_time"
|
||||
|
|
@ -111,6 +111,7 @@
|
|||
>
|
||||
<uv-textarea
|
||||
v-model="form.comment_self"
|
||||
:customStyle="{ padding: '0' }"
|
||||
count
|
||||
placeholder="请输入员工自评"
|
||||
:border="`none`"
|
||||
|
|
@ -125,6 +126,7 @@
|
|||
labelPosition="top"
|
||||
>
|
||||
<uv-textarea
|
||||
:customStyle="{ padding: '0' }"
|
||||
v-model="form.plans"
|
||||
count
|
||||
placeholder="请输入未来计划"
|
||||
|
|
@ -141,6 +143,7 @@
|
|||
labelPosition="top"
|
||||
>
|
||||
<uv-textarea
|
||||
:customStyle="{ padding: '0' }"
|
||||
v-model="form.reason"
|
||||
count
|
||||
placeholder="请输入推荐理由"
|
||||
|
|
@ -165,7 +168,6 @@
|
|||
@confirm="confirmPicker"
|
||||
></uv-picker>
|
||||
<uv-datetime-picker
|
||||
:minDate="50"
|
||||
placeholder="请选择日期"
|
||||
ref="datetimePicker"
|
||||
mode="year-month"
|
||||
|
|
@ -245,7 +247,7 @@ const rules = reactive({
|
|||
sex: [{ required: true, message: '请选择性别' }],
|
||||
education: [{ required: true, message: '请输入学历' }],
|
||||
first_work_time: [{ required: true, message: '请输入首次参加工作时间' }],
|
||||
work_years: [{ required: true, message: '请输入清洁范围' }],
|
||||
work_years: [{ required: true, message: '请输入工作年限' }],
|
||||
work_years_in_company: [{ required: true, message: '请输入本公司工作年限' }],
|
||||
comment_self: [{ required: true, message: '请输入员工自评' }],
|
||||
plans: [{ required: true, message: '请输入未来计划' }],
|
||||
|
|
@ -269,7 +271,7 @@ const onSubmit = async () => {
|
|||
const params = {
|
||||
...form,
|
||||
}
|
||||
|
||||
|
||||
const resData = await http.request({
|
||||
url: `/hr/promotion/${props.id}`,
|
||||
method: 'POST',
|
||||
|
|
@ -302,7 +304,7 @@ const open = () => {
|
|||
|
||||
const select = (e) => {
|
||||
const { value } = e
|
||||
if(value === 'submit') {
|
||||
if (value === 'submit') {
|
||||
uni.navigateTo({
|
||||
url: `/pages/work/create?id=${props.id}`,
|
||||
})
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714237339201" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23127" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M768.1 773.8v51.9c0 3.3-2.7 6-6 6h-116c-3.3 0-6-2.7-6-6v-51.9c0-3.3 2.7-6 6-6H698c3.3 0 6-2.7 6-6V582c0-3.3-2.7-6-6-6H518.3c-3.3 0-6 2.7-6 6v179.8c0 3.3 2.7 6 6 6h51.8c3.3 0 6 2.7 6 6v51.9c0 3.3-2.7 6-6 6h-116c-3.3 0-6-2.7-6-6v-52c0-3.3-2.7-6-6-6H262.2c-3.3 0-6 2.7-6 6v179.9c0 3.3 2.7 6 6 6h179.9c3.3 0 6-2.7 6-6v-51.9c0-3.3 2.7-6 6-6h308.1c3.3 0 6 2.7 6 6v51.9c0 3.3 2.7 6 6 6h180c3.3 0 6-2.7 6-6V773.8c0-3.3-2.7-6-6-6h-180c-3.4 0-6.1 2.7-6.1 6z m-390 121.8h-51.9c-3.3 0-6-2.7-6-6v-51.9c0-3.3 2.7-6 6-6h51.9c3.3 0 6 2.7 6 6v51.9c0 3.3-2.7 6-6 6zM634 703.8h-51.8c-3.3 0-6-2.7-6-6V646c0-3.3 2.7-6 6-6H634c3.3 0 6 2.7 6 6v51.8c0 3.3-2.6 6-6 6z m256.2 191.8h-52c-3.3 0-6-2.7-6-6v-51.8c0-3.3 2.7-6 6-6h52c3.3 0 6 2.7 6 6v51.8c0 3.3-2.7 6-6 6z" p-id="23128" fill="#515151"></path><path d="M134 127.9h436.1c3.3 0 6 2.7 6 6v180c0 3.3 2.7 6 6 6h180.2c3.3 0 6 2.7 6 6l-0.1 180.1c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6l-0.9-244.8c0-3.3-2.7-6-6-6h-56.9v0.6h-0.2v-58c0-3.3-2.7-6-6-6h-52c-3.3 0-6-2.7-6-6v-52c0-3.3-2.7-6-6-6h-52c-3.3 0-6-2.7-6-6v-52c0-3.3-2.7-6-6-6H76c-6.6 0-12 5.4-12 12v871.6c0 6.6 5.4 12 12 12h109.9c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6H134c-3.3 0-6-2.7-6-6V133.9c0-3.3 2.7-6 6-6z" p-id="23129" fill="#515151"></path><path d="M330.7 416c0-31-22.5-60.7-64.5-60.7h-68.8c-3.3 0-6 2.7-6 6v176.9c0 3.3 2.7 6 6 6h34.4c3.3 0 6-2.7 6-6v-55.4c0-3.3 2.7-6 6-6h22.4c42 0 64.5-29.8 64.5-60.8z m-92.8 13.1v-26.2c0-3.3 2.7-6 6-6h20.3c12.7 0 20.2 9.3 20.2 19.1s-7.4 19.1-20.2 19.1h-20.3c-3.3 0-6-2.7-6-6zM357.8 361.3v176.9c0 3.3 2.7 6 6 6h34.4c3.3 0 6-2.7 6-6v-55.4c0-3.3 2.7-6 6-6h22.4c41.9 0 64.5-29.7 64.5-60.7 0-31-22.5-60.7-64.5-60.7h-68.8c-3.3-0.1-6 2.6-6 5.9z m92.8 54.7c0 9.8-7.4 19.1-20.2 19.1h-20.3c-3.3 0-6-2.7-6-6v-26.2c0-3.3 2.7-6 6-6h20.3c12.8 0 20.2 9.3 20.2 19.1zM605.8 538.1V402.7c0-3.3 2.7-6 6-6h34.4c3.3 0 6-2.7 6-6v-29.4c0-3.3-2.7-6-6-6H519c-3.3 0-6 2.7-6 6v29.4c0 3.3 2.7 6 6 6h34.4c3.3 0 6 2.7 6 6v135.5c0 3.3 2.7 6 6 6h34.4c3.3-0.1 6-2.8 6-6.1z" p-id="23130" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236333871" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6565" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M224.9 611.7l-28.5-55.5 208.4-215.4 176.8 156.9 174-206.4 30.9 52.7-200.9 238.3-178.7-158.8z" p-id="6566" fill="#515151"></path><path d="M617.2 275.8l215.1-24.3-28.7 222.2" p-id="6567" fill="#515151"></path><path d="M897.2 148.2c5.4 0 10 4.6 10 10v710c0 5.4-4.6 10-10 10H126.8c-5.4 0-10-4.6-10-10v-710c0-5.4 4.6-10 10-10h770.4m0-50H126.8c-33 0-60 27-60 60v710c0 33 27 60 60 60h770.4c33 0 60-27 60-60v-710c0-33-27-60-60-60z" p-id="6568" fill="#515151"></path><path d="M192 693h640.3v60H192z" p-id="6569" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 864 B |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236977245" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19660" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M850.261333 675.157333a17.066667 17.066667 0 0 0-17.066666 17.066667v97.792a5.973333 5.973333 0 0 1-5.973334 5.802667H269.482667v-17.066667a17.066667 17.066667 0 1 0-35.157334 0v17.066667H120.490667l25.770666-34.133334a17.066667 17.066667 0 0 0 0-21.162666l-38.912-51.2 38.912-51.2a17.066667 17.066667 0 0 0 0-20.992L107.349333 563.2l38.912-51.2a17.066667 17.066667 0 0 0 0-20.992l-25.770666-34.133333h113.834666v17.066666a17.066667 17.066667 0 1 0 35.157334 0v-17.066666h158.890666a17.066667 17.066667 0 0 0 17.066667-17.066667 17.066667 17.066667 0 0 0-17.066667-17.066667H192.682667l15.36-72.192 290.133333 61.610667a17.066667 17.066667 0 0 0 7.338667-34.133333l-295.253334-62.805334a29.354667 29.354667 0 0 0-34.133333 22.528l-18.090667 85.333334H85.333333a17.066667 17.066667 0 0 0-15.701333 9.728 17.066667 17.066667 0 0 0 1.706667 18.432l38.912 51.2-38.912 51.2a17.066667 17.066667 0 0 0 0 21.162666l38.912 51.541334-38.912 51.2a17.066667 17.066667 0 0 0 0 21.162666L110.250667 750.933333l-38.912 51.2a17.066667 17.066667 0 0 0-1.706667 18.261334 17.066667 17.066667 0 0 0 15.701333 9.898666h741.376a41.130667 41.130667 0 0 0 41.130667-41.130666v-96.426667a17.066667 17.066667 0 0 0-17.578667-17.578667z" fill="#515151" p-id="19661"></path><path d="M251.904 639.146667a17.066667 17.066667 0 0 0-17.066667 17.066666v61.098667a17.066667 17.066667 0 0 0 35.157334 0v-60.586667a17.066667 17.066667 0 0 0-18.090667-17.578666zM269.482667 534.698667a17.066667 17.066667 0 0 0-35.157334 0v61.098666a17.066667 17.066667 0 0 0 35.157334 0zM367.274667 547.669333h72.362666a17.066667 17.066667 0 0 0 0-35.157333h-72.362666a17.066667 17.066667 0 1 0 0 35.157333zM613.205333 654.677333a17.066667 17.066667 0 0 0-17.066666-17.066666H367.274667a17.066667 17.066667 0 1 0 0 35.157333H595.626667a17.066667 17.066667 0 0 0 17.578666-18.090667zM367.274667 704.853333a17.066667 17.066667 0 1 0 0 35.157334h170.666666a17.066667 17.066667 0 0 0 0-35.157334zM955.733333 570.368L872.448 358.4 921.6 310.101333a76.629333 76.629333 0 0 0 22.016-47.786666 51.2 51.2 0 0 0-15.018667-41.984 52.906667 52.906667 0 0 0-42.154666-15.530667 76.970667 76.970667 0 0 0-47.445334 22.016l-49.493333 49.493333-211.114667-82.602666a17.066667 17.066667 0 0 0-18.944 3.925333l-38.570666 38.570667a17.066667 17.066667 0 0 0-5.12 13.482666 18.090667 18.090667 0 0 0 5.12 11.434667 6.656 6.656 0 0 0 1.706666 1.365333l42.154667 32.768-5.290667 5.290667a17.066667 17.066667 0 0 0 24.917334 24.917333l8.362666-8.362666 29.866667 23.210666-5.461333 5.461334a17.066667 17.066667 0 0 0 24.917333 24.917333l8.533333-8.533333 29.866667 23.210666L622.762667 443.733333l-9.045334 9.728-55.808-21.504a17.066667 17.066667 0 0 0-18.773333 4.096L514.389333 460.8a17.066667 17.066667 0 0 0 0 24.917333l52.394667 52.394667c-0.853333 3.072-1.877333 6.144-2.56 9.216a31.232 31.232 0 0 0 37.888 37.888l9.045333-2.56 52.565334 52.394667a17.066667 17.066667 0 0 0 24.746666 0l24.917334-24.917334a17.066667 17.066667 0 0 0 3.925333-18.773333l-21.333333-55.808c3.242667-2.901333 6.485333-5.802667 9.557333-8.874667l57.685333-57.856 23.381334 30.037334-8.533334 8.362666a17.066667 17.066667 0 0 0 0 24.917334 17.066667 17.066667 0 0 0 24.917334 0l5.290666-5.290667 23.381334 29.866667-8.362667 8.362666a17.066667 17.066667 0 0 0 24.917333 24.917334l5.12-5.290667 32.768 42.154667 1.536 1.706666a18.602667 18.602667 0 0 0 11.264 5.12 17.066667 17.066667 0 0 0 13.653334-5.12l38.570666-38.741333a17.066667 17.066667 0 0 0 4.608-19.456zM580.266667 501.76l-29.184-29.184 4.437333-4.266667 35.84 13.653334A225.28 225.28 0 0 0 580.266667 501.76z m-20.48-254.805333l17.066666-17.066667 186.197334 72.874667-56.832 56.832zM676.010667 597.333333l-29.013334-29.013333c6.656-3.413333 13.312-7.168 19.626667-11.093333l13.824 35.84z m4.608-95.914666a188.928 188.928 0 0 1-80.554667 47.616A187.733333 187.733333 0 0 1 648.533333 467.968l215.381334-216.234667a41.301333 41.301333 0 0 1 25.6-11.946666 17.066667 17.066667 0 0 1 13.824 5.12 17.066667 17.066667 0 0 1 4.778666 15.018666 39.765333 39.765333 0 0 1-11.776 25.088z m221.013333 87.381333L788.309333 443.733333l57.002667-56.832 72.704 186.197334z" fill="#515151" p-id="19662"></path></svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714237280903" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22016" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M683.861333 417.792 235.008 417.792 235.008 475.648 683.861333 475.648Z" p-id="22017" fill="#515151"></path><path d="M235.008 606.037333 655.018667 606.037333 655.018667 548.181333 235.008 548.181333Z" p-id="22018" fill="#515151"></path><path d="M235.008 736.426667 524.117333 736.426667 524.117333 678.741333 235.008 678.741333Z" p-id="22019" fill="#515151"></path><path d="M235.008 287.402667 235.008 345.258667 481.109333 345.258667 481.109333 287.402667Z" p-id="22020" fill="#515151"></path><path d="M147.797333 127.829333l405.845333 0 0 217.258667 217.429333 0 0 280.405333 57.685333 0L828.757333 306.176 607.914667 70.485333 607.573333 69.973333 140.8 69.973333c-27.989333 0-50.517333 22.698667-50.517333 50.517333l0 782.336c0 27.989333 22.698667 50.688 50.517333 50.688l383.488 0L524.288 896 147.797333 896 147.797333 127.829333zM611.498667 287.402667 611.498667 169.813333l109.738667 117.418667L611.498667 287.232z" p-id="22021" fill="#515151"></path><path d="M927.914667 637.44c-13.994667-10.581333-33.962667-8.021333-44.714667 5.973333L706.048 875.52 593.92 777.386667c-13.312-11.605333-33.450667-10.24-44.885333 3.072-11.605333 13.312-10.24 33.450667 3.072 45.056l137.728 120.490667c13.824 12.117333 35.157333 10.069333 46.421333-4.608l197.802667-259.072c10.581333-13.994667 8.021333-33.962667-5.973333-44.714667L928.085333 637.44z" p-id="22022" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236529614" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10059" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M584.575 240.207H749.09v52.392H584.575v-52.392z m0 0M472.574 369.376c6.014 10.18 9.047 22.061 9.047 35.69 0 20.88-6.219 38.26-18.666 52.198-12.448 13.938-30.394 22.166-53.898 24.637v35.738H379.13v-35.584c-39.138-4.014-63.36-26.794-72.721-68.246l46.284-12.086c4.27 26.072 18.465 39.134 42.584 39.134 11.261 0 19.59-2.777 24.89-8.382 5.295-5.605 7.971-12.29 7.971-20.21 0-8.18-2.675-14.4-7.972-18.565-5.3-4.218-17.123-9.567-35.432-16.047-16.456-5.709-29.313-11.313-38.57-16.97-9.257-5.554-16.767-13.32-22.527-23.348-5.81-10.08-8.691-21.805-8.691-35.127 0-17.485 5.194-33.272 15.48-47.26 10.333-13.991 26.533-22.528 48.699-25.662v-27.614h29.932v27.614c33.429 4.013 55.131 22.94 65.004 56.78l-41.296 16.918c-8.022-23.196-20.418-34.818-37.285-34.818-8.433 0-15.221 2.575-20.313 7.766-5.143 5.196-7.715 11.472-7.715 18.876 0 7.51 2.468 13.27 7.406 17.328 4.937 4.014 15.477 9.004 31.679 14.918 17.739 6.48 31.729 12.652 41.81 18.41 10.137 5.755 18.157 13.779 24.228 23.912z" fill="#515151" p-id="10060"></path><path d="M800.16 835.232v6.116c0 8.926-6.075 16.449-13.262 16.449H237.102c-7.187 0-13.267-7.523-13.267-16.449v-658.69c0-8.93 6.08-16.453 13.267-16.453H786.9c7.187 0 13.262 7.524 13.262 16.453v240.37a211.53 211.53 0 0 1 52.397 21.347V182.658c0-37.953-29.448-68.845-65.66-68.845H237.104c-36.216 0-65.66 30.892-65.66 68.845v658.69c0 37.95 29.444 68.84 65.66 68.84H786.9c36.21 0 65.66-30.89 65.66-68.84v-27.463a211.576 211.576 0 0 1-52.399 21.347z" fill="#515151" p-id="10061"></path><path d="M746.804 416.281c0.765 0 1.524 0.021 2.288 0.029v-13.75H539.518v52.397h84.927c34.614-24.363 76.813-38.676 122.359-38.676zM543.816 564.939h-247.93v52.392h238.4a212.212 212.212 0 0 1 9.53-52.392zM557.92 727.316H295.887v52.392h300.487a213.514 213.514 0 0 1-38.452-52.392zM853.236 610.697H833.71a82.64 82.64 0 0 0-7.536-18.273l13.785-13.784a6.481 6.481 0 0 0 0-9.176l-22.258-22.258a6.472 6.472 0 0 0-4.568-1.875 6.407 6.407 0 0 0-4.567 1.875l-13.783 13.784a82.596 82.596 0 0 0-18.276-7.536V533.93c0-3.553-2.928-6.482-6.48-6.482h-31.474c-3.552 0-6.48 2.929-6.48 6.482v19.524a82.637 82.637 0 0 0-18.275 7.536l-13.783-13.744a6.469 6.469 0 0 0-4.568-1.875c-1.64 0-3.32 0.623-4.569 1.875l-22.258 22.256c-2.498 2.537-2.498 6.638 0 9.176l13.784 13.784a82.616 82.616 0 0 0-7.536 18.275h-19.524c-3.554 0-6.48 2.928-6.48 6.48v31.474c0 3.552 2.926 6.48 6.48 6.48h19.524a82.616 82.616 0 0 0 7.536 18.276l-13.784 13.782c-2.498 2.538-2.498 6.64 0 9.178l22.258 22.257a6.48 6.48 0 0 0 4.57 1.874c1.64 0 3.317-0.626 4.567-1.874l13.783-13.785a82.496 82.496 0 0 0 18.274 7.538v19.523c0 3.552 2.929 6.48 6.48 6.48h31.475c3.552 0 6.48-2.928 6.48-6.48v-19.523a82.553 82.553 0 0 0 18.276-7.538l13.783 13.785a6.475 6.475 0 0 0 4.567 1.874c1.68 0 3.32-0.626 4.568-1.874l22.258-22.257a6.484 6.484 0 0 0 0-9.178l-13.785-13.782a82.616 82.616 0 0 0 7.536-18.275h19.525c3.554 0 6.482-2.929 6.482-6.48v-31.475c0-3.591-2.928-6.52-6.482-6.52z m-43.578 37.72c-1.248 4.491-3.006 8.787-5.232 12.73l-7.927 14.02-14.019 7.926a56.385 56.385 0 0 1-12.73 5.232l-15.5 4.334-15.502-4.334c-4.491-1.25-8.787-3.007-12.73-5.232L712 675.166l-7.926-14.02a56.299 56.299 0 0 1-5.233-12.73l-4.294-15.501 4.334-15.5c1.249-4.491 3.007-8.787 5.232-12.73l7.927-14.02 14.02-7.926a56.294 56.294 0 0 1 12.727-5.232l15.502-4.335 15.502 4.335c4.492 1.248 8.785 3.006 12.73 5.232l14.016 7.927 7.928 14.019a56.158 56.158 0 0 1 5.232 12.73l4.335 15.5-4.373 15.502z m0 0" fill="#515151" p-id="10062"></path><path d="M754.25 593.4c-21.829 0-39.557 17.688-39.557 39.556 0 21.827 17.69 39.555 39.557 39.555 21.827 0 39.555-17.688 39.555-39.555 0-21.868-17.69-39.556-39.555-39.556z m0 54.08c-8.044 0-14.565-6.52-14.565-14.565 0-8.043 6.521-14.565 14.565-14.565s14.564 6.522 14.564 14.565c0 8.045-6.52 14.566-14.564 14.566z m0 0" fill="#515151" p-id="10063"></path><path d="M748.873 445.883c-102.643 0-185.847 83.205-185.847 185.84 0 102.642 83.205 185.847 185.847 185.847 102.635 0 185.841-83.205 185.841-185.846 0.002-102.636-83.205-185.84-185.841-185.84z m99.723 286.181c-26.635 26.622-62.034 41.288-99.699 41.288-37.651 0-73.056-14.665-99.691-41.288-26.629-26.635-41.295-62.04-41.295-99.699 0-37.651 14.665-73.063 41.295-99.692 26.635-26.628 62.034-41.295 99.691-41.295 37.665 0 73.063 14.667 99.693 41.295 26.627 26.628 41.294 62.034 41.294 99.692s-14.667 73.063-41.288 99.699z m0 0" fill="#515151" p-id="10064"></path></svg>
|
||||
|
After Width: | Height: | Size: 4.6 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
|
@ -1,15 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>me_icon_more_def</title>
|
||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="icon" transform="translate(-238.000000, -264.000000)">
|
||||
<g id="me_icon_more_def" transform="translate(238.000000, 264.000000)">
|
||||
<rect id="矩形" x="0" y="0" width="14" height="14"></rect>
|
||||
<g id="编组-9" transform="translate(0.000000, 1.000000)" stroke="#333333" stroke-linecap="round">
|
||||
<path d="M4.5,9.5 L7.97809825,5.21946514 C9.02292793,3.93358143 10.9123445,3.73816853 12.1982282,4.78299821 C12.3183328,4.88058781 12.4307062,4.98732445 12.5343422,5.10225239 L16.5,9.5 L16.5,9.5" id="路径-5" stroke-linejoin="round" transform="translate(10.500000, 6.000000) rotate(-270.000000) translate(-10.500000, -6.000000) "></path>
|
||||
<line x1="0.5" y1="6" x2="7.5" y2="6" id="直线"></line>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714237543340" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="26412" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M307.6 104.6c-14.2 14.2-14.2 37.2 0 51.4L655 503.4c2.8 2.9 2.8 7.5 0 10.3L307.6 861.2c-14.2 14.2-14.2 37.2 0 51.4 14.2 14.2 37.2 14.2 51.4 0l347.4-347.4c15.6-15.6 23.4-36 23.4-56.5s-7.8-41-23.4-56.5L359 104.6c-14.2-14.2-37.2-14.2-51.4 0z" p-id="26413" fill="#707070"></path></svg>
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 614 B |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714237030773" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20871" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M89.5 479.5c0-165.1 133.9-299 299-299 85.9 0 163.1 36.4 217.7 94.4l27.6-27.6c-61.6-65.1-148.6-105.8-245.2-105.8-186.7 0-338 151.3-338 338 0 169.4 124.8 309.3 287.4 333.8l11.6-34.8 1.3-2.7C203.5 757.3 89.5 631.8 89.5 479.5z" p-id="20872" fill="#515151"></path><path d="M427.5 479.5c0-11.5-5.1-21.7-13-28.9L414.5 297.5l-39 0 0 145.4c-41.5 16.8-20.9 55.6-20.9 55.6l-92.8 95.3 29.9 25 97.7-100.4C410.6 517.9 427.5 500.7 427.5 479.5z" p-id="20873" fill="#515151"></path><path d="M773.4 609.7c42.2-27.9 70.1-75.7 70.1-130.1 0-86.2-69.8-156-156-156-86.2 0-156 69.9-156 156 0 54.4 27.9 102.2 70.1 130.1-116 36.5-200.1 144.8-200.1 272.8l39 0c0-136.4 110.6-247 247-247 136.4 0 247 110.6 247 247l39 0C973.5 754.5 889.3 646.2 773.4 609.7zM687.5 596.5c-64.6 0-117-52.4-117-117 0-64.6 52.4-117 117-117 64.6 0 117 52.4 117 117C804.5 544.1 752.1 596.5 687.5 596.5z" p-id="20874" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236006531" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4302" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M112 576c-26 0-47 21-47 47v290c0 26 21 47 47 47s47-21 47-47V623c0-25.9-21-47-47-47zM916.4 89.2H751c-26 0-47 21-47 47s21 47 47 47h57.1l-125 125c-16 16-42 16-58 0L449.5 132.7l0.1-0.1-2.7-2.7c-35.2-35.2-92.3-35.2-127.6 0L79.7 369.6c-18.4 18.4-18.4 48.1 0 66.5s48.1 18.4 66.5 0L354 228.3c16-16 42-16 58 0l178.2 178.2c35.2 35.2 92.3 35.2 127.6 0l148.3-148.3V298c0 26 21 47 47 47s47-21 47-47V133c0.1-24.2-19.5-43.8-43.7-43.8zM912 448c-26 0-47 21-47 47v418c0 26 21 47 47 47s47-21 47-47V495c0-26-21-47-47-47zM645.3 576c-26 0-47 21-47 47v290c0 26 21 47 47 47s47-21 47-47V623c0-25.9-21-47-47-47zM378.7 448c-26 0-47 21-47 47v418c0 26 21 47 47 47s47-21 47-47V495c0-26-21.1-47-47-47z" p-id="4303" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236482886" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8963" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M109.714286 73.142857c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428z m0-73.142857h804.571428c58.514286 0 109.714286 51.2 109.714286 109.714286v804.571428c0 58.514286-51.2 109.714286-109.714286 109.714286h-804.571428C51.2 1024 0 972.8 0 914.285714v-804.571428C0 51.2 51.2 0 109.714286 0z m438.857143 292.571429h219.428571c21.942857 0 36.571429 14.628571 36.571429 36.571428s-14.628571 36.571429-36.571429 36.571429h-219.428571c-21.942857 0-36.571429-14.628571-36.571429-36.571429s14.628571-36.571429 36.571429-36.571428z m-219.428572 438.857142c21.942857 0 36.571429-14.628571 36.571429-36.571428S351.085714 658.285714 329.142857 658.285714s-36.571429 14.628571-36.571428 36.571429 14.628571 36.571429 36.571428 36.571428z m0 73.142858C270.628571 804.571429 219.428571 753.371429 219.428571 694.857143S270.628571 585.142857 329.142857 585.142857 438.857143 636.342857 438.857143 694.857143 387.657143 804.571429 329.142857 804.571429z m-7.314286-446.171429L241.371429 277.942857c-14.628571-14.628571-36.571429-14.628571-51.2 0-14.628571 14.628571-14.628571 36.571429 0 51.2L292.571429 431.542857c7.314286 7.314286 21.942857 14.628571 29.257142 14.628572s21.942857 0 29.257143-7.314286l153.6-153.6c14.628571-14.628571 14.628571-36.571429 0-51.2-14.628571-14.628571-36.571429-14.628571-51.2 0L321.828571 358.4zM548.571429 658.285714h219.428571c21.942857 0 36.571429 14.628571 36.571429 36.571429s-14.628571 36.571429-36.571429 36.571428h-219.428571c-21.942857 0-36.571429-14.628571-36.571429-36.571428s14.628571-36.571429 36.571429-36.571429z" p-id="8964" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
|
@ -0,0 +1 @@
|
|||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714236407533" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7697" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M154.24 310.08a32 32 0 0 1-32-30.4V201.28A75.52 75.52 0 0 1 199.04 128h619.2A75.2 75.2 0 0 1 896 201.28v653.44A75.2 75.2 0 0 1 818.24 928H199.04a75.52 75.52 0 0 1-77.44-73.28v-78.4a32 32 0 0 1 32-32 32 32 0 0 1 32 32v78.4a12.16 12.16 0 0 0 12.48 11.52h620.16a11.84 11.84 0 0 0 12.48-11.52V201.28a11.84 11.84 0 0 0-12.48-11.52H199.04a12.16 12.16 0 0 0-12.48 11.52v78.4a32 32 0 0 1-32.32 30.4z" p-id="7698" fill="#515151"></path><path d="M125.44 371.52h58.24a25.92 25.92 0 0 1 29.12 29.44 25.92 25.92 0 0 1-29.12 29.44H125.44a25.92 25.92 0 0 1-28.8-29.44 25.92 25.92 0 0 1 28.8-29.44zM125.44 625.6h58.24a25.92 25.92 0 0 1 29.12 29.44 25.92 25.92 0 0 1-29.12 29.44H125.44a25.92 25.92 0 0 1-28.8-29.44 25.92 25.92 0 0 1 28.8-29.44zM125.44 498.56h58.24a25.92 25.92 0 0 1 29.12 29.44 25.92 25.92 0 0 1-29.12 29.44H125.44A25.92 25.92 0 0 1 96 528a25.92 25.92 0 0 1 29.44-29.44z" p-id="7699" fill="#515151"></path><path d="M593.6 534.4a132.8 132.8 0 0 0 57.28-109.44 137.92 137.92 0 0 0-275.84 0 135.04 135.04 0 0 0 57.28 109.44A169.92 169.92 0 0 0 320 708.48V736h384v-27.52a166.4 166.4 0 0 0-110.4-174.08z m-160-109.44a82.88 82.88 0 1 1 82.56 82.24 82.88 82.88 0 0 1-83.84-82.24z m-53.12 258.24c11.84-91.84 88.32-105.6 135.68-105.6s122.24 13.76 136 105.6z" p-id="7700" fill="#515151"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
|
@ -56,7 +56,7 @@ const cfu = {
|
|||
"formatter":{
|
||||
"yAxisDemo1":function(val, index, opts){return val+'元'},
|
||||
"ssss":function(val,index,opts){
|
||||
return (index % 8)==0?val:''
|
||||
return (index % 7)==0?val:''
|
||||
},
|
||||
"yAxisDemo2":function(val, index, opts){return val.toFixed(2)},
|
||||
"xAxisDemo1":function(val, index, opts){return val+'年';},
|
||||
|
|
|
|||