From 4641a877cd6a94e4d35dca7f7f14bc1443e2d2ad Mon Sep 17 00:00:00 2001
From: luobisheng <727299681@qq.com>
Date: 星期二, 29 十一月 2022 17:59:55 +0800
Subject: [PATCH] 上传处置类型修改
---
src/views/systemSetting/device/bayonet/create/index.vue | 439 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 269 insertions(+), 170 deletions(-)
diff --git a/src/views/systemSetting/device/bayonet/create/index.vue b/src/views/systemSetting/device/bayonet/create/index.vue
index 31c6da0..170d4f3 100644
--- a/src/views/systemSetting/device/bayonet/create/index.vue
+++ b/src/views/systemSetting/device/bayonet/create/index.vue
@@ -1,206 +1,305 @@
<template>
- <div class="create">
- <el-form ref="device" label-position="right" label-width="120px" :model="bayonet" :rules="rules">
- <!-- 鍗″彛鍚嶇О -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鍗″彛鍚嶇О:" prop="bayonetName">
- <el-input v-model="bayonet.bayonetName" placeholder="璇峰~鍐欏崱鍙e悕绉�"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 缁忕含搴︿綅缃� -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="缁忕含搴︿綅缃�:" prop="longitude">
- <el-input v-model="bayonet.longitude" placeholder="璇峰~鍐欑粡搴︿綅缃�"></el-input>
- </el-form-item>
- <el-form-item prop="latitude">
- <el-input v-model="bayonet.latitude" placeholder="璇峰~鍐欑含搴︿綅缃�"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鎵�灞炲尯鍩� -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鎵�灞炲尯鍩�:" prop="belongArea">
- <el-input v-model="bayonet.belongArea" placeholder="璇峰~鍐欏尯鍩熷悕绉�"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鍩熷悕/ip -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鍩熷悕/IP:" prop="ipAddress">
- <el-input v-model="bayonet.ipAddress" placeholder="璇峰~鍐欏煙鍚嶆垨鑰匢P"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 绔彛鍙� -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="绔彛鍙�:" prop="port">
- <el-input v-model="bayonet.port" placeholder="璇疯緭鍏ョ鍙e彿"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鍓嶇绫诲瀷 -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鍓嶇绫诲瀷:" prop="frontEndType">
- <el-input v-model="bayonet.frontEndType" placeholder="璇疯緭鍏ュ墠绔被鍨�"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鍑哄叆鍩庣被鍨� -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鍑哄叆鍩庣被鍨�:" prop="inOutCityType">
- <el-input v-model="bayonet.inOutCityType" placeholder="鍑哄煄/鍏ュ煄"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鎻忚堪 -->
- <div class="device-item">
- <div class="item-left">
- <el-form-item label="鎻忚堪:" prop="description">
- <el-input type="textarea" :rows='5' maxlength="200" v-model="bayonet.description" placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"></el-input>
- </el-form-item>
- </div>
- <div class="item-right"></div>
- </div>
- <!-- 鎸夐挳 -->
- <div class="device-btn">
- <el-button @click="closeDialog">杩斿洖</el-button>
- <el-button type="primary" @click="onSubmit">纭畾</el-button>
- </div>
- </el-form>
- </div>
+ <div class="create">
+ <el-form
+ ref="device"
+ label-position="right"
+ label-width="120px"
+ :model="bayonet"
+ :rules="rules"
+ >
+ <!-- 鍗″彛鍚嶇О -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="鍗″彛鍚嶇О:" prop="name">
+ <el-input
+ v-model="bayonet.name"
+ placeholder="璇峰~鍐欏崱鍙e悕绉�"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 缁忕含搴︿綅缃� -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="缁忕含搴︿綅缃�:" prop="longitude">
+ <el-input
+ v-model="bayonet.longitude"
+ placeholder="璇峰~鍐欑粡搴︿綅缃�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item prop="latitude">
+ <el-input
+ v-model="bayonet.latitude"
+ placeholder="璇峰~鍐欑含搴︿綅缃�"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鎵�灞炲尯鍩� -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="鎵�灞炲尯鍩�:" prop="belongArea">
+ <el-input
+ v-model="bayonet.belongArea"
+ placeholder="璇峰~鍐欏尯鍩熷悕绉�"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鍩熷悕/ip -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="鍩熷悕/IP:" prop="ipAddress">
+ <el-input
+ v-model="bayonet.ipAddress"
+ placeholder="璇峰~鍐欏煙鍚嶆垨鑰匢P"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 绔彛鍙� -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="绔彛鍙�:" prop="port">
+ <el-input
+ v-model="bayonet.port"
+ placeholder="璇疯緭鍏ョ鍙e彿"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鍓嶇绫诲瀷 -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item class="optionItem" label="鍓嶇绫诲瀷:" prop="role">
+ <el-select
+ v-model="bayonet.frontEndType"
+ placeholder="璇疯緭鍏ュ墠绔被鍨�"
+ collapse-tags
+ >
+ <el-option
+ v-for="item in frontEndTypeList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鍑哄叆鍩庣被鍨� -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item class="optionItem" label="鍑哄叆鍩庣被鍨�:" prop="role">
+ <el-select
+ v-model="bayonet.inOutCityType"
+ placeholder="璇疯緭鍏ュ嚭鍏ュ煄绫诲瀷"
+ collapse-tags
+ >
+ <el-option
+ v-for="item in inOutTypeList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鎻忚堪 -->
+ <div class="device-item">
+ <div class="item-left">
+ <el-form-item label="鎻忚堪:" prop="description">
+ <el-input
+ type="textarea"
+ :rows="5"
+ maxlength="200"
+ v-model="bayonet.description"
+ placeholder="璇疯緭鍏ユ弿杩板唴瀹�200瀛椾互鍐�"
+ ></el-input>
+ </el-form-item>
+ </div>
+ <div class="item-right"></div>
+ </div>
+ <!-- 鎸夐挳 -->
+ <div class="device-btn">
+ <el-button @click="closeDialog">杩斿洖</el-button>
+ <el-button type="primary" @click="onSubmit">纭畾</el-button>
+ </div>
+ </el-form>
+ </div>
</template>
<script>
import bayonet from "@/api/system/bayonet";
-import { deepClone } from "@/utils/helper";
+import { deepClone, getTypeList } from "@/utils/helper";
export default {
props: {
originalBayonet: {
type: Object,
- default: () => {}
+ default: () => {},
},
isEdit: {
type: Boolean,
- default: () => false
- }
+ default: () => false,
+ },
},
data() {
- return {
- bayonet: {
- bayonetName: '',
- latitude: '',
- longitude: '',
- belongArea: '',
- ipAddress: '',
- port: '',
- frontEndType: '',
- inOutCityType: '',
- description: ''
+ return {
+ bayonet: {
+ name: "",
+ latitude: "",
+ longitude: "",
+ belongArea: "",
+ ipAddress: "",
+ port: "",
+ frontEndType: "",
+ inOutCityType: "",
+ description: "",
+ },
+ rules: {
+ name: [{ required: true, trigger: "blur", message: "璇峰~鍐欏崱鍙e悕绉�" }],
+ latitude: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇峰~鍐欑含搴︿綅缃�",
},
- rules: {
- bayonetName: [{ required: true, trigger: 'blur', message: '璇峰~鍐欏崱鍙e悕绉�' }],
- latitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑含搴︿綅缃�' }],
- longitude: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欑粡搴︿綅缃�' }],
- belongArea: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏尯鍩熷悕绉�' }],
- ipAddress: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏煙鍚嶆垨鑰匢P' }],
- port: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ョ鍙e彿' }],
- frontEndType: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ュ墠绔被鍨�' }],
- inOutCityType: [{ required: true, trigger: ['blur', 'change'], message: '璇峰~鍐欏嚭鍩�/鍏ュ煄' }],
- description: [{ required: true, trigger: ['blur', 'change'], message: '璇疯緭鍏ユ弿杩板唴瀹�' }]
- }
- }
+ ],
+ longitude: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇峰~鍐欑粡搴︿綅缃�",
+ },
+ ],
+ belongArea: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇峰~鍐欏尯鍩熷悕绉�",
+ },
+ ],
+ ipAddress: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇峰~鍐欏煙鍚嶆垨鑰匢P",
+ },
+ ],
+ port: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ョ鍙e彿",
+ },
+ ],
+ frontEndType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ュ墠绔被鍨�",
+ },
+ ],
+ inOutCityType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇峰~鍐欏嚭鍩�/鍏ュ煄",
+ },
+ ],
+ },
+ frontEndTypeList: [],
+ inOutTypeList: [],
+ };
},
-
+ beforeCreate() {},
created() {
- this.bayonet = deepClone(this.originalBayonet);
+ this.getInOutCityTypeList();
+ this.getFrontEndTypeList();
if (this.originalBayonet) {
- this.bayonet.bayonetName = this.originalBayonet.name;
+ this.bayonet = this.originalBayonet;
}
},
-
methods: {
- onSubmit() {
- this.$refs.device.validate(valid => {
- if (valid) {
- this.bayonet.longitude = Number(this.bayonet.longitude);
- this.bayonet.latitude = Number(this.bayonet.latitude);
- this.bayonet.inOutCityType = Number(this.bayonet.inOutCityType);
- this.bayonet.belongArea = Number(this.bayonet.belongArea);
- const copyBayonet = deepClone(this.bayonet);
- delete copyBayonet.id;
- if (!this.isEdit) {
- bayonet.addBayonet(this.bayonet)
- .then(() => {
- this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
- this.$emit('closeDialog');
- })
- .catch(err => {
- this.$message({ type: 'error', message: err });
- })
- } else {
- bayonet.updateBayonet(copyBayonet)
- .then(() => {
- this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
- this.$emit('closeDialog');
- })
- .catch(err => {
- this.$message({ type: 'error', message: err });
- })
- }
+ onSubmit() {
+ this.$refs.device.validate((valid) => {
+ if (valid) {
+ const copyBayonet = deepClone(this.bayonet);
+ if (!this.isEdit) {
+ bayonet
+ .addBayonet(this.bayonet)
+ .then(() => {
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ this.$emit("closeDialog");
+ })
+ .catch((err) => {
+ this.$message({ type: "error", message: err });
+ });
} else {
- this.$message({ type: 'warning', message: '璇锋鏌ュ繀濉」' });
+ bayonet
+ .updateBayonet(copyBayonet)
+ .then(() => {
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ this.$emit("closeDialog");
+ })
+ .catch((err) => {
+ this.$message({ type: "error", message: err });
+ });
}
- });
- },
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ },
+ async getInOutCityTypeList() {
+ this.inOutTypeList = await getTypeList(1, "14");
+ },
- closeDialog() {
- this.$emit('closeDialog');
- }
- }
-
-}
+ async getFrontEndTypeList() {
+ this.frontEndTypeList = await getTypeList(1, "13");
+ },
+ closeDialog() {
+ this.$emit("closeDialog");
+ },
+ },
+};
</script>
<style lang="scss" scoped>
.create {
- padding: 20px;
+ padding: 20px;
- .device-item {
- display: flex;
+ .device-item {
+ display: flex;
- .item-left {
- flex: 6;
- display: flex;
+ .item-left {
+ flex: 6;
+ display: flex;
- .el-form-item {
- flex: 1;
- }
- }
-
- .item-right {
- flex: 4;
- }
+ .el-form-item {
+ flex: 1;
+ }
}
- .device-btn {
- padding-top: 20px;
- display: flex;
- justify-content: center;
+ .item-right {
+ flex: 4;
}
+ }
+
+ .device-btn {
+ padding-top: 20px;
+ display: flex;
+ justify-content: center;
+ }
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0