liujq 2 年之前
父节点
当前提交
27e099562b
共有 100 个文件被更改,包括 2114 次插入326 次删除
  1. 6 0
      api/base.js
  2. 18 0
      api/cust.js
  3. 3 0
      api/estate.js
  4. 2 0
      api/index.js
  5. 14 0
      pages.json
  6. 14 4
      pages/agent/recommend/create.vue
  7. 1 1
      pages/agent/recommend/list.vue
  8. 282 0
      pages/cust/create.vue
  9. 291 0
      pages/cust/list.vue
  10. 25 19
      pages/index/index.vue
  11. 41 3
      pages/user/login/login.vue
  12. 12 4
      pages/user/login/register.vue
  13. 3 1
      unpackage/dist/build/mp-weixin/app.json
  14. 0 0
      unpackage/dist/build/mp-weixin/common/vendor.js
  15. 0 0
      unpackage/dist/build/mp-weixin/pages/agent/recommend/create.js
  16. 0 0
      unpackage/dist/build/mp-weixin/pages/agent/recommend/list.js
  17. 0 0
      unpackage/dist/build/mp-weixin/pages/cust/create.js
  18. 16 0
      unpackage/dist/build/mp-weixin/pages/cust/create.json
  19. 0 0
      unpackage/dist/build/mp-weixin/pages/cust/create.wxml
  20. 1 0
      unpackage/dist/build/mp-weixin/pages/cust/create.wxss
  21. 0 0
      unpackage/dist/build/mp-weixin/pages/cust/list.js
  22. 14 0
      unpackage/dist/build/mp-weixin/pages/cust/list.json
  23. 0 0
      unpackage/dist/build/mp-weixin/pages/cust/list.wxml
  24. 0 0
      unpackage/dist/build/mp-weixin/pages/cust/list.wxss
  25. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.js
  26. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.wxml
  27. 0 0
      unpackage/dist/build/mp-weixin/pages/index/index.wxss
  28. 0 0
      unpackage/dist/build/mp-weixin/pages/user/login/register.js
  29. 0 0
      unpackage/dist/build/mp-weixin/pages/user/login/register.wxml
  30. 0 0
      unpackage/dist/build/mp-weixin/pages/user/login/register.wxss
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/create.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/detail.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/detail2.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/list.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cust/create.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cust/list.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/login/login.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/login/register.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/HM-filterDropdown/components/HM-filterDropdown/HM-filterDropdown.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-avatar/u-avatar.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-button/u-button.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-divider/u-divider.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-empty/u-empty.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-form-item/u-form-item.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-form/u-form.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-gap/u-gap.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-icon/u-icon.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-image/u-image.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-input/u-input.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-line/u-line.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-loading/u-loading.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-loadmore/u-loadmore.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-mask/u-mask.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-modal/u-modal.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-navbar/u-navbar.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-parse/libs/trees.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-parse/u-parse.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-popup/u-popup.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-radio-group/u-radio-group.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-radio/u-radio.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-select/u-select.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-skeleton/u-skeleton.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-steps/u-steps.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-tag/u-tag.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-time-line-item/u-time-line-item.js.map
  69. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-time-line/u-time-line.js.map
  70. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-toast/u-toast.js.map
  71. 3 1
      unpackage/dist/dev/mp-weixin/app.json
  72. 0 0
      unpackage/dist/dev/mp-weixin/common/main.js
  73. 61 33
      unpackage/dist/dev/mp-weixin/common/vendor.js
  74. 38 28
      unpackage/dist/dev/mp-weixin/pages/agent/recommend/create.js
  75. 24 24
      unpackage/dist/dev/mp-weixin/pages/agent/recommend/detail.js
  76. 110 5
      unpackage/dist/dev/mp-weixin/pages/agent/recommend/detail2.js
  77. 25 25
      unpackage/dist/dev/mp-weixin/pages/agent/recommend/list.js
  78. 424 0
      unpackage/dist/dev/mp-weixin/pages/cust/create.js
  79. 16 0
      unpackage/dist/dev/mp-weixin/pages/cust/create.json
  80. 0 0
      unpackage/dist/dev/mp-weixin/pages/cust/create.wxml
  81. 117 0
      unpackage/dist/dev/mp-weixin/pages/cust/create.wxss
  82. 187 0
      unpackage/dist/dev/mp-weixin/pages/cust/list.js
  83. 14 0
      unpackage/dist/dev/mp-weixin/pages/cust/list.json
  84. 0 0
      unpackage/dist/dev/mp-weixin/pages/cust/list.wxml
  85. 144 0
      unpackage/dist/dev/mp-weixin/pages/cust/list.wxss
  86. 36 30
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  87. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  88. 51 24
      unpackage/dist/dev/mp-weixin/pages/user/login/login.js
  89. 0 0
      unpackage/dist/dev/mp-weixin/pages/user/login/login.wxml
  90. 9 0
      unpackage/dist/dev/mp-weixin/pages/user/login/login.wxss
  91. 31 23
      unpackage/dist/dev/mp-weixin/pages/user/login/register.js
  92. 0 0
      unpackage/dist/dev/mp-weixin/pages/user/login/register.wxml
  93. 1 1
      unpackage/dist/dev/mp-weixin/project.config.json
  94. 3 23
      unpackage/dist/dev/mp-weixin/project.private.config.json
  95. 12 12
      unpackage/dist/dev/mp-weixin/uni_modules/HM-filterDropdown/components/HM-filterDropdown/HM-filterDropdown.js
  96. 13 13
      unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-avatar/u-avatar.js
  97. 12 12
      unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-button/u-button.js
  98. 12 12
      unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-divider/u-divider.js
  99. 13 13
      unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-empty/u-empty.js
  100. 15 15
      unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-form-item/u-form-item.js

+ 6 - 0
api/base.js

@@ -15,4 +15,10 @@ export default {
 	apicheckcaptcha: (params) => { // 检查手机号
 	  return request('api/check/captcha', params)
 	},
+	apiwxlogin: (params) => { // 微信登录
+	  return request('api/wx/login', params, 'loading')
+	},
+	apiwxautologin: (params) => { // 微信登录 自动
+	  return request('api/wx/autologin', params, 'loading')
+	},
 }

+ 18 - 0
api/cust.js

@@ -0,0 +1,18 @@
+import { request } from '@/utils/http'
+export default {
+	apicustomerlist: (params) => { // 客户  列表
+	  return request('api/customer/list', params)
+	},
+	apicustomeradd: (params) => { // 客户  添加
+	  return request('api/customer/add', params, 'loading')
+	},
+	apicustomeredit: (params) => { // 客户  编辑
+	  return request('api/customer/edit', params, 'loading')
+	},
+	apicustomerdel: (params) => { // 客户  删除
+	  return request('api/customer/del', params, 'loading')
+	},
+	apicustomerdetail: (params) => { // 客户  详情
+	  return request('api/customer/detail', params, 'loading')
+	},
+}

