From 619b47962e41f506baf7ce2b535b2de1fecc719e Mon Sep 17 00:00:00 2001
From: cuiqian2004 <cuiqian2004@163.com>
Date: 星期四, 19 六月 2025 10:58:49 +0800
Subject: [PATCH] rfid扫描添加原生插件

---
 pages/modal/3037_2.vue |  223 +++++++++++++++++++++++++------------------------------
 1 files changed, 103 insertions(+), 120 deletions(-)

diff --git a/pages/modal/3037_2.vue b/pages/modal/3037_2.vue
index b2cb137..69b6392 100644
--- a/pages/modal/3037_2.vue
+++ b/pages/modal/3037_2.vue
@@ -1,5 +1,5 @@
 <template>
-	<view class="uni-page-modal-3017-2">
+	<view class="uni-page-modal-3017-2" :class="largeMode?'large-mode':''">
 		<!-- 琛ㄥご鏍峰紡 -->
 		<OIForm ref="refBaseForm" class="v-headStyle" :form="head_styledef.form" @on-focus="ontap"
 			@on-change="onEnterChange" @on-click-prefix="classAttr_extButton" @on-click-suffix="classAttr_extButton">
@@ -33,8 +33,38 @@
 			<!-- 浠庢暟鎹樉绀鸿鎯呭尯 -->
 			<view class="v-panellist" v-for="(subpanel,iiindex) in subPanelList" @tap="onPanelClick(iiindex)"
 				:class="activelist[iiindex].active==true?'bk-active':''">
-				<OIForm class="v-area dv-panel" :form="subpanel.subClassAttr.form" viewMode></OIForm>
+				<uni-forms class="v-area dv-panel" label-align="right">
+					<view v-for="(item,index) in subpanel.subClassAttr.form.items" :key="index">
+						<!-- 鏍呮牸甯冨眬 -->
+						<uni-row v-if="item.name == 'Layout'" :gutter="item.setting.gutter">
+							<uni-col
+								:span="item.setting.spanList && item.setting.spanList[key]? item.setting.spanList[key] : 24 / item.setting.col"
+								v-for="(col,key) in item.setting.colList" :key="key">
+								<uni-forms-item v-if="col != null"
+									:label="col.labelWidth === 0 ? '' : col.label? col.label+'锛�:''"
+									:label-width="col.labelWidth || col.labelWidth === 0 ? col.labelWidth : 100+'px'">
+									<view v-if="col.disabled">{{col.value}}</view>
+									<input class="uni-input" v-else-if="col.name=='Input' || col.name=='InputNumber'"
+										:type="col.name=='InputNumber'?'number':'text'" v-model="col.value"
+										:placeholder="col.placeholder" :maxlength="-1" />
+									<view v-else>{{col.value}}</view>
 
+								</uni-forms-item>
+								<uni-forms-item v-else label=""></uni-forms-item>
+							</uni-col>
+						</uni-row>
+						<uni-forms-item v-else :label="item.labelWidth === 0 ? '' : item.label? item.label+'锛�:''"
+							:label-width="item.labelWidth || item.labelWidth === 0 ? item.labelWidth : 100+'px'"
+							:style="{ textAlign: item.setting.align }">
+							<view v-if="item.disabled">{{item.value}}</view>
+							<input v-else-if="item.name=='Input' || item.name=='InputNumber' " class="uni-input"
+								:type="item.name=='InputNumber'?'number':'text'" v-model="item.value"
+								:disabled="item.disabled" :placeholder="item.placeholder" :maxlength="-1" />
+							<view v-else>{{item.value}}</view>
+
+						</uni-forms-item>
+					</view>
+				</uni-forms>
 				<view class="v-paneldel" v-if="param.Sub_Cls.Can_Add_Delete == true">
 					<a href="javascript:;" class="panel_del" @tap="panel_del(iiindex)"><i
 							class="ace-icon fu-delete"></i></a>
