Browse Source

feat(market/data): 新增销售分析和销售排名功能

- 添加销售分析图表,展示成交率、试听率和跟进率
- 实现销售排名列表,显示前四名销售人员的业绩
-增加标签切换功能,用户可在销售分析和销售排名之间切换
- 优化页面布局和样式,提升用户体验
master
liutong 1 year ago
parent
commit
c7c9ac2096
  1. 164
      api/medication.js
  2. 10
      common/config.js
  3. 2
      components/AQ/AQUplodeImgMulti.vue
  4. 12
      pages/market/my/set_up.vue
  5. 13
      pages/student/login/login.vue

164
api/medication.js

@ -8,170 +8,16 @@ function medication_login(data) {
}) })
} }
// 发送短信验证码 //登录
function VerificationCode(data) { function login(data) {
let url = '/dnseyeapi/Login/VerificationCode' let url = '/login'
return http.post(url, data).then(res => { return http.get(url,data).then(res => {
return res;
})
}
// 短信验证码登录
function codelogin(data) {
let url = '/dnseyeapi/Login/codelogin'
return http.post(url, data).then(res => {
return res;
})
}
// 微信小程序登录
function wechatminilogin(data) {
let url = '/dnseyeapi/Login/wechatminilogin'
return http.post(url, data).then(res => {
return res;
})
}
//创建用药提醒
function medication_create(data) {
let url = '/dnseyeapi/Medication/add'
return http.post(url, data).then(res => {
return res;
})
}
//编辑用药提醒
function subscribe(data) {
let url = '/dnseyeapi/Medication/subscribe'
return http.post(url, data).then(res => {
return res;
})
}
//修改订阅状态
function medication_edit(data) {
let url = '/dnseyeapi/Medication/edit'
return http.post(url, data).then(res => {
return res;
})
}
//提醒记录
function homelist(data) {
let url = '/dnseyeapi/Medication/homelist'
return http.post(url, data).then(res => {
return res;
})
}
//更改是否用药状态
function updatestatus(data) {
let url = '/dnseyeapi/Medication/updatestatus'
return http.post(url, data).then(res => {
return res;
})
}
//更改是否提醒状态
function enablereminder(data) {
let url = '/dnseyeapi/Medication/enablereminder'
return http.post(url, data).then(res => {
return res;
})
}
//更改单条是否提醒状态
function enablereminders(data) {
let url = '/dnseyeapi/Medication/enablereminders'
return http.post(url, data).then(res => {
return res;
})
}
//删除提醒
function deletereminder(data) {
let url = '/dnseyeapi/Medication/deletereminder'
return http.post(url, data).then(res => {
return res;
})
}
//提醒管理
function remindermanage(data) {
let url = '/dnseyeapi/Medication/remindermanage'
return http.post(url, data).then(res => {
return res;
})
}
//搜索结果点击
function homesingle(data) {
let url = '/dnseyeapi/Medication/homesingle'
return http.post(url, data).then(res => {
return res;
})
}
//获取最新提醒
function getuptodate(data) {
let url = '/dnseyeapi/Myinfo/getuptodate'
return http.post(url, data).then(res => {
return res;
})
}
//picker值
function picker(data) {
let url = '/dnseyeapi/Medication/picker'
return http.post(url, data).then(res => {
return res;
})
}
//获取没有订阅的药品名称
function determine(data) {
let url = '/dnseyeapi/Medication/determine'
return http.post(url, data).then(res => {
return res;
})
}
//修改订阅状态
function determinetype(data) {
let url = '/dnseyeapi/Medication/determinetype'
return http.post(url, data).then(res => {
return res;
})
}
//获取分享图片
function shareimage() {
let url = '/dnseyeapi/Medication/shareimage'
return http.post(url).then(res => {
return res; return res;
}) })
} }
export default { export default {
medication_create, login,
VerificationCode,
codelogin,
// register,
wechatminilogin,
medication_login, medication_login,
getuptodate,
medication_edit,
homelist,
updatestatus,
enablereminder,
deletereminder,
remindermanage,
homesingle,
subscribe,
enablereminders,
picker,
determine,
determinetype,
shareimage
} }

10
common/config.js

@ -1,5 +1,11 @@
const Api_url='https://medication.zeyan.wang/' // 线上地址
const img_domian = 'https://medication.zeyan.wang/' // const Api_url='http://146.56.228.75:20021/api'
// const img_domian = 'http://146.56.228.75:20021/'
//本地测试地址
const Api_url='http://zhjw.cc/api'
const img_domian = 'http://zhjw.cc/'
const IsDemo = false const IsDemo = false
// const Api_url_B='http://hycrm.zeyan.wang/api/hygl' // const Api_url_B='http://hycrm.zeyan.wang/api/hygl'

2
components/AQ/AQUplodeImgMulti.vue

@ -99,7 +99,7 @@ import {Api_url} from "../../common/config";
}, },
// //
uploadApiUrl: `${Api_url}api/upload/memberStore`, uploadApiUrl: `${Api_url}api/file/image`,
// //
imageStyles: { imageStyles: {

12
pages/market/my/set_up.vue

@ -8,7 +8,7 @@
<view class="option">清空缓存</view> <view class="option">清空缓存</view>
<view style="width:90%;margin: 60rpx auto;"> <view style="width:90%;margin: 60rpx auto;">
<fui-button background="#29d3b4">退出账号</fui-button> <fui-button background="#29d3b4" @click="logOut()">退出账号</fui-button>
</view> </view>
</view> </view>
</template> </template>
@ -21,6 +21,16 @@
} }
}, },
methods: { methods: {
//退
logOut(){
//
uni.removeStorageSync('userInfo');
//
uni.navigateTo({
url: '/pages/student/login/login'
})
},
privacy_agreement(type){ privacy_agreement(type){
uni.navigateTo({ uni.navigateTo({
url: '/pages/common/privacy_agreement?type='+type url: '/pages/common/privacy_agreement?type='+type

13
pages/student/login/login.vue

@ -36,12 +36,14 @@
</template> </template>
<script> <script>
import medicationApi from '@/api/medication.js';
export default { export default {
data() { data() {
return { return {
password: true, password: true,
user: '', user: '',//
password1: '' password1: ''//
} }
}, },
onLoad() { onLoad() {
@ -62,12 +64,11 @@
}, },
login() { login() {
let item = {}; let item = {};
item['user'] = this.user item['username'] = this.user
item['password'] = this.password1 item['password'] = this.password1
medication.medication_login(item).then(res => { medicationApi.login(item).then(res => {
if (res.status == 200) { if (res.status == 200) {
uni.setStorageSync('um_id', res.data.um_id); uni.setStorageSync('token', res.data.token);
uni.setStorageSync('user', res.data);
uni.switchTab({ uni.switchTab({
url: '/pages/my/my' url: '/pages/my/my'
}) })

Loading…
Cancel
Save