+ 3 - 0
api/estate.js

@@ -18,4 +18,7 @@ export default {
 	apireportconfirm: (params) => { // 报备 - 报备确认
 	  return request('api/report/confirm', params, 'loading')
 	},
+	apireportcount: (params) => { // 报备 - 报备统计
+	  return request('api/report/count', params, 'loading')
+	},
 }

+ 2 - 0
api/index.js

@@ -1,6 +1,8 @@
 import base from './base'
 import estate from './estate'
+import cust from './cust'
 export default {
   base,
   estate,
+  cust,
 }

+ 14 - 0
pages.json

@@ -48,6 +48,20 @@
 				"navigationBarTitleText": "客户详情-案场",
 				"enablePullDownRefresh": false
 			}
+		},
+		{
+			"path": "pages/cust/create",
+			"style": {
+				"navigationBarTitleText": "添加客户",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
+			"path": "pages/cust/list",
+			"style": {
+				"navigationBarTitleText": "客户列表",
+				"enablePullDownRefresh": true
+			}
 		}
   ],
 	"globalStyle": {

+ 14 - 4
pages/agent/recommend/create.vue

@@ -46,8 +46,8 @@ export default {
 				phone: null,
 				sex: 'male',
 				remark: null,
-				estate_id: null,
-				estate_name: null,
+				estate_id: 2,
+				estate_name: '江投.朝阳春天',
 				saler_id: null,
 				saler_name: null
 			},
@@ -94,7 +94,17 @@ export default {
 		};
 	},
 	onLoad(data) {
-		
+		const that = this
+		const eventChannel = that.getOpenerEventChannel(); // that 需指向 this
+		// 监听data事件,获取上一页面通过eventChannel.emit传送到当前页面的数据
+		if (eventChannel.on) {
+			eventChannel.on('data', data => {
+				that.form.name = data.info.name;
+				that.form.phone = data.info.phone;
+				that.form.sex = data.info.sex;
+				that.form.remark = data.info.demand;
+			})
+		}
 	},
 	created () {
 		uni.api.estate.apiestatelist().then(res => {
@@ -135,7 +145,7 @@ export default {
 						estate_id: that.form.estate_id,
 						estate_name: that.form.estate_name,
 					}).then(res => {
-						uni.$msgConfirm('添加成功,是否前往客户列表?', () => {
+						uni.$msgConfirm('添加成功,是否前往报备列表?', () => {
 							uni.navigateTo({
 								url: '/pages/agent/recommend/list'
 							})

+ 1 - 1
pages/agent/recommend/list.vue

@@ -264,6 +264,7 @@ export default {
 		// 默认筛选项
 		if (params.filterStepStatus !== undefined) {
 			that.filterStepStatus = parseInt(params.filterStepStatus);
+			this.filterDropdownValue = [[],[],[],[that.filterStepStatus],[]]
 		}
 
 		// 项目筛选
@@ -381,7 +382,6 @@ export default {
 		},
 		// 筛选
 		confirmFilter(e) {
-			console.log(e['value']);
 			if (e['value'][0][0] !== null) that.filterHours = e['value'][0][0];
 			if (e['value'][1][0] !== null) that.filterPropertyId = e['value'][1][0];
 			if (e['value'][2][0] !== null) that.filterVerifyStatus = e['value'][2][0];

+ 282 - 0
pages/cust/create.vue

@@ -0,0 +1,282 @@
+<template>
+	<view class="page">
+		<view class="form">
+			<u-form :model="form" ref="uForm">
+				<u-form-item label-width="150" label="姓名" prop="name" required>
+					<u-input placeholder="请输入客户姓名" v-model="form.name" type="text"></u-input>
+				</u-form-item>
+				<u-form-item label-width="150" label="性别" prop="sex" required>
+					<u-radio-group v-model="form.sex" active-color="#2979ff">
+						<u-radio name="male">先生</u-radio>
+						<u-radio name="female">女士</u-radio>
+					</u-radio-group>
+				</u-form-item>
+				<u-form-item label-width="150" label="手机号" prop="phone" required>
+					<u-input placeholder="请输入手机号" v-model="form.phone" type="number"></u-input>
+				</u-form-item>
+				<u-form-item label-width="150" label="备注信息" prop="remark" label-position="top">
+					<u-input placeholder="客户描述说明,如客户意向户型或面积等信息" v-model="form.remark" type="textarea"></u-input>
+				</u-form-item>
+			</u-form>
+			<u-gap height="60"></u-gap>
+			<u-button type="primary" :diabled="submitButtonDisabled" @click="submitHandle">提交</u-button>
+		</view>
+		<!-- 列表选择 -->
+		<u-select mode="single-column" :list="propertySelectList" v-model="propertySelectShow" @confirm="propertySelectConfirm"></u-select>
+		<u-select mode="single-column" :list="salerSelectList" v-model="salerSelectShow" @confirm="salerSelectConfirm"></u-select>
+		<!-- modal -->
+		<u-modal v-model="submitModalShow" content="请务必仔细确认各项信息是否正确" :show-cancel-button="true" @confirm="submit()"></u-modal>
+		<u-modal v-model="modalShow" :content="modalContent" :show-cancel-button="true" @cancel="modalCancel()" @confirm="modalConfirm()"></u-modal>
+		<!-- utoast -->
+		<u-toast ref="uToast" />
+	</view>
+</template>
+<script>
+export default {
+	data() {
+		return {
+			isEdit: false,
+			form: {
+				name: null,
+				phone: null,
+				sex: 'male',
+				remark: null,
+				estate_id: null,
+				estate_name: null,
+				saler_id: null,
+				saler_name: null
+			},
+			customer_id: null,
+			submitButtonDisabled: true,
+			rules: {
+				name: [
+					{
+						required: true,
+						message: '姓名不得为空',
+						trigger: ['change', 'blur']
+					},
+				],
+				phone: [
+					{
+						required: true,
+						message: '手机号不得为空',
+						trigger: ['change', 'blur']
+					},
+					// 11个字符判断
+					{
+						len: 11,
+						message: '手机号格式不正确',
+						trigger: ['change', 'blur']
+					},
+				],
+				estate_name: [
+					{
+						required: true,
+						message: '意向项目不能为空',
+						trigger: ['change']
+					},
+				]
+			},
+
+			propertySelectShow: false,
+			propertySelectList: [],
+
+			salerSelectShow: false,
+			salerSelectList: [],
+			submitModalShow: false,
+			modalShow: false,
+			modalContent: ''
+		};
+	},
+	onLoad(data) {
+		const that = this
+		const eventChannel = that.getOpenerEventChannel(); // that 需指向 this
+		// 监听data事件,获取上一页面通过eventChannel.emit传送到当前页面的数据
+		if (eventChannel.on) {
+			eventChannel.on('data', data => {
+				if (data) {
+					that.form.name = data.info.name;
+					that.form.phone = data.info.phone;
+					that.form.sex = data.info.sex;
+					that.form.remark = data.info.demand;
+					that.form.id = data.info.id;
+					that.isEdit = true
+					wx.setNavigationBarTitle({
+						title: '编辑客户-' + data.info.name
+					})
+				}
+			})
+		}
+	},
+	created () {
+	},
+	// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
+	onReady() {
+		this.$refs.uForm.setRules(this.rules);
+	},
+	methods: {
+		// 选择所属项目回调
+		propertySelectConfirm(e) {
+			e.map((val, index) => {
+				this.form.estate_id = val.value;
+				this.form.estate_name = val.label;
+			});
+		},
+		submitHandle() {
+			const that = this
+			this.$refs.uForm.validate(valid => {
+				if (valid) {
+					// 验证成功
+					let apiStr = 'apicustomeradd'
+					let params = {
+						phone_type: 1,
+						name: that.form.name,
+						phone: that.form.phone,
+						sex: that.form.sex,
+						demand: that.form.remark,
+					}
+					if(that.isEdit) {
+						apiStr = 'apicustomeredit'
+						params.id = that.form.id
+					}
+					uni.api.cust[apiStr](params).then(res => {
+						if (that.isEdit) {
+							uni.$msgConfirm('编辑成功', () => {
+								uni.reLaunch({
+									url: '/pages/cust/list'
+								})
+							}, () => {
+								uni.reLaunch({
+									url: '/pages/cust/list'
+								})
+							})
+						} else {
+							uni.$msgConfirm('添加成功,是否前往客户列表?', () => {
+								uni.reLaunch({
+									url: '/pages/cust/list'
+								})
+							}, () => {
+								this.form = {
+									name: null,
+									phone: null,
+									sex: 'male',
+									remark: null,
+									estate_id: null,
+									estate_name: null,
+								}
+							})
+						}
+					})
+				} else {
+					console.log('验证失败');
+				}
+			});
+		},
+
+		// 获取手机号
+		getPhoneNumber: function(e) {
+			// 点击获取手机号码按钮
+			let _that = this;
+			if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
+				_that.$refs.uToast.show({
+					title: '您可以在个人设置中再次绑定',
+					type: 'warning'
+				});
+				setTimeout(() => {
+					_that.reLunchUser();
+				}, 1500);
+				return; // 即用户拒绝授权
+			}
+			console.log(e.detail.errMsg);
+			console.log(e.detail.iv);
+			console.log(e.detail.encryptedData);
+			let iv = e.detail.iv;
+			let encryptedData = e.detail.encryptedData;
+			// 不是登陆完第一时间授权
+			wx.login({
+				success(res) {
+					if (res.code) {
+						// 设置用户手机号
+						_that.setUserPhoneNumber(encryptedData, iv, res.code);
+					} else {
+						this.$refs.uToast.show({
+							title: res.errMsg,
+							type: 'warning'
+						});
+						console.log('登录失败!' + res.errMsg);
+					}
+				}
+			});
+		},
+		// 以下是工具函数
+		// 关闭键盘
+		hideKeyboard() {
+			uni.hideKeyboard();
+		},
+		// 格式化日期的月份或天数的显示(小于10,在前面增加0)
+		getFormatDate(value) {
+			if (value == undefined || value == '') {
+				return '';
+			}
+			var str = value;
+			if (parseInt(value) < 10) {
+				str = '0' + value;
+			}
+			return str;
+		}
+	}
+};
+</script>
+<style lang="scss">
+.page {
+	padding: 20rpx;
+	background-color: #ffffff;
+}
+
+.form {
+	border-radius: 10rpx;
+	padding: 0 40rpx;
+}
+
+.popup-body {
+	.tips-title {
+		font-size: $u-p;
+		margin-bottom: 20rpx;
+	}
+
+	.tips-content {
+		font-size: $u-p2;
+		color: $u-tips-color;
+		margin-bottom: 60rpx;
+	}
+}
+
+.id_card {
+	color: #606266;
+	width: 100%;
+	height: 350rpx;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	background-color: #f4f5f6;
+	font-size: $u-p2;
+}
+
+.footer {
+	position: absolute;
+	text-align: center;
+	bottom: 40rpx;
+	font-size: $u-p2;
+
+	.agreement {
+		color: $u-type-error;
+	}
+}
+
+.slot-content {
+	font-size: 28rpx;
+	color: $u-content-color;
+	padding: 20rpx;
+}
+</style>

+ 291 - 0
pages/cust/list.vue

@@ -0,0 +1,291 @@
+<template>
+	<view>
+		<!-- <u-navbar
+			:customBack="customBack"
+			back-icon-color="#fff"
+			title="客户列表"
+			:background="{ backgroundColor: '#2080f0' }"
+			title-color="#fff"
+			:border-bottom="false"
+		></u-navbar> -->
+
+		<!-- 顶部筛选栏 -->
+<!-- 		<HM-filterDropdown :menuTop="menuTop" :filterData="filterData" :defaultSelected="filterDropdownValue" @confirm="confirmFilter"></HM-filterDropdown> -->
+
+		<view class="customer-list-wrap">
+			<view v-if="customerList.length == 0" class="empty-wrap"><u-empty mode="list" text="暂无相关客户"></u-empty></view>
+			<view v-for="(item, index) in customerList" class="customer-item" :key="index">
+				<view class="info">
+					<view class="customer">
+						<view class="relname">
+							{{ item.name }}
+							<u-icon
+								class="u-m-l-5"
+								:name="item.sex == 'male' ? 'man' : 'woman'"
+								size="22"
+								:color="item.sex == 'male' ? '#2080f0' : '#f85f69'"
+							></u-icon>
+							
+							<u-icon
+								name="attach"
+								size="32"
+								label="快速报备"
+								label-size="24"
+								class="u-m-l-20"
+								@click="pageTo('/pages/agent/recommend/create', { info: item })"
+							></u-icon>
+						</view>
+
+						<view class="item">
+							<u-icon class="u-m-r-5" name="phone" size="22"></u-icon>
+							{{ item.phone }}
+						</view>
+						<view class="item" v-if="item.demand">
+							{{ item.demand }}
+						</view>
+					</view>
+					
+					<view class="data-wrap">
+						<u-tag
+							icon="edit-pen"
+							:text="'编辑'"
+							:type="'primary'"
+							class="u-m-r-10"
+							@click="pageTo('/pages/cust/create', { info: item })"
+						>
+						</u-tag>
+						<view class="u-m-t-20">							
+							<u-tag
+								@click="delHandle(item)"
+								plain 
+								:text="'删除'"
+								:type="'error'"
+								class="u-m-r-10"
+							>
+							</u-tag>
+						</view>
+					</view>
+					
+				</view>
+			</view>
+		</view>
+
+		<view class="float-search2" @click="pageTo('/pages/cust/create')"><u-icon name="plus" size="42" color="#fff"></u-icon></view>
+		<view class="float-search" @click="searchPopupShow = true"><u-icon name="search" size="42" color="#fff"></u-icon></view>
+
+		<u-popup v-model="searchPopupShow" mode="center" width="80%" height="440rpx" border-radius="20">
+			<view class="bwin-popup">
+				<view class="popup-header">客户搜索</view>
+				<view class="popup-body">
+					<u-input v-model="searchFormData.name" border placeholder="请输入客户姓名(支持模糊搜索)"></u-input>
+					<u-divider marginTop="10" marginBottom="10">或</u-divider>
+					<u-input v-model="searchFormData.phone" border placeholder="请输入客户手机号(可仅输入一部分)"></u-input>
+				</view>
+				<view class="popup-footer" style="position: absolute;">
+					<u-button size="medium" @click="searchPopupShow = false">取消</u-button>
+					<u-button size="medium" type="primary" @click="searchHandle()">搜索</u-button>
+				</view>
+			</view>
+		</u-popup>
+		
+		
+		
+
+		<u-loadmore
+			v-if="customerList.length > 0"
+			marginTop="32"
+			:line="true"
+			:status="loadmore.status"
+			:loading-text="loadmore.loadingText"
+			:loadmore-text="loadmore.defaultText"
+			:nomore-text="loadmore.nomoreText"
+		/>
+	</view>
+</template>
+<script>
+var that;
+export default {
+	data() {
+		return {
+			searchKeyword: null,
+			searchPopupShow: false,
+			searchFormData: {
+				name: '',
+				phone: ''
+			}, // 搜索栏数据
+			customerList: [],
+			loadmore: {
+				status: 'loadmore',
+				loadingText: '努力加载中',
+				defaultText: '轻轻上拉 查看更多',
+				nomoreText: '实在没有了',
+				currnetPage: 1
+			}
+		};
+	},
+	onLoad(params) {
+		that = this;
+
+		// 默认筛选项
+		if (params.filterStepStatus !== undefined) {
+			that.filterStepStatus = parseInt(params.filterStepStatus);
+			this.filterDropdownValue = [[],[],[],[that.filterStepStatus],[]]
+		}
+
+		this.getDataList()
+	},
+	onReachBottom() {
+		if (that.loadmore.status == 'nomore') return;
+		that.loadmore.currnetPage++
+		this.getDataList()
+	},
+	onPullDownRefresh() {
+		// 防止频繁刷新
+	},
+	methods: {
+		delHandle (item) {
+			uni.$msgConfirm('确定删除吗?', () => {				
+				uni.api.cust.apicustomerdel({
+					id: item.id
+				}).then(res => {
+					uni.$msg('删除成功~')
+					this.loadmore.currnetPage = 1
+					this.getDataList()
+				})
+			})
+		},
+		getDataList (bc) {
+			const that = this
+			let params = {
+				...this.searchFormData
+			}
+			uni.api.cust.apicustomerlist({
+				page: that.loadmore.currnetPage,
+				...params,
+			}).then(res => {
+				const list = res.list || []
+				if (list.length < 10) {
+					that.loadmore.status = 'nomore';
+				}
+				if (res.page = 1) {
+					if (list.length == 0) {
+						uni.$msg('无搜索结果', 'none');
+					}
+					that.customerList = [...list]
+				} else {
+					that.customerList = that.customerList.concat(list)
+				}
+				if (bc) bc()
+			})
+		},
+		customBack() {
+			uni.navigateBack();
+		},
+		// 带监听器跳转
+		pageTo(url, data) {
+			/// xxxxx
+			uni.navigateTo({
+				url: url,
+				events: {
+					// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
+					update: function(data) {
+						// 当B页面运行 eventChannel.emit('update', { a:1 }); 时,会运行这里的代码逻辑。
+					}
+				},
+				success: function(res) {
+					// 通过eventChannel向被打开页面传送数据
+					res.eventChannel.emit('data', data);
+				}
+			});
+		},
+		searchHandle() {
+			that.loadmore.currnetPage = 1
+			this.getDataList(() => {
+				this.searchPopupShow = false
+			})
+		},
+	}
+};
+</script>
+<style lang="scss">
+.search-wrap {
+	padding: 20rpx;
+}
+
+.filter-wrap {
+	position: relative;
+}
+
+// 列表
+.customer-list-wrap {
+	width: 100%;
+
+	.customer-item {
+		display: flex;
+		flex-direction: column;
+		align-items: flex-start;
+		font-size: $u-p2;
+		color: $u-content-color;
+		border-bottom: 1rpx solid $u-border-color;
+		padding: 24rpx 32rpx;
+
+		.info {
+			display: flex;
+			align-items: flex-start;
+			justify-content: space-between;
+			width: 100%;
+			margin-bottom: 10rpx;
+
+			.customer {
+				display: flex;
+				flex-direction: column;
+				align-items: flex-start;
+
+				.relname {
+					color: $u-main-color;
+					font-size: $u-p;
+					font-weight: bold;
+					margin-bottom: 10rpx;
+				}
+
+				.item {
+					margin-bottom: 10rpx;
+				}
+			}
+
+			.data-wrap {
+				text-align: right;
+				.date {
+					font-size: $u-sub;
+				}
+			}
+		}
+
+		.tool-wrap {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			width: 100%;
+		}
+	}
+}
+
+.float-search {
+	opacity: 0.9;
+	position: fixed;
+	right: 20rpx;
+	bottom: 40rpx;
+	padding: 20rpx;
+	border-radius: 50%;
+	background-color: $u-theme-color;
+}
+.float-search2 {
+	opacity: 0.9;
+	position: fixed;
+	right: 20rpx;
+	bottom: 150rpx;
+	padding: 20rpx;
+	border-radius: 50%;
+	background-color: $u-theme-color;
+}
+</style>

+ 25 - 19
pages/index/index.vue

@@ -17,13 +17,13 @@
 					</view>
 					<view class="info">
 						<view class="nickname u-skeleton-rect">
-							{{userInfo.nickname ? userInfo.nickname : '未登录'}}
+							{{userInfo.user_id ? userInfo.nickname ? userInfo.nickname : '未设置用户名'  : '未登录'}}
 						</view>
 					</view>
 					<image v-if="userInfo && userInfo.manage_type == 2" src="../../static/bg_scan.png" class="scoped-scan-img" @click="scanHandle"></image>
 				</view>
 				<u-button
-					v-if="!userInfo.nickname"
+					v-if="!userInfo.user_id"
 					class="u-skeleton-fillet"
 					size="mini"
 					type="primary"
@@ -33,33 +33,33 @@
 					立即登录
 				</u-button>
 				<u-button
-					v-if="userInfo.nickname"
+					v-if="userInfo.user_id"
 					<u-icon name="/static/icon/setting.png" size="24"></u-icon>
 				</u-button>
 			</view>
 			<u-line length="650rpx" margin="30rpx 0 0"></u-line>
 			<!-- 数据信息 -->
 			<view class="datainfo">
-				<view class="data-item">
-					<view class="data u-skeleton-fillet">00</view>
-					<view class="item u-skeleton-fillet">报备客户</view>
+				<view class="data-item" @click="pageTo('/pages/agent/recommend/list?filterStepStatus=1')">
+					<view class="data u-skeleton-fillet">{{reportStepCountObj['1'] || 0}}</view>
+					<view class="item u-skeleton-fillet">未到访</view>
 				</view>
-				<view class="data-item">
-					<view class="data u-skeleton-fillet">00</view>
+				<view class="data-item" @click="pageTo('/pages/agent/recommend/list?filterStepStatus=2')">
+					<view class="data u-skeleton-fillet">{{reportStepCountObj['2'] || 0}}</view>
 					<view class="item u-skeleton-fillet">已到访</view>
 				</view>
-				<view class="data-item">
-					<view class="data u-skeleton-fillet">00</view>
+				<view class="data-item" @click="pageTo('/pages/agent/recommend/list?filterStepStatus=3')">
+					<view class="data u-skeleton-fillet">{{reportStepCountObj['3'] || 0}}</view>
 					<view class="item u-skeleton-fillet">已认筹</view>
 				</view>
-				<view class="data-item">
+				<view class="data-item" @click="pageTo('/pages/agent/recommend/list?filterStepStatus=4')">
 					<view class="data u-skeleton-fillet">
-						00
+						{{reportStepCountObj['4'] || 0}}
 					</view>
 					<view class="item u-skeleton-fillet">已转签</view>
 				</view>
-				<view class="data-item">
-					<view class="data u-skeleton-fillet">00</view>
+				<view class="data-item" @click="pageTo('/pages/agent/recommend/list?filterStepStatus=5')">
+					<view class="data u-skeleton-fillet">{{reportStepCountObj['5'] || 0}}</view>
 					<view class="item u-skeleton-fillet">已结佣</view>
 				</view>
 			</view>
@@ -90,7 +90,7 @@
 				</view>
 			</view>
 			<view class="col-card-wrap">
-				<view class="function-card box-shadow u-skeleton-fillet" @click="pageTo('dev')">
+				<view class="function-card box-shadow u-skeleton-fillet" @click="pageTo('/pages/cust/list')">
 					<view class="title-wrap">
 						<view class="main-title">
 							<u-icon class="u-m-r-5" name="/static/icon/customer.png" size="32"></u-icon>
@@ -214,7 +214,8 @@ export default {
 			data: {},
 			// 表单请求数据
 			form1: {},
-			scrollTop: 0
+			scrollTop: 0,
+			reportStepCountObj: {}
 		};
 	},
 	onPageScroll(e) {
@@ -247,8 +248,6 @@ export default {
 		scanHandle () {
 			uni.scanCode({
 				success: function (res) {
-					console.log('条码类型:' + res.scanType);
-					console.log('条码内容:' + res.result);
 					uni.navigateTo({
 						url: `/pages/agent/recommend/detail2?id=${res.result}`
 					})
@@ -259,7 +258,14 @@ export default {
 		init(options) {
 			const userInfo = uni.getStorageSync('MD_userInfo')
 			this.userInfo = userInfo
-			
+			uni.api.estate.apireportcount().then(res => {
+				const reportStepCount = res.report_step_count || []
+				let reportStepCountObj = {}
+				reportStepCount.forEach(item => {
+					reportStepCountObj[item.report_step] = item.total || 0
+				})
+				this.reportStepCountObj = {...reportStepCountObj}
+			})
 			// uni.api.estate.apireportlist({
 			// 	token: 'xxxx'
 			// }).then(res => {

+ 41 - 3
pages/user/login/login.vue

@@ -34,10 +34,9 @@
 		<u-line margin="40rpx 0 0 0"></u-line>
 		<view class="third-login u-m-b-40">
 			<u-line margin="0 0 40rpx 0"></u-line>
-			<view class="login-icon-item">
+			<button class="login-icon-item scoped-login-btn" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
 				<u-icon name="weixin-fill" size="64" color="#19be6b" label="微信一键登录" labelPos="bottom" labelSize="24"></u-icon>
-			 <!-- @click="loginByWeixinModalShow = true" -->
-			</view>
+			</button>
 		</view>
 		
 		<u-modal
@@ -119,6 +118,34 @@ export default {
 	onShareAppMessage(options) {},
 	// 函数
 	methods: {
+		getPhoneNumber (e) {
+			const dtlObj = e.detail || {}
+			let that = this
+			uni.login({
+				success: function (res) {
+					if (res.code) {
+						uni.api.base.apiwxlogin({
+							code: res.code,
+							phone_code: dtlObj.code,
+							iv: dtlObj.iv,
+							encrypted_data: dtlObj.encryptedData,
+						}).then(cData => {
+							uni.setStorageSync('MD_token', cData.token)
+							uni.setStorageSync('MD_userInfo', cData)
+							uni.setStorageSync('MD_phone', cData.phone)
+							uni.$msg('登录成功~')
+							uni.reLaunch({
+								url: '/pages/index/index'
+							})
+						}).catch(err => {
+							console.log(err)
+						})
+					} else {
+						console.log('登录失败!' + res.errMsg)
+					}
+				}
+			})
+		},
 		// 页面数据初始化函数
 		async init(options = {}) {
 			const username = uni.getStorageSync('MD_phone')
@@ -262,4 +289,15 @@ export default {
 		color: $u-theme-color;
 	}
 }
+
+.scoped-login-btn {
+	background: transparent;
+	border: 0;
+	outline:0px;
+	-webkit-appearance: none;
+	&::after {
+		display: none;
+	}
+}
+
 </style>

+ 12 - 4
pages/user/login/register.vue

@@ -10,7 +10,7 @@
 		<view class="body">
 			<u-form :model="form1" ref="uForm" style="width: 100%;">
 				<u-form-item label-width="0" prop="username" :borderBottom="false">
-					<u-input border placeholder="请输入用户名" v-model="form1.username" @blur="phoneBlurHandle" type="text" height="90"></u-input>
+					<u-input border placeholder="请输入手机号" v-model="form1.username" @blur="phoneBlurHandle" type="text" height="90"></u-input>
 				</u-form-item>
 				<u-form-item label-width="0" prop="password" :borderBottom="false">
 					<u-input border placeholder="请输入密码" v-model="form1.password" type="password" height="90"></u-input>
@@ -20,7 +20,7 @@
 				</u-form-item>
 				<u-form-item label-width="0" prop="image_code" :borderBottom="false" v-if="isImgCoedShow">
 					<u-input border placeholder="请输入右侧4位字符" v-model="form1.image_code" type="text" height="90"></u-input>
-					<view slot="right" style="display: inline-block;" @click="refreshImageCode()">
+					<view slot="right" style="display: inline-block;" @click="getImgCode()">
 						<u-image width="150rpx" height="90rpx" :src="imgCodeUrl"></u-image>
 					</view>
 				</u-form-item>
@@ -197,8 +197,16 @@ export default {
 						password: this.form1.password,
 						sms_code	: this.form1.sms_code,
 					}).then(res => {
-						console.log(res)
-						uni.$msg('注册成功~')
+						uni.setStorageSync('MD_phone', this.form1.username)
+						uni.$msgConfirm('注册成功~', () =>{
+							uni.navigateTo({
+								url: '/pages/user/login/login'
+							})
+						}, () => {
+							uni.navigateTo({
+								url: '/pages/user/login/login'
+							})
+						})
 					})
 				} else {
 					console.log('验证失败');

+ 3 - 1
unpackage/dist/build/mp-weixin/app.json

@@ -6,7 +6,9 @@
     "pages/agent/recommend/create",
     "pages/agent/recommend/list",
     "pages/agent/recommend/detail",
-    "pages/agent/recommend/detail2"
+    "pages/agent/recommend/detail2",
+    "pages/cust/create",
+    "pages/cust/list"
   ],
   "subPackages": [],
   "window": {

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/common/vendor.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/agent/recommend/create.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/agent/recommend/list.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/cust/create.js


+ 16 - 0
unpackage/dist/build/mp-weixin/pages/cust/create.json

@@ -0,0 +1,16 @@
+{
+  "navigationBarTitleText": "添加客户",
+  "enablePullDownRefresh": false,
+  "usingComponents": {
+    "u-form": "/uni_modules/vk-uview-ui/components/u-form/u-form",
+    "u-form-item": "/uni_modules/vk-uview-ui/components/u-form-item/u-form-item",
+    "u-input": "/uni_modules/vk-uview-ui/components/u-input/u-input",
+    "u-radio-group": "/uni_modules/vk-uview-ui/components/u-radio-group/u-radio-group",
+    "u-radio": "/uni_modules/vk-uview-ui/components/u-radio/u-radio",
+    "u-gap": "/uni_modules/vk-uview-ui/components/u-gap/u-gap",
+    "u-button": "/uni_modules/vk-uview-ui/components/u-button/u-button",
+    "u-select": "/uni_modules/vk-uview-ui/components/u-select/u-select",
+    "u-modal": "/uni_modules/vk-uview-ui/components/u-modal/u-modal",
+    "u-toast": "/uni_modules/vk-uview-ui/components/u-toast/u-toast"
+  }
+}

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/cust/create.wxml


+ 1 - 0
unpackage/dist/build/mp-weixin/pages/cust/create.wxss

@@ -0,0 +1 @@
+.page{background-color:#f3f4f6;padding:20rpx}.empty-wrap{margin-top:200rpx;width:100%;display:flex;justify-content:center;align-items:center}.content-page{min-height:100vh;background-color:#fff}.footer{display:flex;align-items:center;color:#909399;width:100%;padding:20rpx 0;justify-content:center}.box-shadow{box-shadow:0rpx 2rpx 4rpx 0 rgba(0,0,0,.2)}.flex-empty{visibility:hidden;width:120rpx;height:0rpx}.bwin-btn-100{width:100%}.bwin-popup{display:flex;flex-direction:column;width:100%;position:relative;min-height:100%;overflow:hidden}.bwin-popup .popup-header{z-index:2;width:80%;position:fixed;padding:20rpx 0;text-align:center;font-size:32rpx;color:#fff;font-weight:700;background-color:#2080f0;border-top-left-radius:20rpx;border-top-right-radius:20rpx}.bwin-popup .popup-body{z-index:1;position:relative;top:90rpx;margin-bottom:90rpx;padding:20rpx;font-size:32rpx;overflow-y:scroll}.bwin-popup .popup-footer{position:relative;left:0;bottom:20rpx;width:100%;display:flex;justify-content:space-around}.page{padding:20rpx;background-color:#fff}.form{border-radius:10rpx;padding:0 40rpx}.popup-body .tips-title{font-size:32rpx;margin-bottom:20rpx}.popup-body .tips-content{font-size:24rpx;color:#909399;margin-bottom:60rpx}.id_card{color:#606266;width:100%;height:350rpx;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f4f5f6;font-size:24rpx}.footer{position:absolute;text-align:center;bottom:40rpx;font-size:24rpx}.footer .agreement{color:#fa3534}.slot-content{font-size:28rpx;color:#606266;padding:20rpx}

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/cust/list.js


+ 14 - 0
unpackage/dist/build/mp-weixin/pages/cust/list.json

@@ -0,0 +1,14 @@
+{
+  "navigationBarTitleText": "客户列表",
+  "enablePullDownRefresh": true,
+  "usingComponents": {
+    "u-empty": "/uni_modules/vk-uview-ui/components/u-empty/u-empty",
+    "u-icon": "/uni_modules/vk-uview-ui/components/u-icon/u-icon",
+    "u-tag": "/uni_modules/vk-uview-ui/components/u-tag/u-tag",
+    "u-popup": "/uni_modules/vk-uview-ui/components/u-popup/u-popup",
+    "u-input": "/uni_modules/vk-uview-ui/components/u-input/u-input",
+    "u-divider": "/uni_modules/vk-uview-ui/components/u-divider/u-divider",
+    "u-button": "/uni_modules/vk-uview-ui/components/u-button/u-button",
+    "u-loadmore": "/uni_modules/vk-uview-ui/components/u-loadmore/u-loadmore"
+  }
+}

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/cust/list.wxml


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/cust/list.wxss


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.wxml


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/index/index.wxss


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/user/login/register.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/user/login/register.wxml


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/build/mp-weixin/pages/user/login/register.wxss


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/create.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/detail.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/detail2.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/agent/recommend/list.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cust/create.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cust/list.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/login/login.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/user/login/register.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/HM-filterDropdown/components/HM-filterDropdown/HM-filterDropdown.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-avatar/u-avatar.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-button/u-button.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-divider/u-divider.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-empty/u-empty.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-form-item/u-form-item.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-form/u-form.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-gap/u-gap.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-icon/u-icon.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-image/u-image.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-input/u-input.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-line/u-line.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-loading/u-loading.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-loadmore/u-loadmore.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-mask/u-mask.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-modal/u-modal.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-navbar/u-navbar.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-parse/libs/trees.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-parse/u-parse.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-popup/u-popup.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-radio-group/u-radio-group.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-radio/u-radio.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-select/u-select.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-skeleton/u-skeleton.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-steps/u-steps.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-tag/u-tag.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-time-line-item/u-time-line-item.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-time-line/u-time-line.js.map


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/vk-uview-ui/components/u-toast/u-toast.js.map


+ 3 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -6,7 +6,9 @@
     "pages/agent/recommend/create",
     "pages/agent/recommend/list",
     "pages/agent/recommend/detail",
-    "pages/agent/recommend/detail2"
+    "pages/agent/recommend/detail2",
+    "pages/cust/create",
+    "pages/cust/list"
   ],
   "subPackages": [],
   "window": {

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/common/main.js


文件差异内容过多而无法显示
+ 61 - 33
unpackage/dist/dev/mp-weixin/common/vendor.js


文件差异内容过多而无法显示
+ 38 - 28
unpackage/dist/dev/mp-weixin/pages/agent/recommend/create.js


文件差异内容过多而无法显示
+ 24 - 24
unpackage/dist/dev/mp-weixin/pages/agent/recommend/detail.js


文件差异内容过多而无法显示
+ 110 - 5
unpackage/dist/dev/mp-weixin/pages/agent/recommend/detail2.js


文件差异内容过多而无法显示
+ 25 - 25
unpackage/dist/dev/mp-weixin/pages/agent/recommend/list.js


文件差异内容过多而无法显示
+ 424 - 0
unpackage/dist/dev/mp-weixin/pages/cust/create.js


+ 16 - 0
unpackage/dist/dev/mp-weixin/pages/cust/create.json

@@ -0,0 +1,16 @@
+{
+  "navigationBarTitleText": "添加客户",
+  "enablePullDownRefresh": false,
+  "usingComponents": {
+    "u-form": "/uni_modules/vk-uview-ui/components/u-form/u-form",
+    "u-form-item": "/uni_modules/vk-uview-ui/components/u-form-item/u-form-item",
+    "u-input": "/uni_modules/vk-uview-ui/components/u-input/u-input",
+    "u-radio-group": "/uni_modules/vk-uview-ui/components/u-radio-group/u-radio-group",
+    "u-radio": "/uni_modules/vk-uview-ui/components/u-radio/u-radio",
+    "u-gap": "/uni_modules/vk-uview-ui/components/u-gap/u-gap",
+    "u-button": "/uni_modules/vk-uview-ui/components/u-button/u-button",
+    "u-select": "/uni_modules/vk-uview-ui/components/u-select/u-select",
+    "u-modal": "/uni_modules/vk-uview-ui/components/u-modal/u-modal",
+    "u-toast": "/uni_modules/vk-uview-ui/components/u-toast/u-toast"
+  }
+}

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/cust/create.wxml


+ 117 - 0
unpackage/dist/dev/mp-weixin/pages/cust/create.wxss

@@ -0,0 +1,117 @@
+@charset "UTF-8";
+/* 这里是你自己写的全局css样式 */
+.page {
+  background-color: #f3f4f6;
+  padding: 20rpx;
+}
+.empty-wrap {
+  margin-top: 200rpx;
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.content-page {
+  min-height: 100vh;
+  background-color: #fff;
+}
+.footer {
+  display: flex;
+  align-items: center;
+  color: #909399;
+  width: 100%;
+  padding: 20rpx 0;
+  justify-content: center;
+}
+.box-shadow {
+  box-shadow: 0rpx 2rpx 4rpx 0 rgba(0, 0, 0, 0.2);
+}
+.flex-empty {
+  visibility: hidden;
+  width: 120rpx;
+  height: 0rpx;
+}
+.bwin-btn-100 {
+  width: 100%;
+}
+.bwin-popup {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  position: relative;
+  min-height: 100%;
+  overflow: hidden;
+}
+.bwin-popup .popup-header {
+  z-index: 2;
+  width: 80%;
+  position: fixed;
+  padding: 20rpx 0;
+  text-align: center;
+  font-size: 32rpx;
+  color: #fff;
+  font-weight: bold;
+  background-color: #2080f0;
+  border-top-left-radius: 20rpx;
+  border-top-right-radius: 20rpx;
+}
+.bwin-popup .popup-body {
+  z-index: 1;
+  position: relative;
+  top: 90rpx;
+  margin-bottom: 90rpx;
+  padding: 20rpx;
+  font-size: 32rpx;
+  overflow-y: scroll;
+}
+.bwin-popup .popup-footer {
+  position: relative;
+  left: 0;
+  bottom: 20rpx;
+  width: 100%;
+  display: flex;
+  justify-content: space-around;
+}
+.page {
+  padding: 20rpx;
+  background-color: #ffffff;
+}
+.form {
+  border-radius: 10rpx;
+  padding: 0 40rpx;
+}
+.popup-body .tips-title {
+  font-size: 32rpx;
+  margin-bottom: 20rpx;
+}
+.popup-body .tips-content {
+  font-size: 24rpx;
+  color: #909399;
+  margin-bottom: 60rpx;
+}
+.id_card {
+  color: #606266;
+  width: 100%;
+  height: 350rpx;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  background-color: #f4f5f6;
+  font-size: 24rpx;
+}
+.footer {
+  position: absolute;
+  text-align: center;
+  bottom: 40rpx;
+  font-size: 24rpx;
+}
+.footer .agreement {
+  color: #fa3534;
+}
+.slot-content {
+  font-size: 28rpx;
+  color: #606266;
+  padding: 20rpx;
+}
+

文件差异内容过多而无法显示
+ 187 - 0
unpackage/dist/dev/mp-weixin/pages/cust/list.js


+ 14 - 0
unpackage/dist/dev/mp-weixin/pages/cust/list.json

@@ -0,0 +1,14 @@
+{
+  "navigationBarTitleText": "客户列表",
+  "enablePullDownRefresh": true,
+  "usingComponents": {
+    "u-empty": "/uni_modules/vk-uview-ui/components/u-empty/u-empty",
+    "u-icon": "/uni_modules/vk-uview-ui/components/u-icon/u-icon",
+    "u-tag": "/uni_modules/vk-uview-ui/components/u-tag/u-tag",
+    "u-popup": "/uni_modules/vk-uview-ui/components/u-popup/u-popup",
+    "u-input": "/uni_modules/vk-uview-ui/components/u-input/u-input",
+    "u-divider": "/uni_modules/vk-uview-ui/components/u-divider/u-divider",
+    "u-button": "/uni_modules/vk-uview-ui/components/u-button/u-button",
+    "u-loadmore": "/uni_modules/vk-uview-ui/components/u-loadmore/u-loadmore"
+  }
+}

文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/cust/list.wxml


+ 144 - 0
unpackage/dist/dev/mp-weixin/pages/cust/list.wxss

@@ -0,0 +1,144 @@
+@charset "UTF-8";
+/* 这里是你自己写的全局css样式 */
+.page {
+  background-color: #f3f4f6;
+  padding: 20rpx;
+}
+.empty-wrap {
+  margin-top: 200rpx;
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.content-page {
+  min-height: 100vh;
+  background-color: #fff;
+}
+.footer {
+  display: flex;
+  align-items: center;
+  color: #909399;
+  width: 100%;
+  padding: 20rpx 0;
+  justify-content: center;
+}
+.box-shadow {
+  box-shadow: 0rpx 2rpx 4rpx 0 rgba(0, 0, 0, 0.2);
+}
+.flex-empty {
+  visibility: hidden;
+  width: 120rpx;
+  height: 0rpx;
+}
+.bwin-btn-100 {
+  width: 100%;
+}
+.bwin-popup {
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  position: relative;
+  min-height: 100%;
+  overflow: hidden;
+}
+.bwin-popup .popup-header {
+  z-index: 2;
+  width: 80%;
+  position: fixed;
+  padding: 20rpx 0;
+  text-align: center;
+  font-size: 32rpx;
+  color: #fff;
+  font-weight: bold;
+  background-color: #2080f0;
+  border-top-left-radius: 20rpx;
+  border-top-right-radius: 20rpx;
+}
+.bwin-popup .popup-body {
+  z-index: 1;
+  position: relative;
+  top: 90rpx;
+  margin-bottom: 90rpx;
+  padding: 20rpx;
+  font-size: 32rpx;
+  overflow-y: scroll;
+}
+.bwin-popup .popup-footer {
+  position: relative;
+  left: 0;
+  bottom: 20rpx;
+  width: 100%;
+  display: flex;
+  justify-content: space-around;
+}
+.search-wrap {
+  padding: 20rpx;
+}
+.filter-wrap {
+  position: relative;
+}
+.customer-list-wrap {
+  width: 100%;
+}
+.customer-list-wrap .customer-item {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+  font-size: 24rpx;
+  color: #606266;
+  border-bottom: 1rpx solid #e4e7ed;
+  padding: 24rpx 32rpx;
+}
+.customer-list-wrap .customer-item .info {
+  display: flex;
+  align-items: flex-start;
+  justify-content: space-between;
+  width: 100%;
+  margin-bottom: 10rpx;
+}
+.customer-list-wrap .customer-item .info .customer {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-start;
+}
+.customer-list-wrap .customer-item .info .customer .relname {
+  color: #303133;
+  font-size: 32rpx;
+  font-weight: bold;
+  margin-bottom: 10rpx;
+}
+.customer-list-wrap .customer-item .info .customer .item {
+  margin-bottom: 10rpx;
+}
+.customer-list-wrap .customer-item .info .data-wrap {
+  text-align: right;
+}
+.customer-list-wrap .customer-item .info .data-wrap .date {
+  font-size: 20rpx;
+}
+.customer-list-wrap .customer-item .tool-wrap {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 100%;
+}
+.float-search {
+  opacity: 0.9;
+  position: fixed;
+  right: 20rpx;
+  bottom: 40rpx;
+  padding: 20rpx;
+  border-radius: 50%;
+  background-color: #2080f0;
+}
+.float-search2 {
+  opacity: 0.9;
+  position: fixed;
+  right: 20rpx;
+  bottom: 150rpx;
+  padding: 20rpx;
+  border-radius: 50%;
+  background-color: #2080f0;
+}
+

文件差异内容过多而无法显示
+ 36 - 30
unpackage/dist/dev/mp-weixin/pages/index/index.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


文件差异内容过多而无法显示
+ 51 - 24
unpackage/dist/dev/mp-weixin/pages/user/login/login.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/user/login/login.wxml


+ 9 - 0
unpackage/dist/dev/mp-weixin/pages/user/login/login.wxss

@@ -133,4 +133,13 @@
 .footer .agreement.data-v-763df410 {
   color: #2080f0;
 }
+.scoped-login-btn.data-v-763df410 {
+  background: transparent;
+  border: 0;
+  outline: 0px;
+  -webkit-appearance: none;
+}
+.scoped-login-btn.data-v-763df410::after {
+  display: none;
+}
 

文件差异内容过多而无法显示
+ 31 - 23
unpackage/dist/dev/mp-weixin/pages/user/login/register.js


文件差异内容过多而无法显示
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/user/login/register.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/project.config.json

@@ -17,7 +17,7 @@
     }
   },
   "compileType": "miniprogram",
-  "libVersion": "2.17.0",
+  "libVersion": "",
   "appid": "wx6993fcfcf64e85a8",
   "projectname": "mdapp",
   "condition": {

+ 3 - 23
unpackage/dist/dev/mp-weixin/project.private.config.json

@@ -9,33 +9,13 @@
       "list": [
         {
           "name": "",
-          "pathName": "pages/agent/recommend/create",
+          "pathName": "pages/cust/list",
           "query": "",
           "launchMode": "default",
           "scene": null
-        },
-        {
-          "name": "",
-          "pathName": "pages/agent/recommend/detail",
-          "query": "id=3",
-          "launchMode": "default",
-          "scene": null
-        },
-        {
-          "name": "",
-          "pathName": "pages/agent/recommend/detail",
-          "query": "id=3",
-          "launchMode": "default",
-          "scene": null
-        },
-        {
-          "name": "",
-          "pathName": "pages/agent/recommend/detail2",
-          "query": "id=D5o2lmwC6OUi%2BP8HoOzbOzeWk%2FvQAvBvo7mFE7gbwgJ2gci5WeFiZ48eqiFfQomLgOkEDjDapwLIAjYykYrJ1XoV4d9eMIk522Q",
-          "launchMode": "default",
-          "scene": null
         }
       ]
     }
-  }
+  },
+  "libVersion": "2.25.1"
 }

文件差异内容过多而无法显示
+ 12 - 12
unpackage/dist/dev/mp-weixin/uni_modules/HM-filterDropdown/components/HM-filterDropdown/HM-filterDropdown.js


文件差异内容过多而无法显示
+ 13 - 13
unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-avatar/u-avatar.js


文件差异内容过多而无法显示
+ 12 - 12
unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-button/u-button.js


文件差异内容过多而无法显示
+ 12 - 12
unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-divider/u-divider.js


文件差异内容过多而无法显示
+ 13 - 13
unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-empty/u-empty.js


文件差异内容过多而无法显示
+ 15 - 15
unpackage/dist/dev/mp-weixin/uni_modules/vk-uview-ui/components/u-form-item/u-form-item.js


部分文件因为文件数量过多而无法显示