Browse Source

从总仓库分离出移动端,减少冲突方便维护

zhujindu 1 năm trước cách đây
commit
5bc127c3c4
100 tập tin đã thay đổi với 29616 bổ sung0 xóa
  1. 3 0
      .env
  2. 14 0
      .env.development
  3. 17 0
      .env.production
  4. 15 0
      .env.test
  5. 18 0
      .eslintrc.js
  6. 24 0
      .gitignore
  7. 16 0
      README.md
  8. 5 0
      babel.config.js
  9. 27798 0
      package-lock.json
  10. 62 0
      package.json
  11. BIN
      public/favicon.ico
  12. 38 0
      public/index.html
  13. 2 0
      public/robots.txt
  14. 36 0
      src/App.vue
  15. 52 0
      src/api/clew.js
  16. 800 0
      src/api/index.js
  17. 82 0
      src/api/inventory.js
  18. 59 0
      src/api/visitstore.js
  19. 1 0
      src/assets/1.svg
  20. BIN
      src/assets/Icon/addShop.png
  21. BIN
      src/assets/Icon/ai.png
  22. BIN
      src/assets/Icon/aiselect.png
  23. BIN
      src/assets/Icon/avatar1.png
  24. BIN
      src/assets/Icon/clcik.png
  25. BIN
      src/assets/Icon/datatims.png
  26. BIN
      src/assets/Icon/history.png
  27. BIN
      src/assets/Icon/home.png
  28. BIN
      src/assets/Icon/hone-select.png
  29. BIN
      src/assets/Icon/jihua.png
  30. BIN
      src/assets/Icon/jihuaselect.png
  31. BIN
      src/assets/Icon/out.png
  32. BIN
      src/assets/Icon/outselect.png
  33. BIN
      src/assets/Icon/ry.png
  34. BIN
      src/assets/Icon/store.png
  35. BIN
      src/assets/Icon/storeselect.png
  36. BIN
      src/assets/Icon/times.png
  37. BIN
      src/assets/Icon/tm.png
  38. BIN
      src/assets/Icon/top1.png
  39. BIN
      src/assets/Icon/top2.png
  40. BIN
      src/assets/Icon/top3.png
  41. BIN
      src/assets/Icon/top4.png
  42. BIN
      src/assets/Icon/yt.png
  43. BIN
      src/assets/Icon/yy.png
  44. BIN
      src/assets/Icon/zw.png
  45. BIN
      src/assets/Network.png
  46. BIN
      src/assets/Weekly.png
  47. 52 0
      src/assets/activeother.svg
  48. 52 0
      src/assets/activestoreA.svg
  49. BIN
      src/assets/avatar2.png
  50. BIN
      src/assets/bfxx.png
  51. BIN
      src/assets/bg.png
  52. BIN
      src/assets/call.png
  53. 1 0
      src/assets/check.svg
  54. BIN
      src/assets/daily.png
  55. BIN
      src/assets/doubleWeekly.png
  56. BIN
      src/assets/envelopes.png
  57. BIN
      src/assets/err.png
  58. BIN
      src/assets/feedback.png
  59. BIN
      src/assets/jianjie.jpg
  60. BIN
      src/assets/jiarujihua.png
  61. BIN
      src/assets/kehuxinxi-2.png
  62. BIN
      src/assets/lishishuju.png
  63. BIN
      src/assets/list.png
  64. BIN
      src/assets/location.png
  65. BIN
      src/assets/logo1.png
  66. BIN
      src/assets/mapzb.png
  67. BIN
      src/assets/marker_blue.png
  68. BIN
      src/assets/mendianguanli-3.png
  69. BIN
      src/assets/mp.png
  70. BIN
      src/assets/mp1.png
  71. BIN
      src/assets/mpimg.png
  72. BIN
      src/assets/nocj.png
  73. BIN
      src/assets/ord.png
  74. BIN
      src/assets/order.png
  75. BIN
      src/assets/order60.png
  76. BIN
      src/assets/ordernum.png
  77. 32 0
      src/assets/other.svg
  78. 46 0
      src/assets/otheractive.svg
  79. BIN
      src/assets/othermap.png
  80. BIN
      src/assets/paste.png
  81. 1 0
      src/assets/positinon.svg
  82. BIN
      src/assets/sbpm.png
  83. BIN
      src/assets/sbpmdh.png
  84. BIN
      src/assets/sp.png
  85. 32 0
      src/assets/storeA.svg
  86. 46 0
      src/assets/storeAactive.svg
  87. BIN
      src/assets/storeAmap.png
  88. 32 0
      src/assets/storeBCZ.svg
  89. 46 0
      src/assets/storeBCZactive.svg
  90. BIN
      src/assets/storeBCZmap.png
  91. 32 0
      src/assets/storeBFS.svg
  92. 46 0
      src/assets/storeBFSactive.svg
  93. BIN
      src/assets/storeBFSmap.png
  94. 32 0
      src/assets/storeBOther.svg
  95. 46 0
      src/assets/storeBOtheractive.svg
  96. BIN
      src/assets/storeBOthermap.png
  97. 32 0
      src/assets/storeCCM.svg
  98. 46 0
      src/assets/storeCCMactive.svg
  99. BIN
      src/assets/storeCCMmap.png
  100. 0 0
      src/assets/storeGold.svg

