MS-CIAZDCOIXVRW\Administrator 3 år sedan
förälder
incheckning
6624df9e81
26 ändrade filer med 4922 tillägg och 447 borttagningar
  1. 1 1
      App.vue
  2. 20 0
      package.json
  3. 1 1
      pages.json
  4. 1 0
      pages/authorization/authorization.vue
  5. 260 68
      pages/index/index.vue
  6. 1 1
      uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
  7. 1 1
      unpackage/dist/dev/mp-weixin/app.wxss
  8. 3019 321
      unpackage/dist/dev/mp-weixin/common/vendor.js
  9. 1 0
      unpackage/dist/dev/mp-weixin/pages/authorization/authorization.wxss
  10. 217 44
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  11. 4 2
      unpackage/dist/dev/mp-weixin/pages/index/index.json
  12. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  13. 10 7
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  14. 431 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js
  15. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.json
  16. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxml
  17. 255 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxss
  18. 231 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js
  19. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json
  20. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml
  21. 160 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss
  22. 22 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
  23. 111 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js
  24. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json
  25. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml
  26. 156 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss

+ 1 - 1
App.vue

@@ -19,7 +19,7 @@
 	@import '@/static/customicons.css';
 	// 设置整个项目的背景色
 	page {
-		background-color: #fff;
+		background-color: #F2F2F2;
 	}
 
 	/* #endif */

+ 20 - 0
package.json

@@ -0,0 +1,20 @@
+{
+    "id": "multiple-picker",
+    "name": "下拉多选,完全仿照微信原生效果,简单美观可扩展",
+    "displayName": "下拉多选,完全仿照微信原生效果,简单美观可扩展",
+    "version": "v1.1",
+    "description": "一个简单的多选组件,支持异步数据、默认选中值、可支持多个使用、完全仿照微信原生效果,代码量少且注释多",
+    "keywords": [
+        "多选组件",
+        "多选",
+        "select多选",
+        "uview多选",
+        "picker多选"
+    ],
+    "dcloudext": {
+        "category": [
+            "前端组件",
+            "通用组件"
+        ]
+    }
+}

+ 1 - 1
pages.json

@@ -2,7 +2,7 @@
 	"pages": [{
 		"path": "pages/index/index",
 		"style": {
-			"navigationBarTitleText": "代理商登记管理系统"
+			"navigationBarTitleText": "合作伙伴商机报备系统"
 		}
 	}, {
 		"path": "pages/authorization/authorization",

+ 1 - 0
pages/authorization/authorization.vue

@@ -52,6 +52,7 @@
 		width: 100vw;
 		height: 100vh;
 		overflow: hidden;
+		background-color: #fff;
 
 		.logo {
 			margin: 300rpx auto 0;

+ 260 - 68
pages/index/index.vue

@@ -3,31 +3,72 @@
 		<view class="header"></view>
 		<view class="form">
 			<view class="form_title">
-				登记信息
+				合作伙伴信息
 			</view>
 			<view class="form_item">
-				姓名<span class="icon">*</span>
+				<span class="icon">*</span>姓名
 				<uni-easyinput placeholder="请输入姓名" v-model="name"></uni-easyinput>
 			</view>
 			<view class="form_item">
-				手机号<span class="icon">*</span>
+				<span class="icon">*</span>手机号
 				<uni-easyinput type="number" placeholder="请输入手机号" v-model="phone"></uni-easyinput>
 			</view>
 			<view class="form_item">
-				单位名称<span class="icon">*</span>
+				<span class="icon">*</span>单位名称
 				<uni-easyinput placeholder="请输入单位名称" v-model="company"></uni-easyinput>
 			</view>
+
+			<view class="form_title">
+				项目信息登记
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>客户名称
+				<uni-easyinput placeholder="请输入客户名称" v-model="clientName"></uni-easyinput>
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>项目名称
+				<uni-easyinput placeholder="请输入项目名称" v-model="projectName"></uni-easyinput>
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>项目金额
+				<uni-easyinput type="number" placeholder="请输入项目金额" v-model="projectAmount"></uni-easyinput>
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>预计投标时间
+				<picker mode="date" fields="month" :value="biddingTime" @change="bindDateChange">
+					<uni-easyinput placeholder="请选择预计投标时间" suffixIcon="calendar-filled" v-model="biddingTime">
+					</uni-easyinput>
+				</picker>
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>所属行业
+				<uni-data-select placeholder="请选择所属行业" v-model="industry" :localdata="range"></uni-data-select>
+			</view>
+
+			<view class="form_item">
+				<span class="icon">*</span>产品类型(多选)
+				<uni-data-checkbox multiple v-model="productType" :localdata="hobby"></uni-data-checkbox>
+			</view>
+
 			<view class="form_item">
-				事件登记<span class="icon">*</span>
-				<uni-easyinput type="textarea" :maxlength="-1" placeholder="请输入需要登记的事件" v-model="content">
+				项目基本情况
+				<uni-easyinput type="textarea" :maxlength="-1" placeholder="建议填写竞争情况 , 客户情况"
+					v-model="projectInformation">
 				</uni-easyinput>
 			</view>
 
 			<button class="form_button" @click="handleSubmit">提交</button>
+
+			<view class="footer">
+				本系统由新华三江西代表处提供技术支持
+			</view>
 		</view>
-		<view class="footer">
-			该系统由创海科技提供技术支持
-		</view>
+
 	</view>
 </template>
 
@@ -42,101 +83,234 @@
 
 	onMounted(() => {
 		const accredit = uni.getStorageSync('accredit')
-
 		if (accredit) {
 			submit()
 		}
 	})
-
+	// 用户姓名绑定数据
 	const name = ref(uni.getStorageSync('form_name') || '')
+	// 用户手机号绑定数据
 	const phone = ref(uni.getStorageSync('form_phone') || '')
+	// 用户单位绑定数据
 	const company = ref(uni.getStorageSync('form_company') || '')
-	const content = ref(uni.getStorageSync('form_content') || '')
+	// 客户名称
+	const clientName = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).clientName : '')
+	// 项目名称
+	const projectName = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).projectName : '')
+	// 项目金额
+	const projectAmount = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).projectAmount : '')
+	// 预计投标时间
+	const biddingTime = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).biddingTime : '')
+	// 所属行业
+	const industry = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).industry : '')
+	// 产品类型
+	const productType = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).productType : [])
+	// 项目基本情况
+	const projectInformation = ref(uni.getStorageSync('form_content') ? JSON.parse(uni.getStorageSync('form_content')).projectInformation : '')
+	// 微信手机号码绑定数据
 	const wxPhone = ref(uni.getStorageSync('wxPhone') || '')
 
