20 Commits

Author SHA1 Message Date
6908183a36 Merge branch 'dev-cjl' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-09-11 23:01:08 +08:00
af9bcb7024 Merge branch 'dev-cjl' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-09-08 14:26:43 +08:00
5c6c3df4d0 Merge branch 'dev-cjl' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-09-05 22:31:59 +08:00
acdcc670de Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-09-05 22:31:44 +08:00
9472c5ea56 Merge branch 'dev-cjl' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-29 22:20:26 +08:00
4f150b0912 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-28 22:04:46 +08:00
f76d6dce66 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-27 23:04:20 +08:00
dd4bdb0786 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-26 22:00:11 +08:00
477a279867 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-23 22:26:44 +08:00
c87637cc78 Merge branch 'dev-cjl' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-20 23:52:46 +08:00
a544840679 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-16 12:47:36 +08:00
247c6ed4a0 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-13 21:43:40 +08:00
769c901954 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-10 13:21:15 +08:00
18bfc7d353 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-06 22:05:52 +08:00
fb6b341242 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-06 19:27:40 +08:00
fea69da8ed Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-04 14:15:30 +08:00
125f6f28ad Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-08-02 21:02:44 +08:00
39cddaa8e0 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-07-31 21:11:55 +08:00
ffd15e2433 Merge branch 'main' of http://114.55.169.15:3000/qiushanhe/ss-crm-manage-web into dev-cl 2024-07-30 21:32:07 +08:00
2bebd0480e 本地启动 2024-07-13 11:30:36 +08:00
9 changed files with 14 additions and 79 deletions

View File

@@ -4,7 +4,7 @@ VITE_NODE_ENV=development
VITE_DEV=true VITE_DEV=true
# 请求路径 # 请求路径
VITE_BASE_URL='http://118.31.23.45:48080' VITE_BASE_URL='http://localhost:48080'
# VITE_BASE_URL='http://114.55.169.15:48080' # VITE_BASE_URL='http://114.55.169.15:48080'
# 上传路径 # 上传路径

View File

@@ -71,10 +71,3 @@ export const getAppInfo = (instanceId: number) => {
url: '/admin-api/system/serviceInstance/getInstanceInfo?instanceId=' + instanceId url: '/admin-api/system/serviceInstance/getInstanceInfo?instanceId=' + instanceId
}) })
} }
export const bindWx = (data: any) => {
return request.post({
url: '/admin-api/system/user/bind/wx',
data
})
}

View File

@@ -23,11 +23,7 @@
<el-table-column prop="name" label="部门名称" /> <el-table-column prop="name" label="部门名称" />
<el-table-column prop="leader" label="负责人" width="120" /> <el-table-column prop="leader" label="负责人" width="120" />
<el-table-column prop="sort" label="排序" width="200" /> <el-table-column prop="sort" label="排序" width="200" />
<el-table-column prop="status" label="状态" width="100"> <el-table-column prop="status" label="状态" width="100" />
<template #default="{ row }">
{{ ['启用', '禁用'][row.status] }}
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime" width="180" :formatter="dateFormatter" /> <el-table-column label="创建时间" prop="createTime" width="180" :formatter="dateFormatter" />
<el-table-column label="操作" class-name="fixed-width" width="240"> <el-table-column label="操作" class-name="fixed-width" width="240">
<template #default="scope"> <template #default="scope">

View File

@@ -3,8 +3,8 @@
<el-form :model="form" ref="formRef" :rules="rules" label-width="auto" v-loading="formLoading"> <el-form :model="form" ref="formRef" :rules="rules" label-width="auto" v-loading="formLoading">
<el-form-item label="开启通知"> <el-form-item label="开启通知">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio :label="0"> 开启 </el-radio> <el-radio :label="1"> 开启 </el-radio>
<el-radio :label="1"> 关闭 </el-radio> <el-radio :label="0"> 关闭 </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>

View File

@@ -194,6 +194,7 @@ const submitForm = async () => {
const data = formData.value as unknown as UserApi.UserVO const data = formData.value as unknown as UserApi.UserVO
if (formType.value === 'create') { if (formType.value === 'create') {
const resp = await UserApi.createUser(data) const resp = await UserApi.createUser(data)
debugger
if (resp.code == 18888) { if (resp.code == 18888) {
await message.confirm(resp.msg) await message.confirm(resp.msg)
formData.value.isNewUserConfirm = true formData.value.isNewUserConfirm = true
@@ -228,7 +229,7 @@ const resetForm = () => {
status: CommonStatusEnum.ENABLE, status: CommonStatusEnum.ENABLE,
roleIds: [], roleIds: [],
hireDate: formatDate(new Date(), 'YYYY-MM-DD'), hireDate: formatDate(new Date(), 'YYYY-MM-DD'),
isNewUserConfirm: false isNewUserConfirm: undefined
} }
formRef.value?.resetFields() formRef.value?.resetFields()
} }

View File

@@ -7,9 +7,6 @@
<el-form-item> <el-form-item>
<el-input v-model="searchForm.name" placeholder="线索名称" clearable /> <el-input v-model="searchForm.name" placeholder="线索名称" clearable />
</el-form-item> </el-form-item>
<el-form-item>
<el-input v-model="searchForm.mobile" placeholder="联系方式" clearable />
</el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="searchForm.state" placeholder="审核状态" clearable style="width: 120px"> <el-select v-model="searchForm.state" placeholder="审核状态" clearable style="width: 120px">
<el-option label="待审核" :value="1" /> <el-option label="待审核" :value="1" />
@@ -136,8 +133,8 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="60" :selectable="(row) => row.state == 1" /> <el-table-column type="selection" width="60" :selectable="(row) => row.state == 1" />
<el-table-column prop="signId" label="成交单号" min-width="150px" /> <el-table-column prop="signId" label="成交单号" min-width="180px" />
<el-table-column prop="name" label="线索名称" width="120px" /> <el-table-column prop="name" label="线索名称" width="150px" />
<el-table-column prop="phone" label="联系方式" width="120px" />companyProfit <el-table-column prop="phone" label="联系方式" width="120px" />companyProfit
<el-table-column prop="money" label="回款金额" min-width="120px"> <el-table-column prop="money" label="回款金额" min-width="120px">
<template #default="{ row }"> <template #default="{ row }">
@@ -210,12 +207,6 @@
label="转化人" label="转化人"
min-width="90" min-width="90"
/> />
<el-table-column
v-if="appStore.getAppInfo?.instanceType == 1"
prop="area"
label="区域"
min-width="90"
/>
<el-table-column prop="signUserName" label="登记人" min-width="90" /> <el-table-column prop="signUserName" label="登记人" min-width="90" />
<el-table-column <el-table-column
prop="dealDate" prop="dealDate"
@@ -340,7 +331,6 @@ const searchForm = ref({
applyTime: [], applyTime: [],
applyUser: undefined, applyUser: undefined,
checkTime: [], checkTime: [],
phone: undefined,
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
}) })
@@ -368,7 +358,6 @@ function handleReset() {
applyTime: [], applyTime: [],
applyUser: undefined, applyUser: undefined,
checkTime: [], checkTime: [],
mobile: undefined,
pageNo: 1, pageNo: 1,
pageSize: 20 pageSize: 20
} }

View File

@@ -9,17 +9,12 @@
<el-input v-model="form.password" placeholder="请输入密码" show-password type="password" /> <el-input v-model="form.password" placeholder="请输入密码" show-password type="password" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-button type="primary" :disabled="formLoading" class="w-full" @click="onSubmit"> <el-button type="primary" class="w-full" @click="onSubmit">授权登陆</el-button>
授权登陆 <div v-if="form.code">code: {{ form.code }}</div>
</el-button>
</div> </div>
</template> </template>
<script setup name="MPLogin"> <script setup name="MPLogin">
import { bindWx } from '@/api/login'
const message = useMessage() // 消息弹窗
const form = ref({ const form = ref({
code: undefined, code: undefined,
username: undefined, username: undefined,
@@ -43,29 +38,13 @@ const params = ref({
scope: 'snsapi_base' // snsapi_base 静默授权获取 open id snsapi_userinfo 需要用户授权,获取详细信息 scope: 'snsapi_base' // snsapi_base 静默授权获取 open id snsapi_userinfo 需要用户授权,获取详细信息
// state:'code', // a-zA-Z0-9的参数值最多128字节 // state:'code', // a-zA-Z0-9的参数值最多128字节
}) })
function onSubmit() {
const formLoading = ref(false)
async function onSubmit() {
// 这些需要判断没有 code 情况拉起授权登陆,有就结束放在重复拉起授权登陆 // 这些需要判断没有 code 情况拉起授权登陆,有就结束放在重复拉起授权登陆
if (!form.value.code) { if (!form.value.code) {
const access_url = WX_AUTH_URL + `${new URLSearchParams(params.value)}` + REDIRECT const access_url = WX_AUTH_URL + `${new URLSearchParams(params.value)}` + REDIRECT
location.href = access_url location.href = access_url
} else { } else {
// 校验表单 alert(`授权成功!`)
if (!formRef.value) return
const valid = await formRef.value.validate()
if (!valid) return
// 提交请求
formLoading.value = true
try {
await bindWx(form.value)
message.success('绑定成功')
window.close()
} catch (error) {
console.log(error)
} finally {
formLoading.value = false
}
} }
} }

View File

@@ -122,10 +122,7 @@ const handleQuery = () => {
getList() getList()
} }
async function handleDetail(row: any) { function handleDetail(row: any) {
if (!row.readStatus) {
await handleReadOne(row.id)
}
const url = router.resolve({ const url = router.resolve({
path: '/nm-detail', path: '/nm-detail',
query: { id: row.id } query: { id: row.id }
@@ -136,14 +133,6 @@ async function handleDetail(row: any) {
const tableRef = ref() // 表格的 Ref const tableRef = ref() // 表格的 Ref
const selectedIds = ref<number[]>([]) // 表格的选中 ID 数组 const selectedIds = ref<number[]>([]) // 表格的选中 ID 数组
/** 标记一条站内信已读 */
const handleReadOne = async (id: number) => {
await NotifyMessageApi.updateNotifyMessageRead({
ids: [id]
})
await getList()
}
/** 标记全部站内信已读 **/ /** 标记全部站内信已读 **/
const handleUpdateAll = async () => { const handleUpdateAll = async () => {
await NotifyMessageApi.updateAllNotifyMessageRead({ await NotifyMessageApi.updateAllNotifyMessageRead({

View File

@@ -1,12 +1,5 @@
<!--
* @Author: riverQiu
* @Date: 2024-09-11 18:42:37
* @LastEditors: riverQiu
* @LastEditTime: 2024-09-11 19:03:23
* @Description:
-->
<template> <template>
<div class="container"> <div class="p-20px">
<ContentWrap style="max-width: 1000px; margin: 0 auto"> <ContentWrap style="max-width: 1000px; margin: 0 auto">
<div class="text-center"> <div class="text-center">
<div class="mb-10px" style="font-size: 24px; letter-spacing: 2px"> <div class="mb-10px" style="font-size: 24px; letter-spacing: 2px">
@@ -54,11 +47,6 @@ onMounted(() => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.container {
padding: 20px;
max-height: 100%;
overflow-y: auto;
}
:deep(p) { :deep(p) {
font-size: 14px; font-size: 14px;
} }