From b9bd29a1a81f6f7de479e3cc3fdfe3d85fc660bf Mon Sep 17 00:00:00 2001
From: he wei <858544502@qq.com>
Date: 星期三, 23 四月 2025 13:35:06 +0800
Subject: [PATCH] UA 整理提交

---
 src/views/device/locks/addEdit.vue |  816 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 486 insertions(+), 330 deletions(-)

diff --git a/src/views/device/locks/addEdit.vue b/src/views/device/locks/addEdit.vue
index a04f605..12910a9 100644
--- a/src/views/device/locks/addEdit.vue
+++ b/src/views/device/locks/addEdit.vue
@@ -1,359 +1,515 @@
 <script setup>
-	import { ref, onMounted } from "vue";
-	import { getAreaTreeApi } from "@/api/area";
-	import { formatAreaTree } from "@/utils/tree";
-	import { updateLock, addLock, getScreenType, getScreenProduct } from "@/api/lockManager.js";
-	import useElement from "@/hooks/useElement.js";
-	const { $loading, $message, $confirm } = useElement();
-	const areaList = ref([]);
-	const emit = defineEmits(["close", "ok"]);
-	const formRef = ref();
-	const typeList = ref([
+import { ref, onMounted, reactive, computed } from "vue";
+// import { getAreaTreeApi } from "@/api/area";
+// import { formatAreaTree } from "@/utils/tree";
+import { updateLock, addLock, getScreenType, getScreenProduct } from "@/api/lockManager.js";
+import useElement from "@/hooks/useElement.js";
+import useStation from '@/hooks/useStationList.js';
+const {
+	stationName1,
+	stationName2,
+	stationName3,
+	stationName4,
+	stationList1,
+	stationList2,
+	stationList3,
+	stationList4,
+  getProviceList, getCityList, getCountryList, getStationList
+} = useStation();
 
-	]);
-	const productList = ref([
 
-	]);
-	const rules = {
-		count: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-			{
-				validator: (rule, value, callback) => {
-					const reg = /^\d+$/;
-					if (!reg.test(value)) {
-						callback(new Error("鍙兘涓烘暟瀛�"));
-					} else {
-						if (value > 1000) {
-							callback(new Error("鏈�澶ф敮鎸佹壒閲忔柊澧�1000濂�"));
-						} else if (value < 1) {
-							callback(new Error("杈撳叆涓嶈兘灏忎簬1"));
-						} else {
-							callback();
-						}
-					}
-				},
-				trigger: ["change", "blur"],
-			},
-		],
-		areaId: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-			{
-				validator: (rule, value, callback) => {
-					if (Object.prototype.toString.call(value) === '[object Array]' && !value.length) {
-						callback(new Error("璇烽�夋嫨鍖哄煙"));
-					} else {
-						callback();
-					}
-				},
-				trigger: ["change", "blur"],
-			},
-		],
-		lockName: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-		],
-    screenFlag: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-		],
-    screenBoxType: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-		],
-    screenBoxProduct: [
-			{
-				required: true,
-				message: "涓嶈兘涓虹┖",
-				trigger: ["change", "blur"],
-			},
-		],
-		// 缁忓害
-		longitude: [
-			{
-				validator: (rule, value, callback) => {
-					let reg = /^-?1?(\d{1,2}(\.\d+)?|\d{1}(\.\d+))$/;
-					if (value && !reg.test(value)) {
-						callback(new Error("璇疯緭鍏ユ纭殑缁忓害"));
-					} else {
-						callback();
-					}
+const { $loading, $message, $confirm } = useElement();
+const areaList = ref([]);
+const emit = defineEmits(["close", "ok"]);
+const formRef = ref();
+const typeList = ref([
 
-				},
-				trigger: ["change", "blur"],
-			},
-		],
-		// 绾害
-		latitude: [
-			{
-				validator: (rule, value, callback) => {
-					let reg = /^-?(\d{1,2}(\.\d+)?|\d{1}(\.\d+))$/;
-					if (value && !reg.test(value)) {
-						callback(new Error("璇疯緭鍏ユ纭殑绾害"));
-					} else {
-						callback();
-					}
+]);
+const productList = ref([
 
-				},
-				trigger: ["change", "blur"],
-			},
-		]
-	};
-	const formLock = ref({
-		areaId: "",
-		lockId: "",
-		lockType: 3,
-		lockName: "",
-		count: 1,
-	});
-
-	const lockTypes = ref([
+]);
+const rules = {
+	lockName: [
 		{
-			label: "瀹炰綋閿�",
-			value: 3,
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
 		},
-	]);
-
-	const props = defineProps({
-		info: {
-			type: Object,
+	],
+  stationName1: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
 		},
-		isAdd: {
-			type: Boolean,
-			default: false,
+	],
+  stationName2: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
 		},
-		isBatch: {
-			type: Boolean,
-			default: false,
+	],
+  stationName3: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
 		},
-	});
-
-	function ok() {
-		if (props.isAdd) {
-			add();
-		} else {
-			update();
-		}
-	}
-
-  async function getTypeList() {
-    let res = await getScreenType();
-    let { code, data, data2 } = res;
-    let _list = [];
-    if (code && data) {
-      // console.log(data);
-      _list = data2;
-    }
-    typeList.value = _list;
-  }
-
-  async function getProdList () {
-    let res = await getScreenProduct();
-    let { code, data,data2 } = res;
-    let _list = [];
-    if (code && data) {
-      // console.log(data);
-      _list = data2;
-    }
-    productList.value = _list;
-  }
-
-	async function add() {
-		let valid = await formRef.value.validate(() => { });
-		if (!valid) {
-			$message.error("琛ㄥ崟楠岃瘉澶辫触");
-			return false;
-		}
-
-		let areaId;
-		if (formLock.value.areaId && formLock.value.areaId.length) {
-			areaId = formLock.value.areaId[formLock.value.areaId.length - 1];
-		}
-		let params = {};
-		let param2 = {
-			lockName: formLock.value.lockName,
-			areaId,
-			// 鐩墠鍥哄畾
-			lockType: formLock.value.lockType,
-			screenFlag: formLock.value.screenFlag,
-			screenBoxType: formLock.value.screenBoxType,
-			screenBoxProduct: formLock.value.screenBoxProduct,
-			longitude: formLock.value.longitude || 0,
-			latitude: formLock.value.latitude || 0,
-		};
-		if (props.isBatch) {
-			params["num"] = formLock.value.count;
-		}
-		let loading = $loading();
-		addLock(params, param2)
-			.then((res) => {
-				let { code, data } = res;
-				loading.close();
-				if (code && data) {
-					$message.success("鎿嶄綔鎴愬姛");
-					emit("ok");
+	],
+  stationName4: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
+		},
+	],
+	screenFlag: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
+		},
+	],
+	screenBoxType: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
+		},
+	],
+	screenBoxProduct: [
+		{
+			required: true,
+			message: "涓嶈兘涓虹┖",
+			trigger: ["change", "blur"],
+		},
+	],
+	// 缁忓害
+	longitude: [
+		{
+			validator: (rule, value, callback) => {
+				let reg = /^-?1?(\d{1,2}(\.\d+)?|\d{1}(\.\d+))$/;
+				if (value && !reg.test(value)) {
+					callback(new Error("璇疯緭鍏ユ纭殑缁忓害"));
 				} else {
-					$message.error("鎿嶄綔澶辫触");
+					callback();
 				}
-			})
-			.catch((err) => {
-				loading.close();
-				console.log(err);
-			});
-	}
 
