Bladeren bron

feat: 销售点接口对接

laiqi 1 jaar geleden
bovenliggende
commit
3aee6cbfc0
5 gewijzigde bestanden met toevoegingen van 174 en 34 verwijderingen
  1. 25 34
      src/pages/index/index.vue
  2. 17 0
      src/service/user/index.ts
  3. 9 0
      src/types/list.ts
  4. 82 0
      src/types/user.ts
  5. 41 0
      src/utils/index.ts

+ 25 - 34
src/pages/index/index.vue

@@ -85,8 +85,9 @@
 
 <script lang="ts" setup>
 import banner1 from '@/static/banner1.png'
-
+import { getUserListApi } from '@/service/user'
 import { ref } from 'vue'
+import { until } from '@vueuse/core'
 
 const current = ref<number>(0)
 const swiperList = ref([banner1, banner1, banner1])
@@ -104,29 +105,25 @@ function handleSwiperChange(e: any) {
 }
 
 // 网点数据
-const locationList = ref([
-  {
-    name: '达川区农机服务站',
-    address: '达州市达川区',
-    phone: '0818-12345678',
-    latitude: 31.209,
-    longitude: 107.511,
-  },
-  {
-    name: '达州市达区农机站',
-    address: '达州市达区',
-    phone: '0818-12345679',
-    latitude: 31.209,
-    longitude: 107.511,
-  },
-  {
-    name: '达州市宣汉县农机推广中心',
-    address: '达州市宣汉县',
-    phone: '0818-12345670',
-    latitude: 31.209,
-    longitude: 107.511,
-  },
-])
+const locationList = ref([])
+
+// 获取销售点列表(users表,usersnature=渠道)
+const getUserList = async () => {
+  const { data: userList, loading } = useRequest(
+    () => getUserListApi({ usersnature: '渠道' }, { pageindex: 1, rows: 999 }),
+    {
+      immediate: true,
+    },
+  )
+
+  await until(loading).toBe(false)
+
+  locationList.value = userList.value.Data.map((item: any) => ({
+    name: item.usersname,
+    address: item.usersaddress,
+    phone: item.usersphone,
+  }))
+}
 
 // 格式化时间文本
 function formatTimeText(time: Date) {
@@ -166,16 +163,6 @@ function handleCall(phone: string) {
   })
 }
 
-// 处理导航
-function handleNavigation(location: any) {
-  uni.openLocation({
-    latitude: location.latitude,
-    longitude: location.longitude,
-    name: location.name,
-    address: location.address,
-  })
-}
-
 // 处理跳转商品
 function handleGoods(location: any) {
   // uni.navigateTo({
@@ -189,6 +176,10 @@ function handleApply() {
     url: '/pages/form/form',
   })
 }
+
+onShow(() => {
+  getUserList()
+})
 </script>
 
 <style>

+ 17 - 0
src/service/user/index.ts

@@ -0,0 +1,17 @@
+import { http } from '@/utils/http'
+import type { UserType } from '@/types/user'
+import type { ListType, ListResponseType } from '@/types/list'
+import { parseQueryValues } from '@/utils'
+
+/** 获取用户列表 */
+export const getUserListApi = (params: Partial<UserType>, page: Partial<ListType>) => {
+  return http.get<ListResponseType<UserType>>('/api/query/list?pagevalue=17', {
+    ...page,
+    ...parseQueryValues(params),
+  })
+}
+
+/** 获取用户详情 */
+export const getUserDetailApi = (id: string) => {
+  return http.post<UserType>('/api/query/view?pagevalue=19', { userid: id })
+}

+ 9 - 0
src/types/list.ts

@@ -0,0 +1,9 @@
+export interface ListType {
+  pageindex: number
+  rows: number
+}
+
+export interface ListResponseType<T> {
+  Data: T[]
+  Total: number
+}

+ 82 - 0
src/types/user.ts

@@ -0,0 +1,82 @@
+/** 客户信息 */
+// CREATE TABLE `users` (
+//   `usersid` varchar(50) NOT NULL COMMENT '用户id',
+//   `usersname` varchar(50) DEFAULT NULL COMMENT '用户名称',
+//   `usersnature` varchar(50) DEFAULT NULL COMMENT '用户性质(用户/渠道)',
+//   `userssuperiorid` varchar(50) DEFAULT NULL COMMENT '用户关联上级id',
+//   `usersidcardnumber` varchar(50) DEFAULT NULL COMMENT '用户证件号码',
+//   `usersbankname` varchar(50) DEFAULT NULL COMMENT '用户开户银行名称',
+//   `usersbanknumber` varchar(50) DEFAULT NULL COMMENT '用户开户银行账号',
+//   `usersphone` varchar(50) DEFAULT NULL COMMENT '用户手机号',
+//   `usersemail` varchar(50) DEFAULT NULL COMMENT '用户邮箱',
+//   `usersaddress` varchar(100) DEFAULT NULL COMMENT '用户地址',
+//   `userscontactphone` varchar(50) DEFAULT NULL COMMENT '用户联系手机号',
+//   `userscontactemail` varchar(50) DEFAULT NULL COMMENT '用户联系邮箱',
+//   `userscontactaddress` varchar(50) DEFAULT NULL COMMENT '用户联系地址',
+//   `usersopenid` varchar(50) DEFAULT NULL COMMENT '用户微信openid',
+//   `usersauthstatus` tinyint(2) DEFAULT NULL COMMENT '用户是否实名(0:未认证,1:已认证)',
+//   `usersdate` datetime DEFAULT NULL COMMENT '用户创建时间',
+//   `userstype` varchar(50) DEFAULT NULL COMMENT '用户类型(个人/企业)\n)',
+//   `usersfrdbdh` varchar(50) DEFAULT NULL COMMENT '法人代表电话(座机)',
+//   `usersfrdbsjh` varchar(50) DEFAULT NULL COMMENT '法人代表手机号',
+//   `usersxssjh` varchar(50) DEFAULT NULL COMMENT '销售手机号',
+//   `usersxsdh` varchar(50) DEFAULT NULL COMMENT '销售电话(座机)',
+//   `usersshtyxydm` varchar(50) DEFAULT NULL COMMENT '社会统一企业代码',
+//   `userszcd` varchar(100) DEFAULT NULL COMMENT '企业注册地',
+//   `userscz` varchar(50) DEFAULT NULL COMMENT '传真',
+//   `usersbz` varchar(1000) DEFAULT NULL COMMENT '备注',
+//   PRIMARY KEY (`usersid`)
+// ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息';
+
+export interface UserType {
+  /** 用户id */
+  usersid: string
+  /** 用户名称 */
+  usersname: string
+  /** 用户性质(用户/渠道) */
+  usersnature: string
+  /** 用户关联上级id */
+  userssuperiorid: string
+  /** 用户证件号码 */
+  usersidcardnumber: string
+  /** 用户开户银行名称 */
+  usersbankname: string
+  /** 用户开户银行账号 */
+  usersbanknumber: string
+  /** 用户手机号 */
+  usersphone: string
+  /** 用户邮箱 */
+  usersemail: string
+  /** 用户地址 */
+  usersaddress: string
+  /** 用户联系手机号 */
+  userscontactphone: string
+  /** 用户联系邮箱 */
+  userscontactemail: string
+  /** 用户联系地址 */
+  userscontactaddress: string
+  /** 用户微信openid */
+  usersopenid: string
+  /** 用户是否实名(0:未认证,1:已认证) */
+  usersauthstatus: number
+  /** 用户创建时间 */
+  usersdate: string
+  /** 用户类型 */
+  userstype: string
+  /** 法人代表电话(座机) */
+  usersfrdbdh: string
+  /** 法人代表手机号 */
+  usersfrdbsjh: string
+  /** 销售手机号 */
+  usersxssjh: string
+  /** 销售电话(座机) */
+  usersxsdh: string
+  /** 社会统一企业代码 */
+  usersshtyxydm: string
+  /** 企业注册地 */
+  userszcd: string
+  /** 传真 */
+  userscz: string
+  /** 备注 */
+  usersbz: string
+}

+ 41 - 0
src/utils/index.ts

@@ -176,3 +176,44 @@ export const getEnvBaseUploadUrl = () => {
 
   return baseUploadUrl
 }
+
+/**
+ * 后端数据格式化为json数据
+ * {
+      "usersid": {
+          "label": "用户id",
+          "disable": false,
+          "value": "1"
+      },
+      "usersname": {
+          "label": "用户名称",
+          "disable": false,
+          "value": "123"
+      },
+   }
+   转换为
+   {
+      usersid: '1',
+      usersname: '123',
+   }
+ */
+export const formatBackendJson = (obj: Record<string, any>) => {
+  const result: Record<string, any> = {}
+  for (const key in obj) {
+    result[key] = obj[key].value
+  }
+  return result
+}
+
+/**
+ * 将请求的参数{key: value}转换为{key.value: value}  兼容  后端list的条件查询 和 详情请求
+ * @param obj
+ * @returns obj
+ */
+export const parseQueryValues = (obj: Record<string, any>) => {
+  const result: Record<string, any> = {}
+  for (const key in obj) {
+    result[`${key}.value`] = obj[key]
+  }
+  return result
+}