+ 3 - 0
.env

@@ -0,0 +1,3 @@
+VUE_APP_PublicTitle=SFA
+VUE_APP_publicPath=/order/
+

+ 14 - 0
.env.development

@@ -0,0 +1,14 @@
+# 页面标题
+VUE_APP_TITLE = 门店拜访
+
+# 开发环境配置
+ENV = 'development'
+VUE_APP_Target=https://ssbsfatest.nipponpaint.com.cn
+VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
+VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
+# 门店拜访/开发环境
+#VUE_APP_BASE_API = '/dev-api/'
+VUE_APP_BASE_API = '/ssbsfa/'
+# VUE_APP_BASE_API = '/'
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 17 - 0
.env.production

@@ -0,0 +1,17 @@
+
+# 页面标题
+VUE_APP_TITLE = 门店拜访
+
+# 开发环境配置
+ENV = 'production'
+
+# 正式环境
+VUE_APP_Target=https://ssbsfa.nipponpaint.com.cn
+VUE_APP_SSB_LINK=http://suishenbang.nipponpaint.com.cn
+VUE_APP_XD_LINK=http://b2b.nipponpaint.com.cn
+# 测试环境
+# VUE_APP_Target=https://ssbsfatest.nipponpaint.com.cn 
+# VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
+# VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
+VUE_APP_BASE_API='/ssbsfa/'
+devtool=cheap-module-source-map

+ 15 - 0
.env.test

@@ -0,0 +1,15 @@
+# 页面标题
+VUE_APP_TITLE = 门店拜访
+
+# 本地开发环境配置
+ENV = 'test'
+# VUE_APP_Target=http://192.168.100.53:9560
+VUE_APP_Target=https://ssbsfatest.nipponpaint.com.cn
+VUE_APP_SSB_LINK=http://suishenbangtest.nipponpaint.com.cn
+VUE_APP_XD_LINK=http://b2btest.nipponpaint.com.cn
+# 门店拜访/开发环境
+#VUE_APP_BASE_API = '/dev-api/'
+VUE_APP_BASE_API = '/ssbsfa/'
+# VUE_APP_BASE_API = '/'
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 18 - 0
.eslintrc.js

@@ -0,0 +1,18 @@
+module.exports = {
+  root: true,
+  env: {
+    node: true
+  },
+  'extends': [
+    'plugin:vue/essential',
+    'eslint:recommended'
+  ],
+  rules: {
+	  "no-mixed-spaces-and-tabs": "off",
+    "no-console": 0,
+    "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off"
+  },
+  parserOptions: {
+    parser: 'babel-eslint'
+  },
+};

+ 24 - 0
.gitignore

@@ -0,0 +1,24 @@
+.DS_Store
+node_modules
+/dist
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+/mobile/

+ 16 - 0
README.md

