From e1ac04b42be89ca26ff5f94c17c4e2eebe52a0a2 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期二, 03 一月 2023 09:52:39 +0800 Subject: [PATCH] Merge branch 'dev1.0' of ssh://42.193.1.25:29418/sccg_ui into dev1.0 --- src/views/operate/images/updateUser/index.vue | 232 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 159 insertions(+), 73 deletions(-) diff --git a/src/views/operate/images/updateUser/index.vue b/src/views/operate/images/updateUser/index.vue index ebcd0ad..a72651b 100644 --- a/src/views/operate/images/updateUser/index.vue +++ b/src/views/operate/images/updateUser/index.vue @@ -2,35 +2,60 @@ <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="鎵�灞炰簨浠剁紪鍙�" v-if="true"> + <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="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="type" label="绫诲瀷" v-show="false"> + <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="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,90 +63,150 @@ </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}`)) + this.imagedata.type="03"; + 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> .updateUser { border-radius: 1px; - background-color: #09152f; + // background-color: #09152f; main { // border: 1px solid #fff; text-align: left; padding: 0 55px; - background-color: #09152f; + // background-color: #09152f; padding-bottom: 50px; - - // .mainTitle { - // color: #4b9bb7; - // font-weight: 600; - // line-height: 100px; - // font-size: 14px; - // } .mainContent { display: flex; @@ -167,7 +252,7 @@ } .updateUser::v-deep .el-input__inner { - background-color: #09152f; + // background-color: #09152f; border: 1px solid #17324c; } @@ -210,7 +295,7 @@ min-height: 240px; max-height: 260px; overflow: hidden; - background-color: #09152f; + // background-color: #09152f; position: relative; max-width: 220px; @@ -244,7 +329,7 @@ right: 20px; width: 20px; height: 180px; - background-color: #09152f; + // background-color: #09152f; } .item { @@ -257,7 +342,8 @@ color: red; } -.el-input { +.el-input, +.el-select { width: 280px !important; } </style> \ No newline at end of file -- Gitblit v1.8.0