【招生小程序】 修复# 主账号-我的:移除所属组织字段

master
kaeery 2025-03-11 17:32:47 +08:00
parent 961236f444
commit 0c5361e2fa
8 changed files with 39 additions and 67 deletions

View File

@ -7,7 +7,7 @@
### ###
# 请求域名 # 请求域名
# VITE_APP_BASE_URL= 'http://192.168.111.5:8086' # VITE_APP_BASE_URL= 'http://192.168.111.5:8086'
VITE_APP_BASE_URL="http://192.168.111.98:8086" # VITE_APP_BASE_URL="http://192.168.111.98:8086"
# VITE_APP_BASE_URL="http://f35n565161.vicp.fun" # VITE_APP_BASE_URL="http://f35n565161.vicp.fun"
# VITE_APP_BASE_URL="https://124.220.209.120:8086" VITE_APP_BASE_URL="http://124.220.209.120:8086"
# VITE_APP_SOCKET_URL = 'wss://front.yuegoodlife.com' # VITE_APP_SOCKET_URL = 'wss://front.yuegoodlife.com'

View File

@ -35,10 +35,10 @@ const openPopup = () => {
} }
// //
const setDefaultValue = (payload: any) => { const setDefaultValue = (payload: any) => {
if (payload.createTimeStart || payload.createTimeEnd) { if (payload.startTime || payload.endTime) {
dropdownMenuDateList.value.value = { dropdownMenuDateList.value.value = {
start: formateDate(payload.createTimeStart, 'start', 'YYYY-MM-DD'), start: formateDate(payload.startTime, 'start', 'YYYY-MM-DD'),
end: formateDate(payload.createTimeEnd, 'end', 'YYYY-MM-DD') end: formateDate(payload.endTime, 'end', 'YYYY-MM-DD')
} }
dateDropdownPickerRef.value.initData(dropdownMenuDateList.value, false, payload.dateTag) dateDropdownPickerRef.value.initData(dropdownMenuDateList.value, false, payload.dateTag)
} }

View File

@ -43,16 +43,14 @@
<script setup lang="ts"> <script setup lang="ts">
import { onLoad } from '@dcloudio/uni-app' import { onLoad } from '@dcloudio/uni-app'
import { ref, shallowRef } from 'vue' import { nextTick, ref } from 'vue'
import clueCard from './components/clue-card.vue' import clueCard from './components/clue-card.vue'
import datePopup from './components/date-popup.vue' import datePopup from './components/date-popup.vue'
import { useZPaging } from '@/hooks/useZPaging'
import { computed } from 'vue' import { computed } from 'vue'
import { debounce } from 'lodash-es' import { debounce } from 'lodash-es'
import { nextTick } from 'vue' import { formateDate, getCurDate } from '@/utils/util'
import { formatDate, formateDate, getCurDate } from '@/utils/util'
import { personalDetailApi } from '@/api/admin' import { personalDetailApi } from '@/api/admin'
import { converStatusEnum } from '@/enums' import { PositionEnum, converStatusEnum } from '@/enums'
const queryParams = ref({ const queryParams = ref({
likeWork: '', likeWork: '',
@ -67,12 +65,13 @@ const dataList = ref([])
const activeTab = ref(0) const activeTab = ref(0)
const tabOptions: Record<string, any[]> = { const tabOptions: Record<string, any[]> = {
telesale: [ telesale: [
{ name: '全部', value: 0 }, { name: '全部', value: '' },
{ name: '未领取', value: converStatusEnum.UN_RECEIVED }, { name: '未领取', value: converStatusEnum.UN_RECEIVED },
{ name: '已领取', value: converStatusEnum.CONVERTED_PROCESS }, { name: '已领取', value: converStatusEnum.CONVERTED_PROCESS },
{ name: '异常待处理', value: converStatusEnum.EXCEPTION } { name: '异常待处理', value: converStatusEnum.EXCEPTION }
], ],
recruitsale: [ recruitsale: [
{ name: '全部', value: '' },
{ name: '转化中', value: converStatusEnum.CONVERTED_PROCESS }, { name: '转化中', value: converStatusEnum.CONVERTED_PROCESS },
{ name: '已添加', value: converStatusEnum.ADD_RELATION }, { name: '已添加', value: converStatusEnum.ADD_RELATION },
{ name: '异常待处理', value: converStatusEnum.EXCEPTION }, { name: '异常待处理', value: converStatusEnum.EXCEPTION },
@ -112,26 +111,24 @@ const queryList = async (pageNo = 1, pageSize = 10) => {
uni.hideLoading() uni.hideLoading()
} }
// const dateTagFlag = ref('') const dateTagFlag = ref('')
onLoad(async options => { onLoad(async options => {
setFormData(options) setFormData(options)
// dateTagFlag.value = options?.dateTag ?? '' // dateTagFlag.value = options?.dateTag ?? ''
// await nextTick() // await nextTick()
// datePopupRef.value?.setDefaultValue({ ...form.value, dateTag: dateTagFlag.value }) // datePopupRef.value?.setDefaultValue({ ...queryParams.value, dateTag: dateTagFlag.value })
// datePopupRef.value?.setDefaultValue({ ...form.value })
// if (option.id) {
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: title:
options.postIds == 5 ? '电销老师:' + options.username : '招生老师:' + options.username options.postIds == PositionEnum.TELESALE
? '电销老师:' + decodeURIComponent(options.username)
: '招生老师:' + decodeURIComponent(options.username)
}) })
type.value = options.postIds == 5 ? 'telesale' : 'recruitsale' type.value = options.postIds == PositionEnum.TELESALE ? 'telesale' : 'recruitsale'
// }
}) })
const form = ref()
// //
const setFormData = options => { const setFormData = options => {
queryParams.value = Object.keys(options).reduce((acc, key) => { queryParams.value = Object.keys(options).reduce((acc, key) => {
if (key == 'username') { if (key == 'username' || key == 'dateTag') {
return acc return acc
} }
acc[key] = decodeURIComponent(options[key]) acc[key] = decodeURIComponent(options[key])

View File

@ -55,9 +55,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { computed } from 'vue' import { computed } from 'vue'
import card from '../../card.vue' import card from '../../card.vue'
import { PositionEnum } from '@/enums'
import { usePositions } from '@/hooks/useCommon'
import { watch } from 'vue'
const props = defineProps({ const props = defineProps({
item: { item: {
@ -87,22 +84,6 @@ const parsePostionText = computed(() => {
}) })
const parseText = computed(() => (key: number) => key == 5 ? '电销' : '招生') const parseText = computed(() => (key: number) => key == 5 ? '电销' : '招生')
const cardMap: Record<number, Array<{ label: string; value: number }>> = {
5: [
{ label: '新增跟进', value: 368 },
{ label: '未领取', value: 368 },
{ label: '已领取', value: 100 },
{ label: '异常待处理', value: 368 }
],
6: [
{ label: '转化中', value: 368 },
{ label: '已添加', value: 100 },
{ label: '异常待处理', value: 368 },
{ label: '成交客户', value: 368 },
{ label: '战败客户', value: 368 }
]
}
const data = computed(() => { const data = computed(() => {
if (!props.item) return [] if (!props.item) return []
const { postIds } = props.item const { postIds } = props.item
@ -154,14 +135,9 @@ const data = computed(() => {
const handleCardClick = () => { const handleCardClick = () => {
if (containPostIds.value) return if (containPostIds.value) return
// const type =
// parsePostIds.value.length == 1 && parsePostIds.value.includes(5)
// ? 'telesale'
// : 'recruitsale'
emit('handleCardClick', props.item) emit('handleCardClick', props.item)
} }
const handleMore = (key: number) => { const handleMore = (key: number) => {
// const type = key == 5 ? 'telesale' : 'recruitsale'
emit('handleCardClick', { ...props.item, postIds: key.toString() }) emit('handleCardClick', { ...props.item, postIds: key.toString() })
} }
</script> </script>

View File

@ -33,17 +33,15 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { PropType, computed, onMounted, ref } from 'vue' import { PropType, onMounted, ref } from 'vue'
import telesaleCard from './components/telesale-card.vue' import telesaleCard from './components/telesale-card.vue'
import filterValue from '../filter-value.vue' import filterValue from '../filter-value.vue'
import { useZPaging } from '@/hooks/useZPaging' import { useZPaging } from '@/hooks/useZPaging'
import { apiTeleClueList } from '@/api/clue'
import { getCurDate } from '@/utils/util' import { getCurDate } from '@/utils/util'
import dropdownPicker from './components/dropdown-picker.vue' import dropdownPicker from './components/dropdown-picker.vue'
import { personalListApi } from '@/api/admin' import { personalListApi } from '@/api/admin'
import { usePositions } from '@/hooks/useCommon' import { usePositions } from '@/hooks/useCommon'
import { AdminTabEnum } from '@/enums' import { AdminTabEnum } from '@/enums'
import { nextTick } from 'vue'
defineProps({ defineProps({
activeTab: { activeTab: {
@ -85,7 +83,9 @@ const handleCardClick = (item: any) => {
postIds: splitpostIds(postIds), postIds: splitpostIds(postIds),
teacherType: splitpostIds(postIds) == 5 ? 0 : 1, teacherType: splitpostIds(postIds) == 5 ? 0 : 1,
username username
// dateTag: encodeURIComponent(dateTagFlag.value), // dateTag: dateTagFlag.value,
// startTime: form.value.startTime,
// endTime: form.value.endTime
} }
const queryString = Object.keys(params) const queryString = Object.keys(params)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`) .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)

View File

@ -24,21 +24,16 @@
v-for="(group, index) in parseGroupList" v-for="(group, index) in parseGroupList"
:key="index" :key="index"
:title="group.title" :title="group.title"
:label="group.label"
:url="group.url" :url="group.url"
:isLink="group.isLink" :isLink="group.isLink"
:border="group.border" :border="group.border"
size="large" size="large"
@click="handleClick(group)" @click="handleClick(group)"
> >
<!-- <template #value v-if="group.value == 'roles'">
<view class="flex items-center">
<text class="text-sm mr-1">{{ roles }}</text>
<u-icon name="arrow-right" color="#aaacb1" size="18"></u-icon>
</view>
</template> -->
<template #label> <template #label>
<view class="mt-[8rpx]">{{ group.label }}</view> <view class="mt-[8rpx]">
{{ group.label }}
</view>
</template> </template>
<template #value> <template #value>
<view <view
@ -60,17 +55,17 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { useToggle } from '@/hooks/useLockFn'
import { PropType, computed, onMounted, ref, unref } from 'vue' import { PropType, computed, onMounted, ref, unref } from 'vue'
import { AgreementEnum } from '@/enums/agreementEnums'
import { apiConfig } from '@/api/app'
import { useUserStore } from '@/stores/user'
import { navigateTo } from '@/utils/util'
import { useTabBarStore } from '@/stores/tabbar'
import cache from '@/utils/cache'
import { ROLEINDEX } from '@/enums/cacheEnums'
import RolesPopup from '@/components/roles-popup.vue' import RolesPopup from '@/components/roles-popup.vue'
import { useUserStore } from '@/stores/user'
import { useTabBarStore } from '@/stores/tabbar'
import { useToggle } from '@/hooks/useLockFn'
import { navigateTo } from '@/utils/util'
import cache from '@/utils/cache'
import { apiConfig } from '@/api/app'
import { ROLEINDEX } from '@/enums/cacheEnums'
import defaultAvatar from '@/static/images/avatar.jpg' import defaultAvatar from '@/static/images/avatar.jpg'
import { MasterAccountEnum } from '@/enums'
interface IGroup { interface IGroup {
title: string title: string
@ -102,10 +97,8 @@ const activeRoleId = computed(() => {
const roleArr = userInfo.roles const roleArr = userInfo.roles
return roleArr[roleIndex.value || 0]?.id return roleArr[roleIndex.value || 0]?.id
}) })
const newGroupList = ref(props.groupList) const newGroupList = ref(props.groupList)
const originGroupList = [ const originGroupList = [
{ title: '所属组织', label: userInfo.organizationName, value: '' }
// { title: '', value: 'customer', isLink: false }, // { title: '', value: 'customer', isLink: false },
// { // {
// title: '', // title: '',
@ -168,6 +161,8 @@ const imageError = () => {
} }
const judgeShow = () => { const judgeShow = () => {
if (userInfo.masterAccount == MasterAccountEnum.YES) return
newGroupList.value.push({ title: '所属组织', label: userInfo.organizationName, value: '' })
if (userInfo?.roles.length > 1) { if (userInfo?.roles.length > 1) {
newGroupList.value.push({ title: '当前岗位', label: roles, value: 'roles', border: false }) newGroupList.value.push({ title: '当前岗位', label: roles, value: 'roles', border: false })
} }

View File

@ -10,7 +10,7 @@
v-for="(item, index) in modelValue" v-for="(item, index) in modelValue"
:key="`unique_${index}`" :key="`unique_${index}`"
> >
<view class="prefix">{{ item.formTitle }}</view> <view>{{ item.formTitle }}</view>
<view> <view>
<u-input <u-input
v-if="item.formType == 1" v-if="item.formType == 1"

View File

@ -25,3 +25,7 @@ export enum PositionEnum {
TELESALE = 5, //电销 TELESALE = 5, //电销
RECRUITSALE = 6 //招生 RECRUITSALE = 6 //招生
} }
export enum MasterAccountEnum {
YES = 1, //是
NO = 6 //否
}