+
+	// 所属行业数组数据
+	const range = ref(
+		[{
+				value: 0,
+				text: "政府"
+			},
+			{
+				value: 1,
+				text: "教育"
+			},
+			{
+				value: 2,
+				text: "医疗"
+			},
+			{
+				value: 3,
+				text: "企业"
+			},
+			{
+				value: 4,
+				text: "公检法"
+			},
+			{
+				value: 5,
+				text: "交通"
+			},
+			{
+				value: 6,
+				text: "分销&SMB"
+			},
+			{
+				value: 7,
+				text: "其他"
+			}
+		]
+	)
+	// 产品类型数组
+	const hobby = ref(
+		[{
+			text: '网络',
+			value: 0
+		}, {
+			text: '安全',
+			value: 1
+		}, {
+			text: 'IT',
+			value: 2
+		}, {
+			text: '云智',
+			value: 3
+		}, {
+			text: 'PC',
+			value: 4
+		}, {
+			text: 'AI视觉',
+			value: 5
+		}]
+	)
+
+	// 日期选择框绑定回调
+	const bindDateChange = (e) => {
+		const val = e.detail.value
+		biddingTime.value = val
+	}
+
+	// 提交按钮回调
 	const handleSubmit = () => {
+		const flag = handleValidate()
+		if (flag) {
+			uni.setStorageSync('form_name', name.value);
+			uni.setStorageSync('form_phone', phone.value);
+			uni.setStorageSync('form_company', company.value);
+			const formContent = {
+				clientName: clientName.value,
+				projectName: projectName.value,
+				projectAmount: projectAmount.value,
+				biddingTime: biddingTime.value,
+				industry: industry.value,
+				productType: productType.value,
+				projectInformation: projectInformation.value,
+			}
+			uni.setStorageSync('form_content', JSON.stringify(formContent));
+			if (!wxPhone.value) {
+				uni.showModal({
+					title: '提示',
+					content: '本次操作需要获取您的手机号码',
+					success: (res) => {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: "/pages/authorization/authorization"
+							})
+						} else if (res.cancel) {}
+					}
+				});
+			} else {
+				uni.showModal({
+					title: '提示',
+					content: '确认提交吗',
+					success: (res) => {
+						if (res.confirm) {
+							submit()
+						} else if (res.cancel) {}
+					}
+				});
+			}
+		}
+	}
+	
+	// 验证表格信息是否符合规范
+	const handleValidate = () => {
 		const reName = /^[\u4e00-\u9fa5]{2,4}$/
 		const rePhone = /^[1][3,4,5,7,8,9][0-9]{9}$/
-
+	
 		if (name.value == '') {
 			uni.showToast({
 				title: '请输入姓名',
 				icon: 'none'
 			})
-			return
+			return false
 		}
 		if (!reName.test(name.value)) {
 			uni.showToast({
 				title: '姓名格式有误',
 				icon: 'none'
 			})
-			return
+			return false
 		}
 		if (phone.value == '') {
 			uni.showToast({
 				title: '请输入手机号',
 				icon: 'none'
 			})
-			return
+			return false
 		}
 		if (!rePhone.test(phone.value)) {
 			uni.showToast({
 				title: '手机格式有误',
 				icon: 'none'
 			})
-			return
+			return false
 		}
 		if (company.value == '') {
 			uni.showToast({
 				title: '请输入单位名称',
 				icon: 'none'
 			})
-			return
+			return false
 		}
-		if (!content.value) {
+		if (clientName.value == '') {
 			uni.showToast({
-				title: '请输入需要登记的事件',
+				title: '请输入客户名称',
 				icon: 'none'
 			})
-			return
+			return false
 		}
-
-		uni.setStorageSync('form_name', name.value);
-		uni.setStorageSync('form_phone', phone.value);
-		uni.setStorageSync('form_company', company.value);
-		uni.setStorageSync('form_content', content.value);
-		if (!wxPhone.value) {
-			uni.showModal({
-				title: '提示',
-				content: '本次操作需要获取您的手机号码',
-				success: (res) => {
-					if (res.confirm) {
-
-						uni.navigateTo({
-							url: "/pages/authorization/authorization"
-						})
-					} else if (res.cancel) {
-
-					}
-				}
-			});
-		} else {
-			uni.showModal({
-				title: '提示',
-				content: '确认提交吗',
-				success: (res) => {
-					if (res.confirm) {
-						submit()
-					} else if (res.cancel) {
-
-					}
-				}
-			});
-
+		if (projectName.value == '') {
+			uni.showToast({
+				title: '请输入项目名称',
+				icon: 'none'
+			})
+			return false
+		}
+		if (projectAmount.value == '') {
+			uni.showToast({
+				title: '请输入项目金额',
+				icon: 'none'
+			})
+			return false
+		}
+		if (biddingTime.value == '') {
+			uni.showToast({
+				title: '请选择预计投标时间',
+				icon: 'none'
+			})
+			return false
+		}
+		if (industry.value === '') {
+			uni.showToast({
+				title: '请选择所属行业',
+				icon: 'none'
+			})
+			return false
 		}
+		if (productType.value.length == 0) {
+			uni.showToast({
+				title: '请选择产品类型',
+				icon: 'none'
+			})
+			return false
+		}
+		return true
 	}
 
+	// 请求提交接口回调
 	const submit = async () => {
+		const bProduct =[] 
+		productType.value.forEach(item=>{
+			bProduct.push(hobby.value[item].text)
+		})
+		
 		const res = await myRequest({
 			url: "/informationReporting/add",
 			method: "post",
@@ -144,7 +318,13 @@
 				name: name.value,
 				phone: phone.value,
 				company: company.value,
-				content: content.value,
+				customerName:clientName.value,
+				entryName:projectName.value,
+				projectAmount:projectAmount.value,
+				tenderTime:biddingTime.value,
+				content:projectInformation.value,
+				trade:range.value[industry.value].text,
+				bProduct,
 				wxPhone: wxPhone.value,
 			}
 		})
@@ -154,8 +334,15 @@
 				title: '提交成功',
 				duration: 3000
 			})