@@ -0,0 +1,16 @@
+# storevisit-ui-mobile
+
+## Project setup
+```
+npm install
+```
+
+### Compiles and hot-reloads for development
+```
+npm run dev
+```
+
+### Compiles and minifies for production
+```
+npm run build:prod
+

+ 5 - 0
babel.config.js

@@ -0,0 +1,5 @@
+module.exports = {
+  presets: [
+    '@vue/cli-plugin-babel/preset'
+  ]
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 27798 - 0
package-lock.json


+ 62 - 0
package.json

@@ -0,0 +1,62 @@
+{
+  "name": "storevisit-ui-mobile",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "dev": "vue-cli-service serve",
+    "test": "vue-cli-service serve --mode test",
+    "prod": "vue-cli-service serve --mode production",
+    "build:dev": "vue-cli-service build --mode development",
+    "build:prod": "vue-cli-service build",
+    "lint": "vue-cli-service lint"
+  },
+  "dependencies": {
+    "@vant/touch-emulator": "^1.4.0",
+    "axios": "^0.24.0",
+    "axios-jsonp": "^1.0.4",
+    "clipboard": "^2.0.11",
+    "coordtransform": "^2.1.2",
+    "core-js": "^3.6.5",
+    "element-ui": "^2.15.6",
+    "vant": "^2.12.37",
+    "vconsole": "^3.15.1",
+    "vue": "^2.6.11",
+    "vue-baidu-map": "^0.21.22",
+    "vue-jsonp": "^2.0.0",
+    "vue-router": "^3.5.3",
+    "watermark-dom": "^2.3.0"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "~4.5.0",
+    "@vue/cli-plugin-eslint": "~4.5.0",
+    "@vue/cli-service": "~4.5.0",
+    "babel-eslint": "^10.1.0",
+    "eslint": "^6.7.2",
+    "eslint-plugin-prettier": "^3.1.1",
+    "eslint-plugin-vue": "^6.2.2",
+    "sass": "^1.23.7",
+    "sass-loader": "^8.0.0",
+    "vue-template-compiler": "^2.6.11"
+  },
+  "eslintConfig": {
+    "root": true,
+    "env": {
+      "node": true
+    },
+    "extends": [
+      "plugin:vue/essential",
+      "eslint:recommended"
+    ],
+    "parserOptions": {
+      "parser": "babel-eslint"
+    },
+    "rules": {
+      "no-unused-vars": "off"
+    }
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not dead"
+  ]
+}

BIN
public/favicon.ico


+ 38 - 0
public/index.html

@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta
+            name="viewport"
+            content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"
+    />
+    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
+    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+    <title><%= webpackConfig.name %></title>
+</head>
+<body class="bgcolor">
+<noscript>
+    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
+</noscript>
+<div id="app"></div>
+<script>
+    if (GetQueryValue("loginName") != null) {
+        localStorage.removeItem('loginType')
+        localStorage.setItem('loginName', GetQueryValue("loginName"));
+        location.href=location.href.split("?")[0]+"?v="+new Date().getTime();
+    }
+    function GetQueryValue(queryName) {
+        var query = decodeURI(window.location.search.substring(1));
+        var vars = query.split("&");
+        for (var i = 0; i < vars.length; i++) {var pair = vars[i].split("=");if (pair[0] == queryName) {return pair[1];}}
+        return null;
+    }
+</script>
+<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
+<script src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"></script>
+<!--生产、uat-->
+<script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&libraries=service,tools&key=Y7SBZ-PI5K5-FOJIT-ILHLY-PN66T-HKB4A"></script>
+</body>
+</html>
+

+ 2 - 0
public/robots.txt

@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /

+ 36 - 0
src/App.vue

@@ -0,0 +1,36 @@
+<template>
+  <div id="app" class="bgcolor">
+    <router-view/>
+  </div>
+</template>
+<script>
+import watermark from 'watermark-dom'
+
+export default {
+  name: "App",
+  mounted(){
+    setTimeout(()=>{
+      let username = localStorage.getItem("nickName");
+      if(username){
+        let now = new Date();
+        let year = now.getFullYear();
+        let month = now.getMonth()+1;
+        let day = now.getDate();
+        month = month<10?'0'+month:month;
+        day = day<10?'0'+day:day;
+        let date = year+'-'+month+'-'+day;
+        watermark.load({
+          watermark_txt: username+'@立邦'+date,watermark_fontsize:'13px',
+          watermark_width:100,
+          watermark_rows:0,
+          watermark_cols:3,
+          watermark_height:50,
+          watermark_x_space:10,
+          watermark_y_space:60,
+          watermark_alpha:0.1,
+        })
+      }
+    },1000)
+  }
+};
+</script>

+ 52 - 0
src/api/clew.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 不想写
+export function infolist(query) {
+    return request({
+        url: 'mobile/customerClueInfo/infolist',
+        method: 'get',
+        params: query
+    })
+}
+export function getCustomerClueInfoById(query) {
+    return request({
+        url: 'mobile/customerClueInfo/getCustomerClueInfoById',
+        method: 'get',
+        params: query
+    })
+}
+export function insertCustomerClueAnswer(data) {
+    return request({
+        url: 'mobile/customerClueInfo/insertCustomerClueAnswer',
+        method: 'post',
+        data
+    })
+}
+export function addPhotoK(data) {
+    return request({
+        url: 'mobile/customerClueInfo/addPhoto',
+        method: 'post',
+        data
+    })
+}
+export function getCustomerClueAnswerById(query) {
+    return request({
+        url: 'mobile/customerClueInfo/getCustomerClueAnswerById',
+        method: 'get',
+        params: query
+    })
+}
+export function getDeptInfo(query) {
+    return request({
+        url: 'mobile/customerClueInfo/getDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function updateCustomerClueDept(query) {
+    return request({
+        url: 'mobile/customerClueInfo/updateCustomerClueDept',
+        method: 'get',
+        params: query
+    })
+}

+ 800 - 0
src/api/index.js

@@ -0,0 +1,800 @@
+import request from '@/utils/request'
+
+// // 查询省市区(县)
+export function getSelectRegionsList(query) {
+    return request({
+        url: 'sfa/store/cover/selectRegionsList',
+        method: 'get',
+        params: query
+    })
+}
+export function getvisitDeptInfo(query) {
+    return request({
+        url: '/mobile/visit/getDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function userTodayPlanNum(query) {
+    return request({
+        url: 'mobile/route/userTodayPlanNum',
+        method: 'get',
+        params: query
+    })
+}
+
+//获取门店
+// 计划内
+export function getUserInPlanList(query) {
+    return request({
+        url: 'mobile/route/userInPlan',
+        method: 'get',
+        params: query
+    })
+}
+
+export function addVisits(data) {
+    return request({
+        url: 'mobile/storeGroup/addVisits',
+        method: 'post',
+        data
+    })
+}
+
+export function addCollectionAnswer(data) {
+    return request({
+        url: 'mobile/storeGroup/addCollectionAnswer',
+        method: 'post',
+        data
+    })
+}
+
+export function endVisits(data) {
+    return request({
+        url: 'mobile/storeGroup/endVisits',
+        method: 'post',
+        data
+    })
+}
+
+export function removePhoto(data) {
+    return request({
+        url: 'mobile/storeGroup/removePhoto?fileId=' + data.fileId,
+        method: 'post'
+    })
+}
+
+export function editDwellTime(data) {
+    return request({
+        url: 'mobile/storeGroup/editDwellTime?dwellTime=' + data.dwellTime + '&visitsId=' + data.visitsId,
+        method: 'post'
+    })
+}
+
+export function getStoreGroupTask(data) {
+    return request({
+        url: 'mobile/storeGroup/getStoreGroupTask',
+        method: 'post',
+        data
+    })
+}
+export function restartProcess(query) {
+    return request({
+        url: 'mobile/storeGroup/restartProcess',
+        method: 'get',
+        params: query
+    })
+}
+// 计划外
+export function getUserOutPlaList(query) {
+    return request({
+        url: 'mobile/route/userOutPlan',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getPhotoTypeList(query) {
+    return request({
+        url: 'mobile/storeGroup/sfa_task_photo_type',
+        method: 'get',
+        params: query
+    })
+}
+
+// 城市等级
+export function getCityLevelList(query) {
+    return request({
+        url: 'mobile/storeGroup/sfa_city_level',
+        method: 'get',
+        params: query
+    })
+}
+
+// 门店类型
+export function getStoreTypeListlp(query) {
+    return request({
+        url: 'mobile/storeGroup/getStoreTypeList',
+        method: 'get',
+        params: query
+    })
+}
+export function getStoreTypeList(query) {
+    return request({
+        url: 'mobile/storeGroup/sfa_store_type',
+        method: 'get',
+        params: query
+    })
+}
+export function getstoreCoverPosition(query) {
+    return request({
+        url: 'mobile/storeGroup/store_cover_position',
+        method: 'get',
+        params: query
+    })
+}
+export function double_week_type(query) {
+    return request({
+        url: 'mobile/storeGroup/double_week_type',
+        method: 'get',
+        params: query
+    })
+}
+export function getStoreyslTypeList(query) {
+    return request({
+        url: 'mobile/storeGroup/ysl_store_type',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getPhotoTypeList1(query) {
+    return request({
+        url: 'mobile/storeGroup/sfa_abnormal_reason',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getTCFXList(query) {
+    return request({
+        url: 'mobile/storeGroup/TCFX',
+        method: 'get',
+        params: query
+    })
+}
+// 客户信息来源
+export function getCustomerInfoList() {
+    return request({
+        url: 'mobile/storeGroup/customer_info_from',
+        method: 'get'
+    })
+}
+export function getpotentialCustomerTypeList() {
+    return request({
+        url: 'mobile/storeGroup/potential_customer_type',
+        method: 'get'
+    })
+}
+// 客户性质
+export function getCustomerNatureList() {
+    return request({
+        url: 'mobile/storeGroup/customer_nature',
+        method: 'get'
+    })
+}
+// 主要项目类型
+export function getMainProjectList() {
+    return request({
+        url: 'mobile/storeGroup/main_project_type',
+        method: 'get'
+    })
+}
+// 	主要关系来源
+export function getMainRelationList() {
+    return request({
+        url: 'mobile/storeGroup/main_relation_from',
+        method: 'get'
+    })
+}
+// 	经营模式
+export function getManagementModelList() {
+    return request({
+        url: 'mobile/storeGroup/management_model',
+        method: 'get'
+    })
+}
+export function getSJSList(query) {
+    return request({
+        url: 'mobile/storeGroup/SJS',
+        method: 'get',
+        params: query
+    })
+}
+export function getQGJZist(query) {
+    return request({
+        url: 'mobile/storeGroup/QGJZ',
+        method: 'get',
+        params: query
+    })
+}
+export function getbrands(query) {
+    return request({
+        url: 'mobile/storeGroup/main_competitor_brands',
+        method: 'get',
+        params: query
+    })
+}
+// 客户信息
+export function getUserOrgStoreList(query) {
+    return request({
+        url: 'mobile/route/userOrgStore',
+        method: 'get',
+        params: query
+    })
+}
+
+// 历史拜访
+export function getVisitsDetail(query) {
+    return request({
+        url: 'mobile/storeGroup/getVisitsDetail',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getVisitsList(data) {
+    return request({
+        url: 'mobile/storeGroup/getVisitsList',
+        method: 'post',
+        data
+    })
+}
+export function getVisits(query) {
+    return request({
+        url: 'mobile/visit/list',
+        method: 'get',
+        params: query
+    })
+}
+export function storeMyList(query) {
+    return request({
+        url: 'mobile/store/myList',
+        method: 'get',
+        params: query
+    })
+}
+
+// 公共
+export function addPhoto(data) {
+    return request({
+        url: 'mobile/storeGroup/addPhoto',
+        method: 'post',
+        data
+    })
+}
+
+export function loginLog(data) {
+    return request({
+        url: 'mobile/route/loginLog',
+        method: 'post',
+        data
+    })
+}
+
+export function ticket(query) {
+    return request({
+        url: 'mobile/wx/ticket',
+        method: 'get',
+        params: query
+    })
+}
+
+// 客户信息
+export function storeList(query) {
+    return request({
+        url: 'mobile/store/list',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getById(query) {
+    return request({
+        url: 'mobile/store/getById',
+        method: 'get',
+        params: query
+    })
+}
+
+export function addStore(data) {
+    return request({
+        url: 'mobile/store/addStore',
+        method: 'post',
+        data
+    })
+}
+
+export function updateStore(data) {
+    return request({
+        url: 'mobile/store/updateStore',
+        method: 'post',
+        data
+    })
+}
+
+export function uploadImage(data) {
+    return request({
+        url: 'mobile/store/uploadImage',
+        method: 'post',
+        data
+    })
+}
+export function uploadImageaddress(data) {
+    return request({
+        url: 'mobile/store/uploadCheckAddressImage',
+        method: 'post',
+        data
+    })
+}
+
+export function beforeAdd(query) {
+    return request({
+        url: 'mobile/store/beforeAdd',
+        method: 'get',
+        params: query
+    })
+}
+
+export function streetQuery(query) {
+    return request({
+        url: 'mobile/store/streetQuery',
+        method: 'get',
+        params: query
+    })
+}
+
+export function homeImge(query) {
+    return request({
+        url: 'mobile/route/homeImge',
+        method: 'get',
+        params: query
+    })
+}
+
+export function suishenbangStoreSale(query) {
+    return request({
+        url: 'mobile/store/suishenbangStoreSale',
+        method: 'get',
+        params: query
+    })
+}
+// 周日报
+export function getReportInfo(query) {
+    return request({
+        url: 'mobile/reportMobile/getReportInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function approveList(query) {
+    return request({
+        url: 'mobile/reportMobile/approveList',
+        method: 'get',
+        params: query
+    })
+}
+export function getDetailById(query) {
+    return request({
+        url: 'mobile/reportMobile/getDetailById',
+        method: 'get',
+        params: query
+    })
+}
+export function queryHistoryList(query) {
+    return request({
+        url: 'mobile/reportMobile/queryHistoryList',
+        method: 'get',
+        params: query
+    })
+}
+// 报表模块
+export function getDeptInfo(query) {
+    return request({
+        url: 'mobile/reportMobile/getDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function getDeptInfos(query) {
+    return request({
+        url: 'mobile/summaryMobile/GetDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function queryRates(query) {
+    return request({
+        url: 'mobile/reportMobile/queryRates',
+        method: 'get',
+        params: query
+    })
+}
+export function updateReport(data) {
+    return request({
+        url: 'mobile/reportMobile/updateReport',
+        method: 'post',
+        data
+    })
+}
+// 下午汇报查询
+export function querySubReport(query) {
+    return request({
+        url: 'mobile/reportMobile/querySubReport',
+        method: 'get',
+        params: query
+    })
+}
+export function mobileLogin(data) {
+    return request({
+        url: 'mobileLogin',
+        method: 'post',
+        data
+    })
+}
+export function tsContents(data) {
+    return request({
+        url: 'mobile/reportMobile/tsContents',
+        method: 'post',
+        data
+    })
+}
+
+
+// 点评
+export function remarkList(query) {
+    return request({
+        url: 'mobile/reportMobile/remarkList',
+        method: 'get',
+        params: query
+    })
+}
+
+export function insertRemark(data) {
+    return request({
+        url: '/mobile/reportMobile/insertRemark',
+        method: 'post',
+        data
+    })
+}
+export function insertVisitRemark(data) {
+    return request({
+        url: '/mobile/visit/insertRemark',
+        method: 'post',
+        data
+    })
+}
+
+// 拜访计划接口
+// 结束拜访
+export function stopVisit(query) {
+    return request({
+        url: 'mobile/storeGroup/stopVisit',
+        method: 'get',
+        params: query
+    })
+}
+export function checkVisit(query) {
+    return request({
+        url: 'mobile/storeGroup/checkVisit',
+        method: 'get',
+        params: query
+    })
+}
+
+export function addVisitsPosition(data) {
+    return request({
+        url: '/mobile/visit/addVisitsPosition',
+        method: 'post',
+        data
+    })
+}
+// 初始化坐标
+export function mobileReposition(query) {
+    return request({
+        url: '/mobile/store/mobileReposition',
+        method: 'get',
+        params: query
+    })
+}
+
+//客户信息
+// 手机号校验
+export function phoneCheck(query) {
+    return request({
+        url: '/mobile/store/phoneCheck',
+        method: 'get',
+        params: query
+    })
+}
+//TOP经销商总结
+export function getSummaryDetailById(query) {
+    return request({
+        url: '/mobile/summaryMobile/getDetailById',
+        method: 'get',
+        params: query
+    })
+}
+export function insertCustomAnswer(data) {
+    return request({
+        url: '/mobile/summaryMobile/insertCustomAnswer',
+        method: 'post',
+        data
+    })
+}
+export function addSummaryPhoto(data) {
+    return request({
+        url: '/mobile/summaryMobile/addPhoto',
+        method: 'post',
+        data
+    })
+}
+export function  removeSummaryPhoto(data) {
+    return request({
+        url: '/mobile/summaryMobile/removePhoto?fileId='+data.fileId,
+        method: 'post',
+        data
+    })
+}
+
+export function queryHistorySummaryList(query) {
+    return request({
+        url: '/mobile/summaryMobile/queryHistorySummaryList',
+        method: 'get',
+        params: query
+    })
+}
+export function getSummaryMobileDeptInfo(query) {
+    return request({
+        url: '/mobile/summaryMobile/getDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function getSummaryMobilo(query) {
+    return request({
+        url: '/mobile/summaryMobile/'+query.userSummaryId,
+        method: 'get',
+        params: query
+    })
+}
+
+// 审批数量
+export function applyNumber(query) {
+    return request({
+        url: '/mobile/activiti/todoItem/applyNumber',
+        method: 'get',
+        params: query
+    })
+}
+export function getTodoItemList(query) {
+    return request({
+        url: '/mobile/activiti/todoItem/list',
+        method: 'get',
+        params: query
+    })
+}
+export function getTodoItemMyList(query) {
+    return request({
+        url: '/mobile/activiti/todoItem/myList',
+        method: 'get',
+        params: query
+    })
+}
+// 厨卫类型
+export function getCWStoreTypeList(query) {
+    return request({
+        url: '/mobile/storeGroup/cw_store_type',
+        method: 'get',
+        params: query
+    })
+}
+//
+export function completeAll(data) {
+    return request({
+        url: '/mobile/activiti/process/completeAll',
+        method: 'post',
+        data
+    })
+}
+
+// 大客户列表
+export function getstoreCustomerSignList(query) {
+    return request({
+        url: '/mobile/storeCustomerSign/list',
+        method: 'get',
+        params: query
+    })
+}
+// 大客户详情
+export function getCustomerSignDetail(query) {
+    return request({
+        url: '/mobile/storeCustomerSign/getCustomerSignDetail',
+        method: 'get',
+        params: query
+    })
+}
+export function storeCustomerSignList(query) {
+    return request({
+        url: '/mobile/storeCustomerSign/list',
+        method: 'get',
+        params: query
+    })
+}
+export function addComplete(data) {
+    return request({
+        url: '/mobile/activiti/process/complete',
+        method: 'post',
+        data:data
+    })
+}
+export function editCustomerSign(data) {
+    return request({
+        url: '/mobile/storeCustomerSign',
+        method: 'put',
+        data
+    })
+}
+// 审批历史
+export function getListHistoryaList(data) {
+    return request({
+        url: '/mobile/activiti/process/listHistory',
+        method: 'post',
+        data
+    })
+}
+export function getListHistoryList(query) {
+    return request({
+        url: '/mobile/activiti/process/visitListHistory',
+        method: 'get',
+        params: query
+    })
+}
+//拜访历史
+export function visitStorelist(query) {
+    return request({
+        url: '/mobile/visit/store/list',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getChainsByDeptCode(query) {
+    return request({
+        url: '/mobile/store/getChainsByDeptId',
+        method: 'get',
+        params: query
+    })
+}
+// 照片上传
+//门店
+export function uploadImagev(data) {
+    return request({
+        url: '/mobile/store/uploadImage',
+        method: 'post',
+        data: data
+    })
+}
+//任务
+export function addPhotov(data) {
+    return request({
+        url: '/mobile/summaryMobile/addPhoto',
+        method: 'post',
+        data: data
+    })
+}
+// 拜访
+export function addstorePhoto(data) {
+    return request({
+        url: '/mobile/storeGroup/addPhoto',
+        method: 'post',
+        data: data
+    })
+}
+export function buryingPoint(data) {
+    return request({
+        url: '/mobile/buryingPoint',
+        method: 'post',
+        data: data
+    })
+}
+export function addstoreRegister(data) {
+    return request({
+        url: '/mobile/store/updateStoreOrder',
+        method: 'post',
+        data: data
+    })
+}
+//清空任务内容
+export function deleteTaskAnswer(query) {
+    return request({
+        url: '/mobile/storeGroup/deleteTaskAnswer',
+        method: 'get',
+        params: query
+    })
+}
+//加入计划
+export function joinInPlan(query) {
+    return request({
+        url: '/mobile/route/joinInPlan',
+        method: 'get',
+        params: query
+    })
+}
+export function getCollectionShowHistory(query) {
+    return request({
+        url: '/mobile/storeGroup/getCollectionShowHistory',
+        method: 'get',
+        params: query
+    })
+}
+export function getProjectList(query) {
+    return request({
+        url: '/mobile/storeGroup/getProjectList',
+        method: 'get',
+        params: query
+    })
+}
+
+// 标签
+export function getStoreLabels(query) {
+    return request({
+        url: '/mobile/storeGroup/getStoreLabels',
+        method: 'get',
+        params: query
+    })
+}
+export function getCustomerList(query) {
+    return request({
+        url: '/mobile/storeGroup/getCustomerList',
+        method: 'get',
+        params: query
+    })
+}
+
+export function getStoreMapInfo(query) {
+    return request({
+        url: '/mobile/store/getStoreMapInfo',
+        method: 'get',
+        params: query
+    })
+}
+//我来的时候什么也没有,注释我也不写了
+export function ProductItemImge(query) {
+    return request({
+        url: '/mobile/route/ProductItemImge',
+        method: 'get',
+        params: query
+    })
+}
+export function getItemList(query) {
+    return request({
+        url: '/mobile/store/getItemList',
+        method: 'get',
+        params: query
+    })
+}
+export function getOptionByResult(query) {
+    return request({
+        url: '/mobile/storeGroup/getOptionByResult',
+        method: 'get',
+        params: query
+    })
+}
+// 获取金牌店铺,同城店铺种类集合
+export function getStoreGroupCategory() {
+    return request({
+        url: '/mobile/storeGroup/store_address_check_category',
+        method: 'get'
+    })
+}

+ 82 - 0
src/api/inventory.js

@@ -0,0 +1,82 @@
+import request from '@/utils/request'
+
+// 我的库存
+export function getMyInventoryList(query) {
+    return request({
+        url: '/mobile/materialInventory/list',
+        method: 'get',
+        params: query
+    })
+}
+// 物料
+export function getReceiveList(query) {
+    return request({
+        url: '/mobile/materialInventory/receiveList',
+        method: 'get',
+        params: query
+    })
+}
+// 编辑物料
+export function addMaterialInventory(data) {
+    return request({
+        url: '/mobile/materialInventory/change',
+        method: 'PUT',
+        data
+    })
+}
+
+//
+export function getVisitsParams(query) {
+    return request({
+        url: 'mobile/storeGroup/getVisitsParams',
+        method: 'get',
+        params: query
+    })
+}
+
+export function saveVisitsParams(data) {
+    return request({
+        url: 'mobile/storeGroup/saveVisitsParams',
+        method: 'post',
+        data
+    })
+}
+// 高净值门店列表
+export function topStore(query) {
+    return request({
+        url: '/mobile/top/topStore',
+        method: 'get',
+        params: query
+    })
+}
+export function topjoinInPlan(query) {
+    return request({
+        url: '/mobile/top/joinInPlan',
+        method: 'get',
+        params: query
+    })
+}
+
+export function aiDialogue(data) {
+    return request({
+        url: 'mobile/ai/aiDialogue',
+        method: 'post',
+        data
+    })
+}
+
+export function moduleList(query) {
+    return request({
+        url: '/mobile/activiti/todoItem/moduleList',
+        method: 'get',
+        params: query
+    })
+}
+// 去下单获取下单地址
+export function getOrderUrlByStoreId(query) {
+    return request({
+        url: '/mobile/route/getOrderUrlByStoreId',
+        method: 'get',
+        params: query
+    })
+}

+ 59 - 0
src/api/visitstore.js

@@ -0,0 +1,59 @@
+import request from '@/utils/request'
+
+// 不想写
+export function getStoreAddress(query) {
+    return request({
+        url: 'mobile/store/getStoreAddress',
+        method: 'get',
+        params: query
+    })
+}
+export function valid(query) {
+    return request({
+        url: 'mobile/store/valid',
+        method: 'get',
+        params: query
+    })
+}
+export function checkStoreAddressByStoreCode(query) {
+    return request({
+        url: 'mobile/store/checkStoreAddressByStoreCode',
+        method: 'get',
+        params: query
+    })
+}
+export function updateStoreAddress(data) {
+    return request({
+        url: 'mobile/store/updateStoreAddress',
+        method: 'post',
+        data
+    })
+}
+export function addPhotoK(data) {
+    return request({
+        url: 'mobile/customerClueInfo/addPhoto',
+        method: 'post',
+        data
+    })
+}
+export function getCustomerClueAnswerById(query) {
+    return request({
+        url: 'mobile/customerClueInfo/getCustomerClueAnswerById',
+        method: 'get',
+        params: query
+    })
+}
+export function getDeptInfo(query) {
+    return request({
+        url: 'mobile/customerClueInfo/getDeptInfo',
+        method: 'get',
+        params: query
+    })
+}
+export function updateCustomerClueDept(query) {
+    return request({
+        url: 'mobile/customerClueInfo/updateCustomerClueDept',
+        method: 'get',
+        params: query
+    })
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
src/assets/1.svg


BIN
src/assets/Icon/addShop.png


BIN
src/assets/Icon/ai.png


BIN
src/assets/Icon/aiselect.png


BIN
src/assets/Icon/avatar1.png


BIN
src/assets/Icon/clcik.png


BIN
src/assets/Icon/datatims.png


BIN
src/assets/Icon/history.png


BIN
src/assets/Icon/home.png


BIN
src/assets/Icon/hone-select.png


BIN
src/assets/Icon/jihua.png


BIN
src/assets/Icon/jihuaselect.png


BIN
src/assets/Icon/out.png


BIN
src/assets/Icon/outselect.png


BIN
src/assets/Icon/ry.png


BIN
src/assets/Icon/store.png


BIN
src/assets/Icon/storeselect.png


BIN
src/assets/Icon/times.png


BIN
src/assets/Icon/tm.png


BIN
src/assets/Icon/top1.png


BIN
src/assets/Icon/top2.png


BIN
src/assets/Icon/top3.png


BIN
src/assets/Icon/top4.png


BIN
src/assets/Icon/yt.png


BIN
src/assets/Icon/yy.png


BIN
src/assets/Icon/zw.png


BIN
src/assets/Network.png


BIN
src/assets/Weekly.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 52 - 0
src/assets/activeother.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 52 - 0
src/assets/activestoreA.svg


BIN
src/assets/avatar2.png


BIN
src/assets/bfxx.png


BIN
src/assets/bg.png


BIN
src/assets/call.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
src/assets/check.svg


BIN
src/assets/daily.png


BIN
src/assets/doubleWeekly.png


BIN
src/assets/envelopes.png


BIN
src/assets/err.png


BIN
src/assets/feedback.png


BIN
src/assets/jianjie.jpg


BIN
src/assets/jiarujihua.png


BIN
src/assets/kehuxinxi-2.png


BIN
src/assets/lishishuju.png


BIN
src/assets/list.png


BIN
src/assets/location.png


BIN
src/assets/logo1.png


BIN
src/assets/mapzb.png


BIN
src/assets/marker_blue.png


BIN
src/assets/mendianguanli-3.png


BIN
src/assets/mp.png


BIN
src/assets/mp1.png


BIN
src/assets/mpimg.png


BIN
src/assets/nocj.png


BIN
src/assets/ord.png


BIN
src/assets/order.png


BIN
src/assets/order60.png


BIN
src/assets/ordernum.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/other.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/otheractive.svg


BIN
src/assets/othermap.png


BIN
src/assets/paste.png


+ 1 - 0
src/assets/positinon.svg

@@ -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="1709192339609" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11881" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 512m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z" fill="#fe413e" p-id="11882"></path></svg>

BIN
src/assets/sbpm.png


BIN
src/assets/sbpmdh.png


BIN
src/assets/sp.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/storeA.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/storeAactive.svg


BIN
src/assets/storeAmap.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/storeBCZ.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/storeBCZactive.svg


BIN
src/assets/storeBCZmap.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/storeBFS.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/storeBFSactive.svg


BIN
src/assets/storeBFSmap.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/storeBOther.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/storeBOtheractive.svg


BIN
src/assets/storeBOthermap.png


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 32 - 0
src/assets/storeCCM.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 46 - 0
src/assets/storeCCMactive.svg


BIN
src/assets/storeCCMmap.png


+ 0 - 0
src/assets/storeGold.svg


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác