Просмотр исходного кода

1、加手动录入数据穿梭框

lry 5 месяцев назад
Родитель
Сommit
f3265f6427

+ 7 - 6
industry-admin/src/views/mobile/mobileSetting/index.vue

@@ -21,6 +21,12 @@
           :data="chartDataList" border stripe header-row-class-name="headBackground">
           <el-table-column
             align="left"
+            label="排序号"
+            prop="sortNum"
+            width="100">
+          </el-table-column>
+          <el-table-column
+            align="left"
             label="图表名称"
             prop="chartName">
             <template slot-scope="scope">
@@ -51,12 +57,7 @@
 
             </template>
           </el-table-column>
-          <el-table-column
-            align="left"
-            label="排序号"
-            prop="sortNum"
-            width="200">
-          </el-table-column>
+
           <el-table-column label="操作" align="left" width="200">
             <template slot-scope="scope">
               <el-button type="text"

+ 38 - 3
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/item-list-table.js

@@ -16,6 +16,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 		}
 	})
 	util.on({
+		//添加点位事件
 		'data-item-add-btn': function() {
 			const list = fn.data.itemList
 			const items = list.map(item => {
@@ -47,6 +48,39 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 				}
 			})
 		},
+		//添加手动录入项事件
+		'data-item-addManual-btn': function() {
+			const list = fn.data.itemList
+			const items = list.map(item => {
+				return {value: item.itemId}
+			})
+			//layui.itemManualListw.data.dd = 1
+			layui.itemManualListw.open({
+				policyId: fn.data.itemEditInfo.policyId,
+				items,
+				success: function(data, index) {
+					let itemList = data.map((item) => {
+						const width = sheetUtil.getTextWidth('^.' + item.title)
+						return {
+							uid: uuidv4(),
+							itemId: item.value,
+							itemName: item.title,
+							itemDesc:item.desc,
+							itemScale:item.scale,
+							policyId: fn.data.itemEditInfo.policyId,
+							policyName: fn.data.itemEditInfo.policyName,
+							width,
+							tableId: fn.data.tableId
+						}
+					})
+					fn.data.itemList = itemList
+					table.reloadData('item-list-table', {
+						data: fn.data.itemList
+					})
+					layer.close(index)
+				}
+			})
+		},
 		'data-item-switch-btn': function() {
 			const policyId = $('select[name="data-item-group"]').val()
 			if (!policyId) {
@@ -358,6 +392,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 								</div>
 							</div>
 							<div class="layui-inline">
+								<button lay-on="data-item-addManual-btn" type="button" class="layui-btn layui-btn-sm ${fn.data.type == 'edit'? '' : 'layui-hide'}">添加手动录入项</button>
 								<button lay-on="data-item-add-btn" type="button" class="layui-btn layui-btn-sm ${fn.data.type == 'edit'? '' : 'layui-hide'}">添加点位</button>
 								<button lay-on="data-item-switch-btn" type="button" class="layui-btn layui-btn-sm ${fn.data.type == 'edit'? 'layui-hide' : ''}">选择点位</button>
 								<button lay-on="data-item-setting-btn" type="button" class="layui-btn layui-btn-sm">设置数据条件</button>
@@ -576,7 +611,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			if (fn.data.type != 'edit') {
 				cols.push({title: '操作', width: 130, templet: function(d) {
 					return `
-						<span lay-event="del" class="layui-font-red " style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除1</span>
+						<span lay-event="del" class="layui-font-red " style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除</span>
 					`
 				}})
 			}
@@ -622,7 +657,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			if (fn.data.type != 'edit') {
 				cols.push({title: '操作', width: 130, templet: function(d) {
 					return `
-						<span lay-event="del" class="layui-font-red " style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除2</span>
+						<span lay-event="del" class="layui-font-red " style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除</span>
 					`
 				}})
 			}
@@ -682,7 +717,7 @@ layui.define(['layer', 'form', 'table', 'util', 'dataSettingw', 'sheetUtil', 'it
 			if (fn.data.type != 'edit') {
 				cols.push({title: '操作', width: 130, templet: function(d) {
 					return `
-						<span lay-event="del" class="layui-font-red" style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除3</span>
+						<span lay-event="del" class="layui-font-red" style="cursor: pointer;"><i class="layui-icon layui-icon-delete"></i>删除</span>
 					`
 				}})
 			}

+ 82 - 0
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/itemM-list-window.js

@@ -0,0 +1,82 @@
+layui.define(['layer', 'form', 'transfer'], function(exports) {
+	const layer = layui.layer
+	const form = layui.form
+	const transfer = layui.transfer
+	const api = layui.api
+	const view = {
+		itemList: function() {
+			return `
+			<div class="layui-margin-3">
+				<form class="layui-form" action="">
+					<div class="layui-form-item">
+						<span>组名称:<span class="item-group-name"></span>(共<span class="item-number">0</span>项)</span>
+					</div>
+					<div id="item-list-transfer"></div>
+				</form>
+			</div>
+			`
+		},
+		render: function(id, items) {
+			api.getReportDataPolicyById(id).then(function(json) {
+				$('.item-group-name').text(json.data.reportDataPolicyName || '')
+				$('.item-number').text(json.data.policyItemList ? json.data.policyItemList.length : 0)
+				let value = []
+				if (items && items instanceof Array) {
+					value = items.map(item => { return item.value})
+				}
+				transfer.render({
+					elem: '#item-list-transfer',
+					id: 'item-list-transfer',
+					data: json.data.policyItemList,
+					title: ['全选', '全选'],
+					value,
+					width: 400,
+					height: 400,
+					showSearch: true,
+					parseData: function(res) {
+						return {
+							title: res.modbusConfig ? res.itemName : res.itemReadName,
+							value: res.id,
+							desc:res.describe,
+							scale:res.scale
+						}
+					},
+					onchange: function(obj){
+						// 更新transfer的数据
+						transfer.reload('item-list-transfer', {
+							data: json.data.policyItemList // 重新设置初始数据
+						});
+					}
+				})
+			})
+		}
+	}
+
+	const fn = {
+		data: {
+		},
+		open: function(params) {
+			layer.open({
+				type: 1,
+				title: ['选择点位', 'text-align: center;padding-left: 81px;'],
+				area: ['930px', '574px'],
+				btn: ['确定', '取消'],
+				content: view.itemList(),
+				success: function() {
+					form.render()
+					view.render(params.policyId, params.items)
+				},
+				yes: function(index) {
+					const arr = transfer.getData('item-list-transfer')
+					if (arr.length == 0) {
+						layer.msg('请选择点位!', {icon: 2})
+						return
+					}
+					if (params.success) params.success(arr, index)
+				}
+			});
+		}
+	}
+
+	exports('itemManualListw', fn);
+});

+ 83 - 0
industry-system/industry-da/src/main/resources/static/reportSheet/js/src/model/itemManual-list-window.js

@@ -0,0 +1,83 @@
+//添加手动录入数据左右穿梭框
+layui.define(['layer', 'form', 'transfer'], function(exports) {
+	const layer = layui.layer
+	const form = layui.form
+	const transfer = layui.transfer
+	const api = layui.api
+	const view = {
+		itemList: function() {
+			return `
+			<div class="layui-margin-3">
+				<form class="layui-form" action="">
+					<div class="layui-form-item">
+						<span>组名称:<span class="item-group-name"></span>(共<span class="item-number">0</span>项)</span>
+					</div>
+					<div id="item-list-transfer"></div>
+				</form>
+			</div>
+			`
+		},
+		render: function(id, items) {
+			api.getReportDataPolicyById(id).then(function(json) {
+				$('.item-group-name').text(json.data.reportDataPolicyName || '')
+				$('.item-number').text(json.data.policyItemList ? json.data.policyItemList.length : 0)
+				let value = []
+				if (items && items instanceof Array) {
+					value = items.map(item => { return item.value})
+				}
+				transfer.render({
+					elem: '#item-list-transfer',
+					id: 'item-list-transfer',
+					data: json.data.policyItemList,
+					title: ['全选', '全选'],
+					value,
+					width: 400,
+					height: 400,
+					showSearch: true,
+					parseData: function(res) {
+						return {
+							title: res.modbusConfig ? res.itemName : res.itemReadName,
+							value: res.id,
+							desc:res.describe,
+							scale:res.scale
+						}
+					},
+					onchange: function(obj){
+						// 更新transfer的数据
+						transfer.reload('item-list-transfer', {
+							data: json.data.policyItemList // 重新设置初始数据
+						});
+					}
+				})
+			})
+		}
+	}
+
+	const fn = {
+		data: {
+		},
+		open: function(params) {
+			layer.open({
+				type: 1,
+				title: ['选择点位', 'text-align: center;padding-left: 81px;'],
+				area: ['930px', '574px'],
+				btn: ['确定', '取消'],
+				content: view.itemList(),
+				success: function() {
+					form.render()
+					view.render(params.policyId, params.items)
+				},
+				yes: function(index) {
+					const arr = transfer.getData('item-list-transfer')
+					if (arr.length == 0) {
+						layer.msg('请选择点位!', {icon: 2})
+						return
+					}
+					if (params.success) params.success(arr, index)
+				}
+			});
+		}
+	}
+
+	exports('itemManualListw', fn);
+});

+ 1 - 0
industry-system/industry-da/src/main/resources/static/reportSheet/js/util/constants.js

@@ -14,6 +14,7 @@ var layui = layui.config({
 	manualItemWin: 'model/manualitem-window',
 	chartRightw: 'model/chart-right-window',
 	itemListw: 'model/item-list-window',
+	itemManualListw: 'model/itemM-list-window',
 	dataSettingw: 'model/data-setting-window',
 	itemVarW: 'model/item-var-window',
 	printW: 'model/print-window',