@@ -84,7 +114,7 @@
 <script>
 	import {
 		Base64
-	} from  '@/js/Base64.js';
+	} from '@/js/Base64.js';
 	import utils from "@/js/utils.js"
 	import {
 		appGetInfo,
@@ -107,6 +137,7 @@
 		},
 		data() {
 			return {
+					largeMode: getApp().globalData.largeMode || false,
 				title: this.translateSys('add2'),
 				param: {},
 				edit_inital_event: "", //寮圭獥鍒濆鍖栦簨浠禝D
@@ -233,16 +264,36 @@
 										$this.head_styledef.form
 											.model[ele.fieldId] = itemName;
 									}
-									$this.head_styledef.form.items[index].dict = selections.map((a) => {
-										return {
-											value: a.value,
-											text: a.label
-										}
-									})
+									$this.head_styledef.form.items[index].selections = selections.map((
+										a) => {
+											return {
+												value: a.value,
+												text: a.label
+											}
+										})
 								}
 
 							}
 						});
+						const app = getApp()
+						if (app.globalData.bindClasses) {
+							$this.head_styledef.form.items.push({
+								name: "Input",
+								label: this.translate("classes"),
+								labelWidth: 100,
+								disabled: true,
+								value: app.globalData.classes,
+								setting: {
+									width: 100,
+									height: 50,
+								},
+								bind: {
+									attr: "",
+								},
+								fieldId: "S_CLASSES",
+							})
+							$this.head_styledef.form.model["S_CLASSES"] = app.globalData.classes
+						}
 					}
 					if ($this.head_styledef.event?.length > 0) {
 						$this.head_styledef.event.forEach(async (a) => { //鍒ゆ柇鏄惁鏄垵濮嬪寲浜嬩欢
@@ -293,7 +344,8 @@
 									if (itemName) {
 										$this.detail1_styledef.form.items[ele.fieldId] = itemName;
 									}
-									$this.detail1_styledef.form.items[index].dict = selections.map((a) => {
+									$this.detail1_styledef.form.items[index].selections = selections.map((
+										a) => {
 										return {
 											value: a.value,
 											text: a.label
@@ -501,20 +553,7 @@
 												});
 											}
 										}
-										var length = 0;
-										if (!$this.refdatastore.filter(function(s) {
-												return result[i].attr == s.attr
-											}).length) {
-											length = 1;
-											$this.refdatastore.push(result[i]);
-										}
-										if (length == 0) {
-											for (var j = 0; j < $this.refdatastore.length; j++) {
-												if ($this.refdatastore[j].attr == result[i].attr) {
-													$this.refdatastore[j].value = result[i].value;
-												}
-											}
-										}
+
 									}
 								} else if (data.action[i].action_type == 'set_dlg_attr_show') {
 									var result = action.value;
@@ -583,11 +622,11 @@
 			ontap(item) { //鎵爜鍔熻兘
 				//console.log(e.target)
 				getApp().onScan((result) => {
-					//console.log(result.decodedata);
+					//console.log(result);
 					uni.hideKeyboard();
 					var $this = this;
 					console.log(item);
-					item.value = result.decodedata
+					item.value = result
 					let newVal = item.value.trim()
 					if (newVal) {
 						item.oldvalue = newVal;
@@ -969,8 +1008,7 @@
 															rclsid: "",
 															robjid: "",
 															userlogin: "",
-															clsid: $this.$data
-																.param
+															clsid: $this.param
 																.DataCls.id,
 															objid: "",
 															attr: param.req,
@@ -1079,8 +1117,8 @@
 			scan_ontap(e) { //鎵爜鍖烘壂鐮佸姛鑳� 				//console.log(e.target)
 				getApp().onScan((result) => {
-					console.log(result.decodedata);
-					item.value = result.decodedata
+					console.log(result);
+					item.value = result
 					let newVal = item.value
 					if (typeof item.value == "string") {
 						newVal = item.value.trim()
@@ -1571,20 +1609,7 @@
 											}
 
 										}
-										var length = 0;
-										if (!$this.refdatastore.filter(function(s) {
-												return result[i].attr == s.attr
-											}).length) {
-											length = 1;
-											$this.refdatastore.push(result[i]);
-										}
-										if (length == 0) {
-											for (var j = 0; j < $this.refdatastore.length; j++) {
-												if ($this.refdatastore[j].attr == result[i].attr) {
-													$this.refdatastore[j].value = result[i].value;
-												}
-											}
-										}
+
 									}
 								} else if (action.action_type == 'set_dlg_attr_show') {
 									var result = action.value;
@@ -1829,19 +1854,7 @@
 											}
 										}
 										var length = 0;
-										if (!$this.refdatastore.filter(function(s) {
-												return result[i].attr == s.attr
-											}).length) {
-											length = 1;
-											$this.refdatastore.push(result[i]);
-										}
-										if (length == 0) {
-											for (var j = 0; j < $this.refdatastore.length; j++) {
-												if ($this.refdatastore[j].attr == result[i].attr) {
-													$this.refdatastore[j].value = result[i].value;
-												}
-											}
-										}
+
 									}
 								} else if (action.action_type == 'set_global_attr') {
 									$this.$actiontr = action.value || [];
@@ -2272,61 +2285,46 @@
 			/* padding: 10rpx 20rpx 4rpx 0px; */
 			border-radius: 12rpx;
 			/* margin-bottom: 20rpx; */
-			text-align: right;
+
+			.uni-forms-item {
+				padding-bottom: 5rpx;
+				margin-bottom: 0;
+
+				.uni-forms-item__label {
+					height: 20px !important;
+					padding: 0 10rpx 0 0 !important;
+				}
+
+				.uni-input {
+					width: calc(100% - 12rpx);
+					padding: 5rpx;
+					border: 1px solid #d5d5d5;
+					color: #2d8cf0;
+					height: 20px;
+					background: #FFF;
+					line-height: 20px;
+					border-radius: 6px !important;
+					font-size: 14px;
+					font-family: inherit;
+					box-shadow: none !important;
+					transition-duration: 0.1s;
+					vertical-align: middle;
+				}
+
+				.uni-input:hover {
+					border: 1px solid rgb(41, 121, 255);
+				}
+			}
+
+
+
 		}
 
 		.dv-panel:first-child {
 			padding-top: 10rpx;
 		}
 
-		.dv-panel-input {
-			width: 100%;
-			display: inline-block;
-			text-align: left;
-		}
 
-		.dv-panel .txt_title {
-			font-size: 34rpx;
-			text-align: right;
-			display: inline-block;
-			vertical-align: 12px;
-		}
-
-		.dv-panel input {
-			/* vertical-align: middle; */
-			display: inline-block;
-			border: 1px solid #d5d5d5;
-			width: 68%;
-			height: 52rpx;
-			line-height: 34rpx;
-			background: #FFF;
-			border-radius: 7px !important;
-			color: #2d8cf0;
-			padding: 6rpx 8rpx 8rpx;
-			font-size: 32rpx;
-			font-family: inherit;
-			box-shadow: none !important;
-			transition-duration: 0.1s;
-			margin-top: 0rpx;
-		}
-
-		.dv-panel input::-webkit-input-placeholder {
-			font-size: 10rpx;
-		}
-
-		.input-disabled {
-			background-color: #f3f3f3 !important;
-		}
-
-		.dv-panel .form-item-span {
-			vertical-align: top;
-			color: #2d8cf0;
-			white-space: normal;
-			word-break: break-all;
-			display: inline-block;
-			width: calc(100% - 100px);
-			/* border: 1rpx solid red; */
-		}
 
 		#dv_select {
 			display: inline-block;
@@ -2626,20 +2624,5 @@
 			margin-top: 5px;
 		}
 
-		// .uni-px-5 {
-		// 	margin: 0;
-		// 	display: inline-block;
-		// 	margin: 0;    
-		// 	font-size: 14px;
-		// }
-		// .uni-select{
-		// 	border: 1px solid #ccc;
-		// 	border-radius: 0;
-		// }
-		// .uni-section-content{
-		// 	display: inline-block;
-		// 	width: 100px; 
-		// 	border: 1px solid red;
-		// }
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1