-			content.value = ''
-			uni.setStorageSync('form_content', '')
+			clientName.value = ''
+			projectName.value = ''
+			projectAmount.value = ''
+			biddingTime.value = ''
+			industry.value = ''
+			productType.value = []
+			projectInformation.value = ''
+			
+			uni.removeStorageSync('form_content')
 			uni.setStorageSync('accredit', false)
 		} else {
 			uni.showToast({
@@ -169,8 +356,6 @@
 <style lang="scss" scoped>
 	.content {
 		width: 100vw;
-		height: 100vh;
-		background-color: #F2F2F2;
 
 		.header {
 			width: 750rpx;
@@ -185,7 +370,6 @@
 			left: 30rpx;
 			right: 30rpx;
 			padding: 0 32rpx;
-			height: 1055rpx;
 			border-radius: 10rpx;
 			background-color: #fff;
 
@@ -207,6 +391,16 @@
 					margin-top: 10rpx;
 					background-color: #F2F2F2;
 				}
+
+				:deep .uni-stat__select {
+					margin-top: 10rpx;
+					background-color: #F2F2F2;
+				}
+
+				:deep .uni-data-checklist {
+					margin-top: 10rpx !important;
+					background-color: #F2F2F2;
+				}
 			}
 
 			.form_button {
@@ -215,15 +409,13 @@
 				color: #fff;
 				font-size: 28rpx;
 			}
-		}
 
-		.footer {
-			position: absolute;
-			bottom: 44rpx;
-			width: 100vw;
-			text-align: center;
-			font-size: 24rpx;
-			color: #999999;
+			.footer {
+				margin: 70rpx 0;
+				text-align: center;
+				font-size: 24rpx;
+				color: #999999;
+			}
 		}
 	}
 </style>

+ 1 - 1
uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue

@@ -491,7 +491,7 @@
 				flex-direction: row;
 				align-items: center;
 				position: relative;
-				margin: 5px 0;
+				margin: 10px 0;
 				margin-right: 25px;
 
 				.hidden {

+ 1 - 1
unpackage/dist/dev/mp-weixin/app.wxss

@@ -2353,7 +2353,7 @@
   border-color: #e9e9eb;
 }
 page {
-  background-color: #fff;
+  background-color: #F2F2F2;
 }
 .example-info {
   font-size: 14px;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 3019 - 321
unpackage/dist/dev/mp-weixin/common/vendor.js


+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/authorization/authorization.wxss

@@ -4,6 +4,7 @@
   width: 100vw;
   height: 100vh;
   overflow: hidden;
+  background-color: #fff;
 }
 .content .logo.data-v-2e3c7ef5 {
   margin: 300rpx auto 0;

+ 217 - 44
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -3,11 +3,15 @@ const common_vendor = require("../../common/vendor.js");
 const util_api = require("../../util/api.js");
 if (!Array) {
   const _easycom_uni_easyinput2 = common_vendor.resolveComponent("uni-easyinput");
-  _easycom_uni_easyinput2();
+  const _easycom_uni_data_select2 = common_vendor.resolveComponent("uni-data-select");
+  const _easycom_uni_data_checkbox2 = common_vendor.resolveComponent("uni-data-checkbox");
+  (_easycom_uni_easyinput2 + _easycom_uni_data_select2 + _easycom_uni_data_checkbox2)();
 }
 const _easycom_uni_easyinput = () => "../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.js";
+const _easycom_uni_data_select = () => "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js";
+const _easycom_uni_data_checkbox = () => "../../uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js";
 if (!Math) {
-  _easycom_uni_easyinput();
+  (_easycom_uni_easyinput + _easycom_uni_data_select + _easycom_uni_data_checkbox)();
 }
 const _sfc_main = {
   __name: "index",
@@ -21,9 +25,119 @@ const _sfc_main = {
     const name = common_vendor.ref(common_vendor.index.getStorageSync("form_name") || "");
     const phone = common_vendor.ref(common_vendor.index.getStorageSync("form_phone") || "");
     const company = common_vendor.ref(common_vendor.index.getStorageSync("form_company") || "");
-    const content = common_vendor.ref(common_vendor.index.getStorageSync("form_content") || "");
+    const clientName = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).clientName : "");
+    const projectName = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).projectName : "");
+    const projectAmount = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).projectAmount : "");
+    const biddingTime = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).biddingTime : "");
+    const industry = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).industry : "");
+    const productType = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).productType : []);
+    const projectInformation = common_vendor.ref(common_vendor.index.getStorageSync("form_content") ? JSON.parse(common_vendor.index.getStorageSync("form_content")).projectInformation : "");
     const wxPhone = common_vendor.ref(common_vendor.index.getStorageSync("wxPhone") || "");
+    const range = common_vendor.ref(
+      [
+        {
+          value: 0,
+          text: "政府"
+        },
+        {
+          value: 1,
+          text: "教育"
+        },
+        {
+          value: 2,
+          text: "医疗"
+        },
+        {
+          value: 3,
+          text: "企业"
+        },
+        {
+          value: 4,
+          text: "公检法"
+        },
+        {
+          value: 5,
+          text: "交通"
+        },
+        {
+          value: 6,
+          text: "分销&SMB"
+        },
+        {
+          value: 7,
+          text: "其他"
+        }
+      ]
+    );
+    const hobby = common_vendor.ref(
+      [{
+        text: "网络",
+        value: 0
+      }, {
+        text: "安全",
+        value: 1
+      }, {
+        text: "IT",
+        value: 2
+      }, {
+        text: "云智",
+        value: 3
+      }, {
+        text: "PC",
+        value: 4
+      }, {
+        text: "AI视觉",
+        value: 5
+      }]
+    );
+    const bindDateChange = (e) => {
+      const val = e.detail.value;
+      biddingTime.value = val;
+    };
     const handleSubmit = () => {
+      const flag = handleValidate();
+      if (flag) {
+        common_vendor.index.setStorageSync("form_name", name.value);
+        common_vendor.index.setStorageSync("form_phone", phone.value);
+        common_vendor.index.setStorageSync("form_company", company.value);
+        const formContent = {
+          clientName: clientName.value,
+          projectName: projectName.value,
+          projectAmount: projectAmount.value,
+          biddingTime: biddingTime.value,
+          industry: industry.value,
+          productType: productType.value,
+          projectInformation: projectInformation.value
+        };
+        common_vendor.index.setStorageSync("form_content", JSON.stringify(formContent));
+        if (!wxPhone.value) {
+          common_vendor.index.showModal({
+            title: "提示",
+            content: "本次操作需要获取您的手机号码",
+            success: (res) => {
+              if (res.confirm) {
+                common_vendor.index.navigateTo({
+                  url: "/pages/authorization/authorization"
+                });
+              } else if (res.cancel)
+                ;
+            }
+          });
+        } else {
+          common_vendor.index.showModal({
+            title: "提示",
+            content: "确认提交吗",
+            success: (res) => {
+              if (res.confirm) {
+                submit();
+              } else if (res.cancel)
+                ;
+            }
+          });
+        }
+      }
+    };
+    const handleValidate = () => {
       const reName = /^[\u4e00-\u9fa5]{2,4}$/;
       const rePhone = /^[1][3,4,5,7,8,9][0-9]{9}$/;
       if (name.value == "") {
@@ -31,74 +145,85 @@ const _sfc_main = {
           title: "请输入姓名",
           icon: "none"
         });
-        return;
+        return false;
       }
       if (!reName.test(name.value)) {
         common_vendor.index.showToast({
           title: "姓名格式有误",
           icon: "none"
         });
-        return;
+        return false;
       }
       if (phone.value == "") {
         common_vendor.index.showToast({
           title: "请输入手机号",
           icon: "none"
         });
-        return;
+        return false;
       }
       if (!rePhone.test(phone.value)) {
         common_vendor.index.showToast({
           title: "手机格式有误",
           icon: "none"
         });
-        return;
+        return false;
       }
       if (company.value == "") {
         common_vendor.index.showToast({
           title: "请输入单位名称",
           icon: "none"
         });
-        return;
+        return false;
       }