-	async function update() {
-		// lockId lockName areaId lockType
-		let valid = await formRef.value.validate(() => { });
-		if (!valid) {
-			$message.error("琛ㄥ崟楠岃瘉澶辫触");
-			return false;
-		}
-
-		let areaId;
-		if (formLock.value.areaId && formLock.value.areaId.length) {
-			areaId = formLock.value.areaId[formLock.value.areaId.length - 1];
-		}
-		let params = {
-			lockId: formLock.value.lockId,
-			lockName: formLock.value.lockName,
-			areaId,
-			// 鐩墠鍥哄畾
-			lockType: formLock.value.lockType,
-			screenFlag: formLock.value.screenFlag,
-			screenBoxType: formLock.value.screenBoxType,
-			screenBoxProduct: formLock.value.screenBoxProduct,
-			longitude: formLock.value.longitude || 0,
-			latitude: formLock.value.latitude || 0,
-		};
-		let loading = $loading();
-		updateLock(params)
-			.then((res) => {
-				let { code, data } = res;
-				loading.close();
-				if (code && data) {
-					$message.success("鎿嶄綔鎴愬姛");
-					emit("ok");
+			},
+			trigger: ["change", "blur"],
+		},
+	],
+	// 绾害
+	latitude: [
+		{
+			validator: (rule, value, callback) => {
+				let reg = /^-?(\d{1,2}(\.\d+)?|\d{1}(\.\d+))$/;
+				if (value && !reg.test(value)) {
+					callback(new Error("璇疯緭鍏ユ纭殑绾害"));
 				} else {
-					$message.error("鎿嶄綔澶辫触");
+					callback();
 				}
-			})
-			.catch((err) => {
-				loading.close();
-				console.log(err);
-			});
-	}
 
-	function close() {
-		emit("close");
-	}
+			},
+			trigger: ["change", "blur"],
+		},
+	]
+};
+const formLock = reactive({
+	lockName: "",
+	lockId: "",
+	lockType: 1,
+	lockAddress: '',
+	screenFlag: 1,
+	screenBoxType: '',
+	screenBoxProduct: '',
+	longitude: '',
+	latitude: '',
+	stationName1: stationName1.value,
+	stationName2: stationName2.value,
+	stationName3: stationName3.value,
+	stationName4: stationName4.value
+});
 
