From 990cbdbe0fd628361bfdf4f9a2bb64db5d8b6fe5 Mon Sep 17 00:00:00 2001
From: Oliver <1070107765@qq.com>
Date: 星期二, 13 十二月 2022 11:29:04 +0800
Subject: [PATCH] 预警研判添加定时器刷新数据
---
src/views/operate/images/updateUser/index.vue | 220 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 152 insertions(+), 68 deletions(-)
diff --git a/src/views/operate/images/updateUser/index.vue b/src/views/operate/images/updateUser/index.vue
index ebcd0ad..cc976f7 100644
--- a/src/views/operate/images/updateUser/index.vue
+++ b/src/views/operate/images/updateUser/index.vue
@@ -2,35 +2,59 @@
<div class="updateUser">
<main>
<div class="mainContent">
- <el-form :disabled="isDisabled" ref="user" style="width: 100%;">
- <el-form-item prop="baseId" label="鎵�灞炰簨浠剁紪鍙�">
- <el-input v-model="imagedata.baseId"></el-input>
+ <el-form
+ label-position="right"
+ label-width="150px"
+ :model="imagedata"
+ :rules="rules"
+ :disabled="isDisabled"
+ ref="user"
+ style="width: 100%"
+ >
+ <!-- <el-form-item prop="belongToId" label="鎵�灞炰簨浠剁紪鍙�">
+ <el-input v-model="imagedata.code"></el-input>
</el-form-item>
- <el-form-item prop="eventSource" label="澶х被鍚嶇О">
- <el-input v-model="imagedata.eventSource"></el-input>
+ <el-form-item prop="eventSource" label="浜嬩欢鏉ユ簮">
+ <el-input
+ v-model="getEventSource(imagedata.eventSource).label"
+ ></el-input>
</el-form-item>
- <el-form-item prop="regionName" label="灏忕被鍚嶇О">
+ <el-form-item prop="category" label="闂绫诲埆">
+ <el-input
+ v-model="getCategory(imagedata.category).label"
+ ></el-input>
+ </el-form-item>
+ <el-form-item prop="type" label="绫诲瀷">
+ <el-select v-model="imagedata.type">
+ <el-option
+ v-for="item in getResourceType()"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item prop="regionName" label="绀惧尯鍚嶇О">
<el-input v-model="imagedata.regionName"></el-input>
</el-form-item>
<el-form-item prop="id" label="鍥剧墖Id">
<el-input v-model="imagedata.id"></el-input>
- </el-form-item>
- <el-form-item prop="createTime" label="涓婁紶鏃堕棿">
- <el-input v-model="imagedata.createTime"></el-input>
- </el-form-item>
- <el-form-item prop="eventSource" label="鍥剧墖:" min-width="8">
-<!-- <img style="width: 180px;height: 120px;" :src=imagedata.url>-->
- <el-upload
- action=""
- :show-file-list="false"
- :on-success="handleImageSuccess"
- :before-upload="beforeImageUpload">
- <img v-if="imagedata.url" :src="imagedata.url" class="avatar">
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
- </el-upload>
+ </el-form-item> -->
+ <el-form-item prop="url" label="鍥剧墖:" min-width="8">
+ <my-upload
+ :picture-list="imageList"
+ :is-show-upload="dialogType !== 'view'"
+ @setPictureUrl="setPictureUrl"
+ @delPictureUrl="delPictureUrl"
+ ></my-upload>
</el-form-item>
<div v-if="!isDisabled" class="optionBtn">
- <el-button type="primary" class="btn submit" @click.native.prevent="onSubmit">鎻愪氦</el-button>
+ <el-button
+ type="primary"
+ class="btn submit"
+ @click.native.prevent="onSubmit"
+ >鎻愪氦</el-button
+ >
</div>
</el-form>
</div>
@@ -38,70 +62,136 @@
</div>
</template>
<script>
-import { deepClone } from "@/utils/helper";
+import {
+ deepClone,
+ RESOURCE_TYPE,
+ CATEGOTY,
+ EVENT_SOURCE,
+} from "@/utils/helper";
import imageManagement from "@/api/operate/imageManagement";
+import { FILE_ORIGINAL_URL } from "@/utils";
+import MyUpload from "@/components/myUpload";
export default {
+ components: { MyUpload },
data() {
+ const validateImageUrl = (rule, value, callback) => {
+ if (this.imagedata.url) {
+ callback();
+ } else {
+ callback(new Error("璇蜂笂浼犲浘鐗�"));
+ }
+ };
return {
imagedata: {
- code: '',
- eventSource: '',
- regionName: '',
- smallType: '',
- id: '',
- createTime: '',
- url: ''
+ belongToId: "",
+ eventSource: 1,
+ regionName: "",
+ category: 1,
+ id: "",
+ url: "",
+ type: "",
},
- isDisabled: false
- }
+ rules: {
+ belongToId: [
+ { required: true, trigger: "blur", message: "璇疯緭鍏ユ墍灞炰簨浠剁紪鍙�" },
+ ],
+ eventSource: [
+ { required: true, trigger: "blur", message: "璇疯緭鍏ヤ簨浠舵潵婧�" },
+ ],
+ regionName: [
+ { required: true, trigger: "blur", message: "璇疯緭鍏ョぞ鍖哄悕绉�" },
+ ],
+ id: [{ required: true, trigger: "blur", message: "璇疯緭鍏ュ浘鐗嘔d" }],
+ category: [
+ { required: true, trigger: "blue", message: "璇疯緭鍏ラ棶棰樼被鍨�" },
+ ],
+ url: [{ required: true, validator: validateImageUrl }],
+ type: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇烽�夋嫨绫诲瀷",
+ },
+ ],
+ },
+ isDisabled: false,
+ imageList: [],
+ };
},
+
created() {
- this.imagedata = deepClone(this.originalData);
- this.isDisabled = this.dialogType === 'view';
+ if (this.originalData) {
+ this.imagedata = deepClone(this.originalData);
+ }
+ if (this.dialogType !== "create") {
+ this.imageList = this.imagedata.url.split(",");
+ }
+ this.isDisabled = this.dialogType === "view";
},
methods: {
onSubmit() {
- this.$refs.user.validate(valid => {
+ this.$refs.user.validate((valid) => {
if (valid) {
- if (this.dialogType === 'create') {
- imageManagement.addImageResource(this.imagedata)
- .then(() => {
- this.$message.success('鎿嶄綔鎴愬姛');
- this.$emit('closeDialog');
- })
- .catch(err => this.$message.error(`${err}`))
+ const params = Object.assign({}, this.imagedata);
+ delete params.regionName;
+ delete params.category;
+ delete params.eventSource;
+ delete params.id;
+ params.belongToId = +params.belongToId;
+ if (this.dialogType === "create") {
+ imageManagement
+ .addImageResource(params)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("closeDialog");
+ })
+ .catch((err) => this.$message.error(`${err}`));
} else {
- imageManagement.updateImageResource(this.imagedata)
- .then(() => {
- this.$message.success('鎿嶄綔鎴愬姛');
- this.$emit('closeDialog');
- })
- .catch(err => this.$message.error(`${err}`))
+ imageManagement
+ .updateImageResource(params)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.$emit("closeDialog");
+ })
+ .catch((err) => this.$message.error(`${err}`));
}
} else {
- this.$message.warning('璇锋鏌ュ繀濉」');
+ this.$message.warning("璇锋鏌ュ繀濉」");
}
- })
+ });
},
- handleImageSuccess() {},
- beforeImageUpload(file) {
- imageManagement.importImage(file)
- .then(res => {
- })
- .catch(err => this.$message.error(`${err}`))
- }
+ setPictureUrl({ url }) {
+ this.imageList.push(`${FILE_ORIGINAL_URL}${url}`);
+ this.imagedata.url = this.imageList.join(",");
+ },
+ delPictureUrl({ url }) {
+ this.imageList = this.imageList.filter((item) => item !== url);
+ this.imagedata.url = this.imageList.join(",");
+ },
+ getCategory(value) {
+ return CATEGOTY.find((item) => item.value === value);
+ },
+
+ getEventSource(value) {
+ return EVENT_SOURCE.find((item) => item.value === value);
+ },
+ getResourceType(value) {
+ return value
+ ? RESOURCE_TYPE.find((item) => item.value === value)
+ : RESOURCE_TYPE;
+ },
},
props: {
originalData: {
type: Object,
- default: () => null
+ default: () => null,
},
dialogType: {
type: String,
- default: () => 'create'
- }
- }
+ default: () => "create",
+ },
+ },
};
</script>
<style lang="scss" scoped>
@@ -115,13 +205,6 @@
padding: 0 55px;
background-color: #09152f;
padding-bottom: 50px;
-
- // .mainTitle {
- // color: #4b9bb7;
- // font-weight: 600;
- // line-height: 100px;
- // font-size: 14px;
- // }
.mainContent {
display: flex;
@@ -257,7 +340,8 @@
color: red;
}
-.el-input {
+.el-input,
+.el-select {
width: 280px !important;
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0