-      if (!content.value) {
+      if (clientName.value == "") {
         common_vendor.index.showToast({
-          title: "请输入需要登记的事件",
+          title: "请输入客户名称",
           icon: "none"
         });
-        return;
+        return false;
       }
-      common_vendor.index.setStorageSync("form_name", name.value);
-      common_vendor.index.setStorageSync("form_phone", phone.value);
-      common_vendor.index.setStorageSync("form_company", company.value);
-      common_vendor.index.setStorageSync("form_content", content.value);
-      if (!wxPhone.value) {
-        common_vendor.index.showModal({
-          title: "提示",
-          content: "本次操作需要获取您的手机号码",
-          success: (res) => {
-            if (res.confirm) {
-              common_vendor.index.navigateTo({
-                url: "/pages/authorization/authorization"
-              });
-            } else if (res.cancel)
-              ;
-          }
+      if (projectName.value == "") {
+        common_vendor.index.showToast({
+          title: "请输入项目名称",
+          icon: "none"
         });
-      } else {
-        common_vendor.index.showModal({
-          title: "提示",
-          content: "确认提交吗",
-          success: (res) => {
-            if (res.confirm) {
-              submit();
-            } else if (res.cancel)
-              ;
-          }
+        return false;
+      }
+      if (projectAmount.value == "") {
+        common_vendor.index.showToast({
+          title: "请输入项目金额",
+          icon: "none"
+        });
+        return false;
+      }
+      if (biddingTime.value == "") {
+        common_vendor.index.showToast({
+          title: "请选择预计投标时间",
+          icon: "none"
         });
+        return false;
       }
+      if (industry.value === "") {
+        common_vendor.index.showToast({
+          title: "请选择所属行业",
+          icon: "none"
+        });
+        return false;
+      }
+      if (productType.value.length == 0) {
+        common_vendor.index.showToast({
+          title: "请选择产品类型",
+          icon: "none"
+        });
+        return false;
+      }
+      return true;
     };
     const submit = async () => {
+      const bProduct = [];
+      productType.value.forEach((item) => {
+        bProduct.push(hobby.value[item].text);
+      });
       const res = await util_api.myRequest({
         url: "/informationReporting/add",
         method: "post",
@@ -106,7 +231,13 @@ const _sfc_main = {
           name: name.value,
           phone: phone.value,
           company: company.value,
-          content: content.value,
+          customerName: clientName.value,
+          entryName: projectName.value,
+          projectAmount: projectAmount.value,
+          tenderTime: biddingTime.value,
+          content: projectInformation.value,
+          trade: range.value[industry.value].text,
+          bProduct,
           wxPhone: wxPhone.value
         }
       });
@@ -115,8 +246,14 @@ const _sfc_main = {
           title: "提交成功",
           duration: 3e3
         });
-        content.value = "";
-        common_vendor.index.setStorageSync("form_content", "");
+        clientName.value = "";
+        projectName.value = "";
+        projectAmount.value = "";
+        biddingTime.value = "";
+        industry.value = "";
+        productType.value = [];
+        projectInformation.value = "";
+        common_vendor.index.removeStorageSync("form_content");
         common_vendor.index.setStorageSync("accredit", false);
       } else {
         common_vendor.index.showToast({
@@ -143,14 +280,50 @@ const _sfc_main = {
           placeholder: "请输入单位名称",
           modelValue: company.value
         }),
-        g: common_vendor.o(($event) => content.value = $event),
+        g: common_vendor.o(($event) => clientName.value = $event),
         h: common_vendor.p({
+          placeholder: "请输入客户名称",
+          modelValue: clientName.value
+        }),
+        i: common_vendor.o(($event) => projectName.value = $event),
+        j: common_vendor.p({
+          placeholder: "请输入项目名称",
+          modelValue: projectName.value
+        }),
+        k: common_vendor.o(($event) => projectAmount.value = $event),
+        l: common_vendor.p({
+          type: "number",
+          placeholder: "请输入项目金额",
+          modelValue: projectAmount.value
+        }),
+        m: common_vendor.o(($event) => biddingTime.value = $event),
+        n: common_vendor.p({
+          placeholder: "请选择预计投标时间",
+          suffixIcon: "calendar-filled",
+          modelValue: biddingTime.value
+        }),
+        o: biddingTime.value,
+        p: common_vendor.o(bindDateChange),
+        q: common_vendor.o(($event) => industry.value = $event),
+        r: common_vendor.p({
+          placeholder: "请选择所属行业",
+          localdata: range.value,
+          modelValue: industry.value
+        }),
+        s: common_vendor.o(($event) => productType.value = $event),
+        t: common_vendor.p({
+          multiple: true,
+          localdata: hobby.value,
+          modelValue: productType.value
+        }),
+        v: common_vendor.o(($event) => projectInformation.value = $event),
+        w: common_vendor.p({
           type: "textarea",
           maxlength: -1,
-          placeholder: "请输入需要登记的事件",
-          modelValue: content.value
+          placeholder: "建议填写竞争情况 , 客户情况",
+          modelValue: projectInformation.value
         }),
-        i: common_vendor.o(handleSubmit)
+        x: common_vendor.o(handleSubmit)
       };
     };
   }

+ 4 - 2
unpackage/dist/dev/mp-weixin/pages/index/index.json

@@ -1,6 +1,8 @@
 {
-  "navigationBarTitleText": "代理商登记管理系统",
+  "navigationBarTitleText": "合作伙伴商机报备系统",
   "usingComponents": {
-    "uni-easyinput": "../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput"
+    "uni-easyinput": "../../uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput",
+    "uni-data-select": "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select",
+    "uni-data-checkbox": "../../uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox"
   }
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 10 - 7
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -2,8 +2,6 @@
 /* 水平间距 */
 .content.data-v-1cf27b2a {
   width: 100vw;
-  height: 100vh;
-  background-color: #F2F2F2;
 }
 .content .header.data-v-1cf27b2a {
   width: 750rpx;
@@ -17,7 +15,6 @@
   left: 30rpx;
   right: 30rpx;
   padding: 0 32rpx;
-  height: 1055rpx;
   border-radius: 10rpx;
   background-color: #fff;
 }
@@ -37,16 +34,22 @@
   margin-top: 10rpx;
   background-color: #F2F2F2;
 }
+.content .form .form_item.data-v-1cf27b2a .uni-stat__select {
+  margin-top: 10rpx;
+  background-color: #F2F2F2;
+}
+.content .form .form_item.data-v-1cf27b2a .uni-data-checklist {
+  margin-top: 10rpx !important;
+  background-color: #F2F2F2;
+}
 .content .form .form_button.data-v-1cf27b2a {
   margin-top: 65rpx;
   background-color: #1E7DFB;
   color: #fff;
   font-size: 28rpx;
 }
-.content .footer.data-v-1cf27b2a {
-  position: absolute;
-  bottom: 44rpx;
-  width: 100vw;
+.content .form .footer.data-v-1cf27b2a {
+  margin: 70rpx 0;
   text-align: center;
   font-size: 24rpx;
   color: #999999;

+ 431 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.js

@@ -0,0 +1,431 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "uniDataChecklist",
+  mixins: [common_vendor.Es.mixinDatacom || {}],
+  emits: ["input", "update:modelValue", "change"],
+  props: {
+    mode: {
+      type: String,
+      default: "default"
+    },
+    multiple: {
+      type: Boolean,
+      default: false
+    },
+    value: {
+      type: [Array, String, Number],
+      default() {
+        return "";
+      }
+    },
+    // TODO vue3
+    modelValue: {
+      type: [Array, String, Number],
+      default() {
+        return "";
+      }
+    },
+    localdata: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    min: {
+      type: [Number, String],
+      default: ""
+    },
+    max: {
+      type: [Number, String],
+      default: ""
+    },
+    wrap: {
+      type: Boolean,
+      default: false
+    },
+    icon: {
+      type: String,
+      default: "left"
+    },
+    selectedColor: {
+      type: String,
+      default: ""
+    },
+    selectedTextColor: {
+      type: String,
+      default: ""
+    },
+    emptyText: {
+      type: String,
+      default: "暂无数据"
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    },
+    map: {
+      type: Object,
+      default() {
+        return {
+          text: "text",
+          value: "value"
+        };
+      }
+    }
+  },
+  watch: {
+    localdata: {
+      handler(newVal) {
+        this.range = newVal;
+        this.dataList = this.getDataList(this.getSelectedValue(newVal));
+      },
+      deep: true
+    },
+    mixinDatacomResData(newVal) {
+      this.range = newVal;
+      this.dataList = this.getDataList(this.getSelectedValue(newVal));
+    },
+    value(newVal) {
+      this.dataList = this.getDataList(newVal);
+    },
+    modelValue(newVal) {
+      this.dataList = this.getDataList(newVal);
+    }
+  },
+  data() {
+    return {
+      dataList: [],
+      range: [],
+      contentText: {
+        contentdown: "查看更多",
+        contentrefresh: "加载中",
+        contentnomore: "没有更多"
+      },
+      isLocal: true,
+      styles: {
+        selectedColor: "#2979ff",
+        selectedTextColor: "#666"
+      },
+      isTop: 0
+    };
+  },
+  computed: {
+    dataValue() {
+      if (this.value === "")
+        return this.modelValue;
+      if (this.modelValue === "")
+        return this.value;
+      return this.value;
+    }
+  },
+  created() {
+    if (this.localdata && this.localdata.length !== 0) {
+      this.isLocal = true;
+      this.range = this.localdata;
+      this.dataList = this.getDataList(this.getSelectedValue(this.range));
+    } else {
+      if (this.collection) {
+        this.isLocal = false;
+        this.loadData();
+      }
+    }
+  },
+  methods: {
+    loadData() {
+      this.mixinDatacomGet().then((res) => {
+        this.mixinDatacomResData = res.result.data;
+        if (this.mixinDatacomResData.length === 0) {
+          this.isLocal = false;
+          this.mixinDatacomErrorMessage = this.emptyText;
+        } else {
+          this.isLocal = true;
+        }
+      }).catch((err) => {
+        this.mixinDatacomErrorMessage = err.message;
+      });
+    },
+    /**
+     * 获取父元素实例
+     */
+    getForm(name = "uniForms") {
+      let parent = this.$parent;
+      let parentName = parent.$options.name;
+      while (parentName !== name) {
+        parent = parent.$parent;
+        if (!parent)
+          return false;
+        parentName = parent.$options.name;
+      }
+      return parent;
+    },
+    chagne(e) {
+      const values = e.detail.value;
+      let detail = {
+        value: [],
+        data: []
+      };
+      if (this.multiple) {
+        this.range.forEach((item) => {
+          if (values.includes(item[this.map.value] + "")) {
+            detail.value.push(item[this.map.value]);
+            detail.data.push(item);
+          }
+        });
+      } else {
+        const range = this.range.find((item) => item[this.map.value] + "" === values);
+        if (range) {
+          detail = {
+            value: range[this.map.value],
+            data: range
+          };
+        }
+      }
+      this.$emit("input", detail.value);
+      this.$emit("update:modelValue", detail.value);
+      this.$emit("change", {
+        detail
+      });
+      if (this.multiple) {
+        this.dataList = this.getDataList(detail.value, true);
+      } else {
+        this.dataList = this.getDataList(detail.value);
+      }
+    },
+    /**
+     * 获取渲染的新数组
+     * @param {Object} value 选中内容
+     */
+    getDataList(value) {
+      let dataList = JSON.parse(JSON.stringify(this.range));
+      let list = [];
+      if (this.multiple) {
+        if (!Array.isArray(value)) {
+          value = [];
+        }
+      }
+      dataList.forEach((item, index) => {
+        item.disabled = item.disable || item.disabled || false;
+        if (this.multiple) {
+          if (value.length > 0) {
+            let have = value.find((val) => val === item[this.map.value]);
+            item.selected = have !== void 0;
+          } else {
+            item.selected = false;
+          }
+        } else {
+          item.selected = value === item[this.map.value];
+        }
+        list.push(item);
+      });
+      return this.setRange(list);
+    },
+    /**
+     * 处理最大最小值
+     * @param {Object} list
+     */
+    setRange(list) {
+      let selectList = list.filter((item) => item.selected);
+      let min = Number(this.min) || 0;
+      let max = Number(this.max) || "";
+      list.forEach((item, index) => {
+        if (this.multiple) {
+          if (selectList.length <= min) {
+            let have = selectList.find((val) => val[this.map.value] === item[this.map.value]);
+            if (have !== void 0) {
+              item.disabled = true;
+            }
+          }
+          if (selectList.length >= max && max !== "") {
+            let have = selectList.find((val) => val[this.map.value] === item[this.map.value]);
+            if (have === void 0) {
+              item.disabled = true;
+            }
+          }
+        }
+        this.setStyles(item, index);
+        list[index] = item;
+      });
+      return list;
+    },
+    /**
+     * 设置 class
+     * @param {Object} item
+     * @param {Object} index
+     */
+    setStyles(item, index) {
+      item.styleBackgroud = this.setStyleBackgroud(item);
+      item.styleIcon = this.setStyleIcon(item);
+      item.styleIconText = this.setStyleIconText(item);
+      item.styleRightIcon = this.setStyleRightIcon(item);
+    },
+    /**
+     * 获取选中值
+     * @param {Object} range
+     */
+    getSelectedValue(range) {
+      if (!this.multiple)
+        return this.dataValue;
+      let selectedArr = [];
+      range.forEach((item) => {
+        if (item.selected) {
+          selectedArr.push(item[this.map.value]);
+        }
+      });
+      return this.dataValue.length > 0 ? this.dataValue : selectedArr;
+    },
+    /**
+     * 设置背景样式
+     */
+    setStyleBackgroud(item) {
+      let styles = {};
+      let selectedColor = this.selectedColor ? this.selectedColor : "#2979ff";
+      if (this.selectedColor) {
+        if (this.mode !== "list") {
+          styles["border-color"] = item.selected ? selectedColor : "#DCDFE6";
+        }
+        if (this.mode === "tag") {
+          styles["background-color"] = item.selected ? selectedColor : "#f5f5f5";
+        }
+      }
+      let classles = "";
+      for (let i in styles) {
+        classles += `${i}:${styles[i]};`;
+      }
+      return classles;
+    },
+    setStyleIcon(item) {
+      let styles = {};
+      let classles = "";
+      if (this.selectedColor) {
+        let selectedColor = this.selectedColor ? this.selectedColor : "#2979ff";
+        styles["background-color"] = item.selected ? selectedColor : "#fff";
+        styles["border-color"] = item.selected ? selectedColor : "#DCDFE6";
+        if (!item.selected && item.disabled) {
+          styles["background-color"] = "#F2F6FC";
+          styles["border-color"] = item.selected ? selectedColor : "#DCDFE6";
+        }
+      }
+      for (let i in styles) {
+        classles += `${i}:${styles[i]};`;
+      }
+      return classles;
+    },
+    setStyleIconText(item) {
+      let styles = {};
+      let classles = "";
+      if (this.selectedColor) {
+        let selectedColor = this.selectedColor ? this.selectedColor : "#2979ff";
+        if (this.mode === "tag") {
+          styles.color = item.selected ? this.selectedTextColor ? this.selectedTextColor : "#fff" : "#666";
+        } else {
+          styles.color = item.selected ? this.selectedTextColor ? this.selectedTextColor : selectedColor : "#666";
+        }
+        if (!item.selected && item.disabled) {
+          styles.color = "#999";
+        }
+      }
+      for (let i in styles) {
+        classles += `${i}:${styles[i]};`;
+      }
+      return classles;
+    },
+    setStyleRightIcon(item) {
+      let styles = {};
+      let classles = "";
+      if (this.mode === "list") {
+        styles["border-color"] = item.selected ? this.styles.selectedColor : "#DCDFE6";
+      }
+      for (let i in styles) {
+        classles += `${i}:${styles[i]};`;
+      }
+      return classles;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_uni_load_more2 = common_vendor.resolveComponent("uni-load-more");
+  _easycom_uni_load_more2();
+}
+const _easycom_uni_load_more = () => "../../../uni-load-more/components/uni-load-more/uni-load-more.js";
+if (!Math) {
+  _easycom_uni_load_more();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: !$data.isLocal
+  }, !$data.isLocal ? common_vendor.e({
+    b: !_ctx.mixinDatacomErrorMessage
+  }, !_ctx.mixinDatacomErrorMessage ? {
+    c: common_vendor.p({
+      status: "loading",
+      iconType: "snow",
+      iconSize: 18,
+      ["content-text"]: $data.contentText
+    })
+  } : {
+    d: common_vendor.t(_ctx.mixinDatacomErrorMessage)
+  }) : common_vendor.e({
+    e: $props.multiple
+  }, $props.multiple ? {
+    f: common_vendor.f($data.dataList, (item, index, i0) => {
+      return common_vendor.e({
+        a: $props.disabled || !!item.disabled,
+        b: item[$props.map.value] + "",
+        c: item.selected
+      }, $props.mode !== "tag" && $props.mode !== "list" || $props.mode === "list" && $props.icon === "left" ? {
+        d: common_vendor.s(item.styleIcon)
+      } : {}, {
+        e: common_vendor.t(item[$props.map.text]),
+        f: common_vendor.s(item.styleIconText)
+      }, $props.mode === "list" && $props.icon === "right" ? {
+        g: common_vendor.s(item.styleBackgroud)
+      } : {}, {
+        h: common_vendor.n(item.selected ? "is-checked" : ""),
+        i: common_vendor.n($props.disabled || !!item.disabled ? "is-disable" : ""),
+        j: common_vendor.n(index !== 0 && $props.mode === "list" ? "is-list-border" : ""),
+        k: common_vendor.s(item.styleBackgroud),
+        l: index
+      });
+    }),
+    g: $props.mode !== "tag" && $props.mode !== "list" || $props.mode === "list" && $props.icon === "left",
+    h: $props.mode === "list" && $props.icon === "right",
+    i: $props.mode === "list" && $props.icon === "left" ? 1 : "",
+    j: common_vendor.n("is--" + $props.mode),
+    k: $props.mode === "list" || $props.wrap ? 1 : "",
+    l: common_vendor.o((...args) => $options.chagne && $options.chagne(...args))
+  } : {
+    m: common_vendor.f($data.dataList, (item, index, i0) => {
+      return common_vendor.e({
+        a: $props.disabled || item.disabled,
+        b: item[$props.map.value] + "",
+        c: item.selected
+      }, $props.mode !== "tag" && $props.mode !== "list" || $props.mode === "list" && $props.icon === "left" ? {
+        d: common_vendor.s(item.styleIcon),
+        e: common_vendor.s(item.styleBackgroud)
+      } : {}, {
+        f: common_vendor.t(item[$props.map.text]),
+        g: common_vendor.s(item.styleIconText)
+      }, $props.mode === "list" && $props.icon === "right" ? {
+        h: common_vendor.s(item.styleRightIcon)
+      } : {}, {
+        i: common_vendor.n(item.selected ? "is-checked" : ""),
+        j: common_vendor.n($props.disabled || !!item.disabled ? "is-disable" : ""),
+        k: common_vendor.n(index !== 0 && $props.mode === "list" ? "is-list-border" : ""),
+        l: common_vendor.s(item.styleBackgroud),
+        m: index
+      });
+    }),
+    n: $props.mode !== "tag" && $props.mode !== "list" || $props.mode === "list" && $props.icon === "left",
+    o: $props.mode === "list" && $props.icon === "right",
+    p: $props.mode === "list" && $props.icon === "left" ? 1 : "",
+    q: common_vendor.n("is--" + $props.mode),
+    r: $props.mode === "list" ? 1 : "",
+    s: $props.wrap ? 1 : "",
+    t: common_vendor.o((...args) => $options.chagne && $options.chagne(...args))
+  }), {
+    v: $data.isTop + "px"
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "G:/workSpace/agent-registration/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-load-more": "../../../uni-load-more/components/uni-load-more/uni-load-more"
+  }
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxml


+ 255 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.wxss

@@ -0,0 +1,255 @@
+/* 水平间距 */
+/* 水平间距 */
+.uni-data-loading {
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  height: 36px;
+  padding-left: 10px;
+  color: #999;
+}
+.uni-data-checklist {
+  position: relative;
+  z-index: 0;
+  flex: 1;
+}
+.uni-data-checklist .checklist-group {
+  display: flex;
+  flex-direction: row;
+  flex-wrap: wrap;
+}
+.uni-data-checklist .checklist-group.is-list {
+  flex-direction: column;
+}
+.uni-data-checklist .checklist-group .checklist-box {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  position: relative;
+  margin: 10px 0;
+  margin-right: 25px;
+}
+.uni-data-checklist .checklist-group .checklist-box .hidden {
+  position: absolute;
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content {
+  display: flex;
+  flex: 1;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
+  font-size: 14px;
+  color: #666;
+  margin-left: 5px;
+  line-height: 14px;
+}
+.uni-data-checklist .checklist-group .checklist-box .checklist-content .checkobx__list {
+  border-right-width: 1px;
+  border-right-color: #007aff;
+  border-right-style: solid;
+  border-bottom-width: 1px;
+  border-bottom-color: #007aff;
+  border-bottom-style: solid;
+  height: 12px;
+  width: 6px;
+  left: -5px;
+  transform-origin: center;
+  transform: rotate(45deg);
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box .checkbox__inner {
+  flex-shrink: 0;
+  box-sizing: border-box;
+  position: relative;
+  width: 16px;
+  height: 16px;
+  border: 1px solid #DCDFE6;
+  border-radius: 4px;
+  background-color: #fff;
+  z-index: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box .checkbox__inner .checkbox__inner-icon {
+  position: absolute;
+  top: 1px;
+  left: 5px;
+  height: 8px;
+  width: 4px;
+  border-right-width: 1px;
+  border-right-color: #fff;
+  border-right-style: solid;
+  border-bottom-width: 1px;
+  border-bottom-color: #fff;
+  border-bottom-style: solid;
+  opacity: 0;
+  transform-origin: center;
+  transform: rotate(40deg);
+}
+.uni-data-checklist .checklist-group .checklist-box .radio__inner {
+  display: flex;
+  flex-shrink: 0;
+  box-sizing: border-box;
+  justify-content: center;
+  align-items: center;
+  position: relative;
+  width: 16px;
+  height: 16px;
+  border: 1px solid #DCDFE6;
+  border-radius: 16px;
+  background-color: #fff;
+  z-index: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box .radio__inner .radio__inner-icon {
+  width: 8px;
+  height: 8px;
+  border-radius: 10px;
+  opacity: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .radio__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .radio__inner {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .checkbox__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .checklist-text {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--default.is-checked.is-disable .radio__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button {
+  margin-right: 10px;
+  padding: 5px 10px;
+  border: 1px #DCDFE6 solid;
+  border-radius: 3px;
+  transition: border-color 0.2s;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable {
+  border: 1px #eee solid;
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .radio__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .radio__inner {
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--button.is-checked.is-disable {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag {
+  margin-right: 10px;
+  padding: 5px 10px;
+  border: 1px #DCDFE6 solid;
+  border-radius: 3px;
+  background-color: #f5f5f5;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag .checklist-text {
+  margin: 0;
+  color: #666;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-disable {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked {
+  background-color: #2979ff;
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked .checklist-text {
+  color: #fff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list {
+  display: flex;
+  padding: 10px 15px;
+  padding-left: 0;
+  margin: 0;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-list-border {
+  border-top: 1px #eee solid;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-disable .checkbox__inner {
+  background-color: #F2F6FC;
+  border-color: #DCDFE6;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-disable .checklist-text {
+  color: #999;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checkbox__inner {
+  border-color: #2979ff;
+  background-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checkbox__inner .checkbox__inner-icon {
+  opacity: 1;
+  transform: rotate(45deg);
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .radio__inner .radio__inner-icon {
+  opacity: 1;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checklist-text {
+  color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked .checklist-content .checkobx__list {
+  opacity: 1;
+  border-color: #2979ff;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked.is-disable .checkbox__inner {
+  opacity: 0.4;
+}
+.uni-data-checklist .checklist-group .checklist-box.is--list.is-checked.is-disable .checklist-text {
+  opacity: 0.4;
+}

+ 231 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js

@@ -0,0 +1,231 @@
+"use strict";
+const common_vendor = require("../../../../common/vendor.js");
+const _sfc_main = {
+  name: "uni-stat-select",
+  mixins: [common_vendor.Es.mixinDatacom || {}],
+  data() {
+    return {
+      showSelector: false,
+      current: "",
+      mixinDatacomResData: [],
+      apps: [],
+      channels: []
+    };
+  },
+  props: {
+    localdata: {
+      type: Array,
+      default() {
+        return [];
+      }
+    },
+    value: {
+      type: [String, Number],
+      default: ""
+    },
+    modelValue: {
+      type: [String, Number],
+      default: ""
+    },
+    label: {
+      type: String,
+      default: ""
+    },
+    placeholder: {
+      type: String,
+      default: "请选择"
+    },
+    emptyTips: {
+      type: String,
+      default: "无选项"
+    },
+    clear: {
+      type: Boolean,
+      default: true
+    },
+    defItem: {
+      type: Number,
+      default: 0
+    },
+    disabled: {
+      type: Boolean,
+      default: false
+    }
+  },
+  created() {
+    this.last = `${this.collection}_last_selected_option_value`;
+    if (this.collection && !this.localdata.length) {
+      this.mixinDatacomEasyGet();
+    }
+  },
+  computed: {
+    typePlaceholder() {
+      const text = {
+        "opendb-stat-app-versions": "版本",
+        "opendb-app-channels": "渠道",
+        "opendb-app-list": "应用"
+      };
+      const common = this.placeholder;
+      const placeholder = text[this.collection];
+      return placeholder ? common + placeholder : common;
+    }
+  },
+  watch: {
+    localdata: {
+      immediate: true,
+      handler(val, old) {
+        if (Array.isArray(val) && old !== val) {
+          this.mixinDatacomResData = val;
+        }
+      }
+    },
+    modelValue() {
+      this.initDefVal();
+    },
+    mixinDatacomResData: {
+      immediate: true,
+      handler(val) {
+        if (val.length) {
+          this.initDefVal();
+        }
+      }
+    }
+  },
+  methods: {
+    initDefVal() {
+      let defValue = "";
+      if ((this.value || this.value === 0) && !this.isDisabled(this.value)) {
+        defValue = this.value;
+      } else if ((this.modelValue || this.modelValue === 0) && !this.isDisabled(this.modelValue)) {
+        defValue = this.modelValue;
+      } else {
+        let strogeValue;
+        if (this.collection) {
+          strogeValue = common_vendor.index.getStorageSync(this.last);
+        }
+        if (strogeValue || strogeValue === 0) {
+          defValue = strogeValue;
+        } else {
+          let defItem = "";
+          if (this.defItem > 0 && this.defItem < this.mixinDatacomResData.length) {
+            defItem = this.mixinDatacomResData[this.defItem - 1].value;
+          }
+          defValue = defItem;
+        }
+        this.emit(defValue);
+      }
+      const def = this.mixinDatacomResData.find((item) => item.value === defValue);
+      this.current = def ? this.formatItemName(def) : "";
+    },
+    /**
+     * @param {[String, Number]} value
+     * 判断用户给的 value 是否同时为禁用状态
+     */
+    isDisabled(value) {
+      let isDisabled = false;
+      this.mixinDatacomResData.forEach((item) => {
+        if (item.value === value) {
+          isDisabled = item.disable;
+        }
+      });
+      return isDisabled;
+    },
+    clearVal() {
+      this.emit("");
+      if (this.collection) {
+        common_vendor.index.removeStorageSync(this.last);
+      }
+    },
+    change(item) {
+      if (!item.disable) {
+        this.showSelector = false;
+        this.current = this.formatItemName(item);
+        this.emit(item.value);
+      }
+    },
+    emit(val) {
+      this.$emit("change", val);
+      this.$emit("input", val);
+      this.$emit("update:modelValue", val);
+      if (this.collection) {
+        common_vendor.index.setStorageSync(this.last, val);
+      }
+    },
+    toggleSelector() {
+      if (this.disabled) {
+        return;
+      }
+      this.showSelector = !this.showSelector;
+    },
+    formatItemName(item) {
+      let {
+        text,
+        value,
+        channel_code
+      } = item;
+      channel_code = channel_code ? `(${channel_code})` : "";
+      return this.collection.indexOf("app-list") > 0 ? `${text}(${value})` : text ? text : `未命名${channel_code}`;
+    }
+  }
+};
+if (!Array) {
+  const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
+  _easycom_uni_icons2();
+}
+const _easycom_uni_icons = () => "../../../uni-icons/components/uni-icons/uni-icons.js";
+if (!Math) {
+  _easycom_uni_icons();
+}
+function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
+  return common_vendor.e({
+    a: $props.label
+  }, $props.label ? {
+    b: common_vendor.t($props.label + ":")
+  } : {}, {
+    c: $data.current
+  }, $data.current ? {
+    d: common_vendor.t($data.current)
+  } : {
+    e: common_vendor.t($options.typePlaceholder)
+  }, {
+    f: $data.current && $props.clear
+  }, $data.current && $props.clear ? {
+    g: common_vendor.o($options.clearVal),
+    h: common_vendor.p({
+      type: "clear",
+      color: "#c0c4cc",
+      size: "24"
+    })
+  } : {
+    i: common_vendor.p({
+      type: $data.showSelector ? "top" : "bottom",
+      size: "14",
+      color: "#999"
+    })
+  }, {
+    j: common_vendor.o((...args) => $options.toggleSelector && $options.toggleSelector(...args)),
+    k: $data.showSelector
+  }, $data.showSelector ? {
+    l: common_vendor.o((...args) => $options.toggleSelector && $options.toggleSelector(...args))
+  } : {}, {
+    m: $data.showSelector
+  }, $data.showSelector ? common_vendor.e({
+    n: $data.mixinDatacomResData.length === 0
+  }, $data.mixinDatacomResData.length === 0 ? {
+    o: common_vendor.t($props.emptyTips)
+  } : {
+    p: common_vendor.f($data.mixinDatacomResData, (item, index, i0) => {
+      return {
+        a: common_vendor.t($options.formatItemName(item)),
+        b: item.disable ? 1 : "",
+        c: index,
+        d: common_vendor.o(($event) => $options.change(item), index)
+      };
+    })
+  }) : {}, {
+    q: $props.disabled ? 1 : "",
+    r: $data.current ? 1 : ""
+  });
+}
+const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "G:/workSpace/agent-registration/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue"]]);
+wx.createComponent(Component);

+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json

@@ -0,0 +1,6 @@
+{
+  "component": true,
+  "usingComponents": {
+    "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons"
+  }
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml


+ 160 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss

@@ -0,0 +1,160 @@
+/* 水平间距 */
+/* 水平间距 */
+@media screen and (max-width: 500px) {
+.hide-on-phone {
+    display: none;
+}
+}
+.uni-stat__select {
+  display: flex;
+  align-items: center;
+  cursor: pointer;
+  width: 100%;
+  flex: 1;
+  box-sizing: border-box;
+}
+.uni-stat-box {
+  width: 100%;
+  flex: 1;
+}
+.uni-stat__actived {
+  width: 100%;
+  flex: 1;
+}
+.uni-label-text {
+  font-size: 14px;
+  font-weight: bold;
+  color: #6a6a6a;
+  margin: auto 0;
+  margin-right: 5px;
+}
+.uni-select {
+  font-size: 14px;
+  border: 1px solid #e5e5e5;
+  box-sizing: border-box;
+  border-radius: 4px;
+  padding: 0 5px;
+  padding-left: 10px;
+  position: relative;
+  display: flex;
+  -webkit-user-select: none;
+          user-select: none;
+  flex-direction: row;
+  align-items: center;
+  border-bottom: solid 1px #e5e5e5;
+  width: 100%;
+  flex: 1;
+  height: 35px;
+}
+.uni-select--disabled {
+  background-color: #f5f7fa;
+  cursor: not-allowed;
+}
+.uni-select__label {
+  font-size: 16px;
+  height: 35px;
+  padding-right: 10px;
+  color: #909399;
+}
+.uni-select__input-box {
+  height: 35px;
+  position: relative;
+  display: flex;
+  flex: 1;
+  flex-direction: row;
+  align-items: center;
+}
+.uni-select__input {
+  flex: 1;
+  font-size: 14px;
+  height: 22px;
+  line-height: 22px;
+}
+.uni-select__input-plac {
+  font-size: 14px;
+  color: #909399;
+}
+.uni-select__selector {
+  box-sizing: border-box;
+  position: absolute;
+  top: calc(100% + 12px);
+  left: 0;
+  width: 100%;
+  background-color: #FFFFFF;
+  border: 1px solid #EBEEF5;
+  border-radius: 6px;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+  z-index: 3;
+  padding: 4px 0;
+}
+.uni-select__selector-scroll {
+  max-height: 200px;
+  box-sizing: border-box;
+}
+.uni-select__selector-empty,
+.uni-select__selector-item {
+  display: flex;
+  cursor: pointer;
+  line-height: 35px;
+  font-size: 14px;
+  text-align: center;
+  /* border-bottom: solid 1px $uni-border-3; */
+  padding: 0px 10px;
+}
+.uni-select__selector-item:hover {
+  background-color: #f9f9f9;
+}
+.uni-select__selector-empty:last-child,
+.uni-select__selector-item:last-child {
+  border-bottom: none;
+}
+.uni-select__selector__disabled {
+  opacity: 0.4;
+  cursor: default;
+}
+
+/* picker 弹出层通用的指示小三角 */
+.uni-popper__arrow,
+.uni-popper__arrow::after {
+  position: absolute;
+  display: block;
+  width: 0;
+  height: 0;
+  border-color: transparent;
+  border-style: solid;
+  border-width: 6px;
+}
+.uni-popper__arrow {
+  filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+  top: -6px;
+  left: 10%;
+  margin-right: 3px;
+  border-top-width: 0;
+  border-bottom-color: #EBEEF5;
+}
+.uni-popper__arrow::after {
+  content: " ";
+  top: 1px;
+  margin-left: -6px;
+  border-top-width: 0;
+  border-bottom-color: #fff;
+}
+.uni-select__input-text {
+  width: 100%;
+  color: #3a3a3a;
+  white-space: nowrap;
+  text-overflow: ellipsis;
+  -o-text-overflow: ellipsis;
+  overflow: hidden;
+}
+.uni-select__input-placeholder {
+  color: #6a6a6a;
+  font-size: 12px;
+}
+.uni-select--mask {
+  position: fixed;
+  top: 0;
+  bottom: 0;
+  right: 0;
+  left: 0;
+}

+ 22 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js

@@ -0,0 +1,22 @@
+"use strict";
+const en = {
+  "uni-load-more.contentdown": "Pull up to show more",
+  "uni-load-more.contentrefresh": "loading...",
+  "uni-load-more.contentnomore": "No more data"
+};
+const zhHans = {
+  "uni-load-more.contentdown": "上拉显示更多",
+  "uni-load-more.contentrefresh": "正在加载...",
+  "uni-load-more.contentnomore": "没有更多数据了"
+};
+const zhHant = {
+  "uni-load-more.contentdown": "上拉顯示更多",
+  "uni-load-more.contentrefresh": "正在加載...",
+  "uni-load-more.contentnomore": "沒有更多數據了"
+};
+const messages = {
+  en,
+  "zh-Hans": zhHans,
+  "zh-Hant": zhHant
+};
+exports.messages = messages;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 111 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml


+ 156 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss

@@ -0,0 +1,156 @@
+/* 水平间距 */
+/* 水平间距 */
+.uni-load-more {
+  display: flex;
+  flex-direction: row;
+  height: 40px;
+  align-items: center;
+  justify-content: center;
+}
+.uni-load-more__text {
+  font-size: 14px;
+  margin-left: 8px;
+}
+.uni-load-more__img {
+  width: 24px;
+  height: 24px;
+}
+.uni-load-more__img--nvue {
+  color: #666666;
+}
+.uni-load-more__img--android,
+.uni-load-more__img--ios {
+  width: 24px;
+  height: 24px;
+  transform: rotate(0deg);
+}
+.uni-load-more__img--android {
+  animation: loading-ios 1s 0s linear infinite;
+}
+@keyframes loading-android {
+0% {
+    transform: rotate(0deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}
+.uni-load-more__img--ios-H5 {
+  position: relative;
+  animation: loading-ios-H5 1s 0s step-end infinite;
+}
+.uni-load-more__img--ios-H5 image {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+}
+@keyframes loading-ios-H5 {
+0% {
+    transform: rotate(0deg);
+}
+8% {
+    transform: rotate(30deg);
+}
+16% {
+    transform: rotate(60deg);
+}
+24% {
+    transform: rotate(90deg);
+}
+32% {
+    transform: rotate(120deg);
+}
+40% {
+    transform: rotate(150deg);
+}
+48% {
+    transform: rotate(180deg);
+}
+56% {
+    transform: rotate(210deg);
+}
+64% {
+    transform: rotate(240deg);
+}
+73% {
+    transform: rotate(270deg);
+}
+82% {
+    transform: rotate(300deg);
+}
+91% {
+    transform: rotate(330deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}
+.uni-load-more__img--android-MP {
+  position: relative;
+  width: 24px;
+  height: 24px;
+  transform: rotate(0deg);
+  animation: loading-ios 1s 0s ease infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon {
+  position: absolute;
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+  border-radius: 50%;
+  border: solid 2px transparent;
+  border-top: solid 2px #777777;
+  transform-origin: center;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(1) {
+  animation: loading-android-MP-1 1s 0s linear infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(2) {
+  animation: loading-android-MP-2 1s 0s linear infinite;
+}
+.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(3) {
+  animation: loading-android-MP-3 1s 0s linear infinite;
+}
+@keyframes loading-android {
+0% {
+    transform: rotate(0deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-1 {
+0% {
+    transform: rotate(0deg);
+}
+50% {
+    transform: rotate(90deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-2 {
+0% {
+    transform: rotate(0deg);
+}
+50% {
+    transform: rotate(180deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}
+@keyframes loading-android-MP-3 {
+0% {
+    transform: rotate(0deg);
+}
+50% {
+    transform: rotate(270deg);
+}
+100% {
+    transform: rotate(360deg);
+}
+}