-	async function getAreaTree() {
-		try {
-			const res = await getAreaTreeApi();
-			let _data = [];
-			if (res.code === 1 && res.data) {
-				_data = res.data2;
+const layout = {
+	gutter: 16,
+	span: 12,
+};
+
+function stationNameChange(idx, val) {
+	console.log('idx, val', idx, val, '=============');
+
+	switch (idx) {
+		case 1:
+			stationName1.value = val;
+      formLock.stationName2 = '';
+      formLock.stationName3 = '';
+      formLock.stationName4 = '';
+			break;
+		case 2:
+			stationName2.value = val;
+      formLock.stationName3 = '';
+      formLock.stationName4 = '';
+			break;
+		case 3:
+			stationName3.value = val;
+      formLock.stationName4 = '';
+			break; default:
+			break;
+	}
+}
+
+const lockTypes = ref([
+	{
+		label: "瀹炰綋閿�",
+		value: 3,
+	},
+]);
+
+const props = defineProps({
+	info: {
+		type: Object,
+	},
+	isAdd: {
+		type: Boolean,
+		default: false,
+	},
+});
+
+function ok() {
+	if (props.isAdd) {
+		add();
+	} else {
+		update();
+	}
+}
+
+async function getTypeList() {
+	let res = await getScreenType();
+	let { code, data, data2 } = res;
+	let _list = [];
+	if (code && data) {
+		// console.log(data);
+		_list = data2;
+	}
+	typeList.value = _list;
+}
+
+async function getProdList() {
+	let res = await getScreenProduct();
+	let { code, data, data2 } = res;
+	let _list = [];
+	if (code && data) {
+		// console.log(data);
+		_list = data2;
+	}
+	productList.value = _list;
+}
+
+async function add() {
+	let valid = await formRef.value.validate(() => { });
+	if (!valid) {
+		$message.error("琛ㄥ崟楠岃瘉澶辫触");
+		return false;
+	}
+	let params = {
+		lockName: formLock.lockName,
+		// 鐩墠鍥哄畾
+		lockType: formLock.lockType,
+    lockName: formLock.lockName,
+    lockAddress: formLock.lockAddress,
+		screenFlag: formLock.screenFlag,
+		screenBoxType: formLock.screenBoxType,
+		screenBoxProduct: formLock.screenBoxProduct,
+    stationName1: formLock.stationName1,
+    stationName2: formLock.stationName2,
+    stationName3: formLock.stationName3,
+    stationName4: formLock.stationName4,
+		longitude: formLock.longitude || 0,
+		latitude: formLock.latitude || 0,
+	};
+	let loading = $loading();
+	addLock(params)
+		.then((res) => {
+			let { code, data } = res;
+			loading.close();
+			if (code && data) {
+				$message.success("鎿嶄綔鎴愬姛");
+				emit("ok");
+			} else {
+				$message.error("鎿嶄綔澶辫触");
 			}
-			const treeList = [];
-			let ids = _data.map((v) => v.id);
-			for (let i = 0; i < _data.length; i++) {
-				formatAreaTree(_data[i], ids, treeList);
-			}
-			// console.log(_data, 'data');
-			// console.log(treeList, 'treeList');
-			areaList.value = treeList;
-		} catch (e) {
-			console.log(e);
-		}
+		})
+		.catch((err) => {
+			loading.close();
+			console.log(err);
+		});
+}
+
+async function update() {
+	// lockId lockName areaId lockType
+	let valid = await formRef.value.validate(() => { });
+	if (!valid) {
+		$message.error("琛ㄥ崟楠岃瘉澶辫触");
+		return false;
 	}
 
-	onMounted(() => {
-		if (!props.isAdd) {
-			console.log("info ", props.info, "=============");
+	let params = {
+		lockName: formLock.lockName,
+		// 鐩墠鍥哄畾
+		lockType: formLock.lockType,
+    lockName: formLock.lockName,
+    lockAddress: formLock.lockAddress,
+		screenFlag: formLock.screenFlag,
+		screenBoxType: formLock.screenBoxType,
+		screenBoxProduct: formLock.screenBoxProduct,
+    stationName1: formLock.stationName1,
+    stationName2: formLock.stationName2,
+    stationName3: formLock.stationName3,
+    stationName4: formLock.stationName4,
+		longitude: formLock.longitude || 0,
+		latitude: formLock.latitude || 0,
+	};
+	let loading = $loading();
+	updateLock(params)
+		.then((res) => {
+			let { code, data } = res;
+			loading.close();
+			if (code && data) {
+				$message.success("鎿嶄綔鎴愬姛");
+				emit("ok");
+			} else {
+				$message.error("鎿嶄綔澶辫触");
+			}
+		})
+		.catch((err) => {
+			loading.close();
+			console.log(err);
+		});
+}
 
-			formLock.value = props.info;
-		}
-		getAreaTree();
-    getTypeList();
-    getProdList();
-	});
+function close() {
+	emit("close");
+}
+
+
+onMounted(async() => {
+	if (!props.isAdd) {
+		console.log("info ", props.info, "=============");
+    for(let key in props.info){
+      formLock[key] = props.info[key];
+    }
+    
+    await getProviceList();
+    stationName1.value = props.info.stationName1;
+    await getCityList();
+    stationName2.value = props.info.stationName2;
+    await getCountryList();
+    stationName3.value = props.info.stationName3;
+    await getStationList();
+    stationName4.value = props.info.stationName4;
+	}
+	getTypeList();
+	getProdList();
+});
 </script>
 
 <template>
-  <el-form ref="formRef" label-position="left" label-width="auto" :model="formLock" :rules="rules"
-    style="max-width: 600px">
-    <!-- 鎵�灞炲尯鍩� -->
-    <el-form-item label="鎵�灞炲尯鍩�" label-position="right" prop="areaId">
-      <el-cascader class="select" filterable clearable v-model="formLock.areaId"
-        :props="{ value: 'id', checkStrictly: true }" :options="areaList"><template #default="{ node, data }">
-          <span>{{ data.label }}</span>
-          <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-        </template></el-cascader>
-    </el-form-item>
-    <!-- 绫诲瀷 -->
-    <el-form-item label="绫诲瀷" label-position="right" prop="lockType">
-      <el-select v-model="formLock.lockType" placeholder="Select" style="width: 240px">
-        <el-option v-for="item in lockTypes" :key="item.value" :label="item.label" :value="item.value" />
-      </el-select>
-    </el-form-item>
-    <!-- 閿佸叿鍚嶇О -->
-    <el-form-item label="閿佸叿鍚嶇О" label-position="right" prop="lockName">
-      <el-input v-model="formLock.lockName" />
-    </el-form-item>
-    <!-- 閿佸叿瀹夎浣嶇疆 1灞忔煖 2 鍏朵粬 -->
-    <el-form-item label="閿佸叿瀹夎浣嶇疆" label-position="right" prop="screenFlag">
-      <el-select v-model="formLock.screenFlag" placeholder="璇烽�夋嫨" style="width: 240px">
-        <el-option label="灞忔煖" :value="1" />
-        <el-option label="鍏朵粬" :value="2" />
-      </el-select>
-    </el-form-item>
-  
-    <!-- 閿佸叿瀹夎浣嶇疆 绫诲瀷 -->
-    <el-form-item label="閿佸叿瀹夎浣嶇疆绫诲瀷" label-position="right" prop="screenBoxType">
-      <el-select v-model="formLock.screenBoxType" filterable allow-create placeholder="璇烽�夋嫨鎴栨墜鍔ㄨ緭鍏ュ悗閫夋嫨" style="width: 240px">
-        <el-option v-for="(item, idx) in typeList" :key="'type_' + idx" :label="item" :value="item" />
-      </el-select>
-    </el-form-item>
-  
-    <!-- 閿佸叿瀹夎浣嶇疆 鍝佺墝 -->
-    <el-form-item label="閿佸叿瀹夎浣嶇疆鍝佺墝" label-position="right" prop="screenBoxProduct">
-      <el-select v-model="formLock.screenBoxProduct" filterable allow-create placeholder="璇烽�夋嫨鎴栨墜鍔ㄨ緭鍏ュ悗閫夋嫨" style="width: 240px">
-        <el-option v-for="(item, idx) in productList" :key="'product_' + idx" :label="item" :value="item" />
-      </el-select>
-    </el-form-item>
-    <!-- 缁忓害 -->
-    <el-form-item label="缁忓害" label-position="right" prop="longitude">
-      <el-input v-model="formLock.longitude" />
-    </el-form-item>
-    <!-- 绾害 -->
-    <el-form-item label="绾害" label-position="right" prop="latitude">
-      <el-input v-model="formLock.latitude" />
-    </el-form-item>
-    <!-- 鎵归噺娣诲姞鏁伴噺  -->
-    <el-form-item label="鎵归噺娣诲姞鏁伴噺" label-position="right" prop="count" v-if="isBatch">
-      <el-input v-model="formLock.count" />
-    </el-form-item>
+  <el-form
+    ref="formRef"
+    label-position="left"
+    label-width="auto"
+    :model="formLock"
+    :rules="rules"
+    style="max-width: 680px"
+  >
+    <el-row :gutter="layout.gutter">
+      <el-col :span="24">
+        <!-- 閿佸叿鍚嶇О -->
+        <el-form-item label="閿佸叿鍚嶇О" label-position="right" prop="lockName">
+          <el-input v-model="formLock.lockName" />
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="layout.span">
+        <!-- 鐪� -->
+        <el-form-item label="鐪�" label-position="right" prop="stationName1">
+          <el-select
+            v-model="formLock.stationName1"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨"
+            @change="(val) => stationNameChange(1, val)"
+            style="width: 180px"
+          >
+            <el-option
+              v-for="(item, idx) in stationList1"
+              :key="'province_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="layout.span">
+        <!-- 甯� -->
+        <el-form-item label="甯�" label-position="right" prop="stationName2">
+          <el-select
+            v-model="formLock.stationName2"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨"
+            @change="(val) => stationNameChange(2, val)"
+            style="width: 180px"
+          >
+            <el-option
+              v-for="(item, idx) in stationList2"
+              :key="'list2_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="layout.span">
+        <!-- 鍖哄幙 -->
+        <el-form-item label="鍖哄幙" label-position="right" prop="stationName3">
+          <el-select
+            v-model="formLock.stationName3"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨"
+            @change="(val) => stationNameChange(3, val)"
+            style="width: 180px"
+          >
+            <el-option
+              v-for="(item, idx) in stationList3"
+              :key="'list3_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col :span="layout.span">
+        <!-- 鏈烘埧 -->
+        <el-form-item label="鏈烘埧" label-position="right" prop="stationName4">
+          <el-select
+            v-model="formLock.stationName4"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨"
+            style="width: 180px"
+          >
+            <el-option
+              v-for="(item, idx) in stationList4"
+              :key="'list4_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="24">
+        <!-- 鍦板潃 -->
+        <el-form-item label="鍦板潃" label-position="right" prop="lockAddress">
+          <el-input v-model="formLock.lockAddress" />
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="24">
+        <!-- 閿佸叿瀹夎浣嶇疆 1灞忔煖 2 鍏朵粬 -->
+        <el-form-item
+          label="閿佸叿瀹夎浣嶇疆"
+          label-position="right"
+          prop="screenFlag"
+        >
+          <el-select
+            v-model="formLock.screenFlag"
+            placeholder="璇烽�夋嫨"
+            style="width: 100%"
+          >
+            <el-option label="灞忔煖" :value="1" />
+            <el-option label="鍏朵粬" :value="2" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="24">
+        <!-- 閿佸叿瀹夎浣嶇疆 绫诲瀷 -->
+        <el-form-item
+          label="閿佸叿瀹夎浣嶇疆绫诲瀷"
+          label-position="right"
+          prop="screenBoxType"
+        >
+          <el-select
+            v-model="formLock.screenBoxType"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨鎴栨墜鍔ㄨ緭鍏ュ悗閫夋嫨"
+            style="width: 100%"
+          >
+            <el-option
+              v-for="(item, idx) in typeList"
+              :key="'type_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="24">
+        <!-- 閿佸叿瀹夎浣嶇疆 鍝佺墝 -->
+        <el-form-item
+          label="閿佸叿瀹夎浣嶇疆鍝佺墝"
+          label-position="right"
+          prop="screenBoxProduct"
+        >
+          <el-select
+            v-model="formLock.screenBoxProduct"
+            filterable
+            allow-create
+            placeholder="璇烽�夋嫨鎴栨墜鍔ㄨ緭鍏ュ悗閫夋嫨"
+            style="width: 100%"
+          >
+            <el-option
+              v-for="(item, idx) in productList"
+              :key="'product_' + idx"
+              :label="item"
+              :value="item"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+    <el-row :gutter="layout.gutter">
+      <el-col :span="layout.span">
+        <!-- 缁忓害 -->
+        <el-form-item label="缁忓害" label-position="right" prop="longitude">
+          <el-input v-model="formLock.longitude" />
+        </el-form-item>
+      </el-col>
+      <el-col :span="layout.span">
+        <!-- 绾害 -->
+        <el-form-item label="绾害" label-position="right" prop="latitude">
+          <el-input v-model="formLock.latitude" />
+        </el-form-item>
+      </el-col>
+    </el-row>
   </el-form>
   <div class="footer">
-    <el-button size="small" @click="close">鍙栨秷</el-button>
-    <el-button type="primary" size="small" @click="ok">纭畾</el-button>
+    <el-button  @click="close">鍙栨秷</el-button>
+    <el-button type="primary"  @click="ok">纭畾</el-button>
   </div>
 </template>
 

--
Gitblit v1.9.1