From 579fcaaeb4f3d55b3137445055f4a27af0773c8c Mon Sep 17 00:00:00 2001
From: linwenling <3256558519@qq.com>
Date: 星期二, 16 五月 2023 02:45:44 +0800
Subject: [PATCH] 修改家庭设备bug
---
ruoyi-ui/src/views/device/equipmentInfo.vue | 818 +++++++++++++++++++++++------------------------
ruoyi-ui/src/views/device/index.vue | 161 +++++---
2 files changed, 500 insertions(+), 479 deletions(-)
diff --git a/ruoyi-ui/src/views/device/equipmentInfo.vue b/ruoyi-ui/src/views/device/equipmentInfo.vue
index b94a6c0..060756e 100644
--- a/ruoyi-ui/src/views/device/equipmentInfo.vue
+++ b/ruoyi-ui/src/views/device/equipmentInfo.vue
@@ -1,435 +1,425 @@
<template>
- <div class="app-container">
- <div class="form-header mt">
- <h4 class="dt h4">瀹跺涵璁惧璇︽儏 </h4>
- <el-button type="primary" class="pt" icon="el-icon-edit" @click="handleEdit()" :disabled="btn">缂栬緫</el-button>
- </div>
- <!-- 鍚嶇О銆佹椂闂淬�佽喘涔颁汉銆佸唴瀹广�佸湴鐐广�佸娉� -->
- <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" >
- <!-- <el-form-item label="id" prop="id">
- <el-input v-model="formData.id" placeholder="璇疯緭鍏d" :maxlength="11" show-word-limit :disabled="true"
- clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>
- </el-form-item> -->
- <!-- <el-form-item label="绫诲埆" prop="type">
- <el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" :disabled="dsb" >
- <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
- :disabled="item.disabled"></el-option>
- </el-select>
- </el-form-item> -->
- <el-form-item label="璁惧鍚嶇О" prop="name">
- <el-input v-model="formData.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
- </el-form-item>
- <el-form-item label="鏃堕棿" prop="happenTime">
- <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb">
- </el-input>
- </el-form-item>
- <el-form-item label="璐拱浜�" prop="buyer">
- <el-input v-model="formData.buyer" placeholder="璇疯緭鍏ヨ喘涔颁汉" clearable :style="{width: '100%'}" :disabled="dsb">
- </el-input>
- </el-form-item>
- <el-form-item label="浜嬮」鍐呭" prop="content">
- <el-input v-model="formData.content" placeholder="璇疯緭鍏ヤ簨椤瑰唴瀹�" clearable :style="{width: '100%'}" :disabled="dsb">
- </el-input>
- </el-form-item>
- <el-form-item label="瀛樻斁鍦扮偣" prop="location">
- <el-input v-model="formData.location" placeholder="璇疯緭鍏ュ瓨鏀惧湴鍧�" clearable :style="{width: '100%'}" :disabled="dsb">
- </el-input>
- </el-form-item>
+ <div class="app-container">
+ <div class="form-header mt">
+ <h4 class="dt h4">瀹跺涵璁惧璇︽儏 </h4>
-
- <el-form-item label="瀹跺涵鍙�" prop="familyId">
- <el-input v-model="formData.familyId" placeholder="璇疯緭鍏ュ搴彿" :maxlength="11" show-word-limit :disabled="true"
- clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>
- </el-form-item>
- <el-form-item label="澶囨敞" prop="remark">
- <el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
- </el-form-item>
-
-
- <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
- <el-upload
- action="#"
- list-type="picture-card"
- multiple
- :http-request="requestUpload"
- :file-list="fileList"
- >
- <i slot="default" class="el-icon-plus"></i>
- <div slot="file" slot-scope="{file}">
- <img
- class="el-upload-list__item-thumbnail"
- :src="file.url"
- alt=""
- style="width: 147px; height: 147px"
- fit="cover"
- :preview-src-list="[file.url]"
- >
- <span class="el-upload-list__item-actions">
- <span
- class="el-upload-list__item-preview"
- @click="handlePictureCardPreview(file)"
- >
- <i class="el-icon-zoom-in"></i>
- </span>
- <span
- v-if="!disabled"
- class="el-upload-list__item-delete"
- @click="handleDownload(file.url)"
- >
- <i class="el-icon-download"></i>
- </span>
- <span
- v-if="!disabled"
- class="el-upload-list__item-delete"
- @click="handleRemove(file)"
- >
- <i class="el-icon-delete"></i>
- </span>
- </span>
-
-
- </div>
- </el-upload>
-
- <h4 class="form-header">鍏朵粬闄勪欢 </h4>
- <el-upload
- action=""
- :file-list="fileListOther"
- class="upload-demo"
- multiple
- list-type="picture-card"
- :on-preview="handleFileCardPreview"
- :on-remove="handleRemove"
- :http-request="requestUpload"
- :show-file-list="true"
- >
-
- <i slot="default" class="el-icon-plus"></i>
- <div slot="file" slot-scope="{file}">
- <img
- class="el-upload-list__item-thumbnail"
- src="../../assets/401_images/401.gif"
- alt=""
- style="width: 147px; height: 147px"
- fit="cover"
- >
- <span class="el-upload-list__item-actions">
- <span
- class="el-upload-list__item-preview"
- @click="handleFileCardPreview(file)"
- >
- <i class="el-icon-zoom-in"></i>
- </span>
- <span
- v-if="!disabled"
- @click="handleRemove(file)"
- class="el-upload-list__item-delete"
-
- >
- <i class="el-icon-download"></i>
- </span>
- <span
- v-if="!disabled"
- class="el-upload-list__item-delete"
- @click="handleRemoveFile(file)"
- >
- <i class="el-icon-delete"></i>
- </span>
- </span>
-
-
- </div>
-
-
- </el-upload>
-
-
- <el-form-item size="large">
- <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
- </el-form-item>
- </el-form>
-
- <el-dialog :visible.sync="dialogVisible">
- <img w-full :src="dialogImageUrl" alt="Preview Image" />
- </el-dialog>
</div>
- </template>
- <script>
- import { getEquipmentInfo, updateEquipment, uploadPic, download} from "@/api/device/index";
- import {addRole, updateRole} from "@/api/system/role";
- import {blobValidate} from "@/utils/ruoyi";
- import errorCode from "@/utils/errorCode";
- import {Message} from "element-ui";
+ <!-- 鍚嶇О銆佹椂闂淬�佽喘涔颁汉銆佸唴瀹广�佸湴鐐广�佸娉� -->
+ <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" >
- export default {
- components: {},
- props: [],
- data() {
- return {
- cdi:"瀹跺涵璁惧淇℃伅",
- udi:"瀹跺涵璁惧淇敼",
- fot:[".jpg",".jif"],
- fileList:[
- ],
- fileListOther:[
+ <el-form-item label="璁惧鍚嶇О" prop="name">
+ <el-input v-model="formData.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+ </el-form-item>
+ <el-form-item label="鏃堕棿" prop="happenTime">
+ <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="璐拱浜�" prop="buyer">
+ <el-input v-model="formData.buyer" placeholder="璇疯緭鍏ヨ喘涔颁汉" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="浜嬮」鍐呭" prop="content">
+ <el-input v-model="formData.content" placeholder="璇疯緭鍏ヤ簨椤瑰唴瀹�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="瀛樻斁鍦扮偣" prop="location">
+ <el-input v-model="formData.location" placeholder="璇疯緭鍏ュ瓨鏀惧湴鍧�" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鏄惁娉ㄩ攢" prop="status">
+ <el-select v-model="formData.status=== 1 ? '鏄�':'鍚�'" placeholder="璇烽�夋嫨鏄惁娉ㄩ攢" clearable :style="{width: '100%'}" :disabled="dsb" >
+ </el-select>
+ </el-form-item>
- ],
- dsb:true,
- btn:false,
- formData: {
- id: undefined,
- // type: undefined,
- name: undefined,
- location: undefined,
- buyer: undefined,
- content: undefined,
- remark: undefined,
- familyId:undefined,
- url: undefined,
- happenTime:undefined
- },
- desurl:'',
- dialogImageUrl: '',
- dialogVisible: false,
- disabled: false,
- rules: {
- // id: [{
- // required: true,
- // message: '璇疯緭鍏d',
- // trigger: 'blur'
- // }],
- happenTime: [{
- required: true,
- message: '璇烽�夋嫨鏃堕棿',
- trigger: 'change'
- }],
- name: [{
- required: true,
- message: '璇疯緭鍏ヨ澶囧悕绉�',
- trigger: 'blur'
- }],
- familyId: [{
- required: true,
- message: '璇疯緭鍏ュ搴彿',
- trigger: 'blur'
- }],
- buyer: [{
- required: true,
- message: '璇疯緭鍏ヨ喘涔颁汉',
- trigger: 'blur'
- }],
- location: [{
- required: true,
- message: '璇疯緭鍏ュ瓨鏀惧湴鐐�',
- trigger: 'blur'
- }],
- familyId: [{
- required: true,
- message: '璇疯緭鍏ュ搴彿',
- trigger: 'blur'
- }],
- content:[{
- required: true,
- message: '璇疯緭鍏ヤ簨椤瑰唴瀹�',
- trigger: 'blur'
- } ],
- remark: [{
- required: true,
- message: '璇疯緭鍏ュ娉�',
- trigger: 'blur'
- }],
+ <!-- <el-form-item label="瀹跺涵鍙�" prop="familyId">
+ <el-input v-model="formData.familyId" placeholder="璇疯緭鍏ュ搴彿" :maxlength="11" show-word-limit :disabled="true"
+ clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>
+ </el-form-item> -->
+ <el-form-item label="澶囨敞" prop="remark">
+ <el-input v-model="formData.remark" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
+ </el-form-item>
- },
- typeOptions: [],
+
+ <h4 class="form-header">鐩稿叧鍥剧墖 </h4>
+ <el-upload
+ action="#"
+ list-type="picture-card"
+ multiple
+ :http-request="requestUpload"
+ :file-list="fileList"
+ >
+ <i slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ :src="file.url"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover"
+ :preview-src-list="[file.url]"
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-preview"
+ @click="handlePictureCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
+ <i class="el-icon-download"></i>
+ </span>
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-delete"
+ @click="handleRemove(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+
+
+ </div>
+ </el-upload>
+
+ <h4 class="form-header">鍏朵粬闄勪欢 </h4>
+ <el-upload
+ action=""
+ :file-list="fileListOther"
+ class="upload-demo"
+ multiple
+ list-type="picture-card"
+ :on-preview="handleFileCardPreview"
+ :on-remove="handleRemove"
+ :http-request="requestUpload"
+ :show-file-list="true"
+ >
+
+ <i slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/401_images/401.gif"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover"
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-preview"
+ @click="handleFileCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ v-if="isShow"
+ @click="handleRemove(file)"
+ class="el-upload-list__item-delete"
+
+ >
+ <i class="el-icon-download"></i>
+ </span>
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-delete"
+ @click="handleRemoveFile(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+
+
+ </div>
+
+
+ </el-upload>
+
+ <el-form-item size="large">
+ <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-dialog :visible.sync="dialogVisible">
+ <img w-full :src="dialogImageUrl" alt="Preview Image" />
+ </el-dialog>
+ </div>
+</template>
+<script>
+import { getEquipmentInfo, updateEquipment, uploadPic, download} from "@/api/device/index";
+import {addRole, updateRole} from "@/api/system/role";
+import {blobValidate} from "@/utils/ruoyi";
+import errorCode from "@/utils/errorCode";
+import {Message} from "element-ui";
+
+export default {
+ components: {},
+ props: [],
+ data() {
+ return {
+ cdi:"瀹跺涵璁惧淇℃伅",
+ udi:"瀹跺涵璁惧淇敼",
+ fot:[".jpg",".jif"],
+ fileList:[
+ ],
+ fileListOther:[
+
+ ],
+ dsb:true,
+ btn:false,
+ isShow:true,
+ formData: {
+
+ name: undefined,
+ location: undefined,
+ buyer: undefined,
+ content: undefined,
+ remark: undefined,
+ status:undefined,
+ url: undefined,
+ happenTime:undefined
+ },
+ desurl:'',
+ dialogImageUrl: '',
+ dialogVisible: false,
+ disabled: false,
+ rules: {
+
+ happenTime: [{
+ required: true,
+ message: '璇烽�夋嫨鏃堕棿',
+ trigger: 'change'
+ }],
+ status: [{
+ required: true,
+ message: '璇烽�夋嫨鏄惁娉ㄩ攢',
+ trigger: 'change'
+ }],
+ name: [{
+ required: true,
+ message: '璇疯緭鍏ヨ澶囧悕绉�',
+ trigger: 'blur'
+ }],
+
+ buyer: [{
+ required: true,
+ message: '璇疯緭鍏ヨ喘涔颁汉',
+ trigger: 'blur'
+ }],
+ location: [{
+ required: true,
+ message: '璇疯緭鍏ュ瓨鏀惧湴鐐�',
+ trigger: 'blur'
+ }],
+
+ content:[{
+ required: true,
+ message: '璇疯緭鍏ヤ簨椤瑰唴瀹�',
+ trigger: 'blur'
+ } ],
+ remark: [{
+ // required: true,
+ message: '璇疯緭鍏ュ娉�',
+ trigger: 'blur'
+ }],
+
+ },
+ typeOptions: [],
+ }
+ },
+ //鍦╟reated锛堬級涓皟鐢ㄦ帴鍙o紝鎷垮埌鏁版嵁
+ computed: {},
+ watch: {},
+ created() {
+ const id = this.$route.params && this.$route.params.id;
+ let jd;
+ if(this.$route.query.detail!=undefined)
+ {
+ jd = this.$route.query.detail
+ this.btn= jd
+ this.dsb = !jd
+ this.isShow=true
+ document.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";
+ this.$route.meta.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ }
+ else{
+ document.title = "鏌ョ湅瀹跺涵璁惧璇︾粏淇℃伅";
+ this.$route.meta.title = "鏌ョ湅瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ this.isShow=false
+ }
+
+ let _this = this
+ if (id) {
+ this.loading = true;
+ getEquipmentInfo(id).then((response) => {
+
+ this.formData = response.data;
+ let paths = response.data.url.split(",");
+ for(let i = 0; i < paths.length; i++)
+ {
+ if(paths[i]!="") {
+
+ let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
+
+ if (_this.fot.includes(pth) === true)
+ _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+ else {
+ // alert(paths[i])
+ let nms = paths[i].split("\/")
+ let nm = nms[nms.length - 1]
+ _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
+ }
+ }
+ }
+ this.loading = false;
+ });
+ // this.getCateInfor()
+
+ }
+ },
+ mounted() {},
+ methods: {
+ /** 鏌ヨ绫诲埆淇℃伅 */
+ // getCateInfor()
+ // {
+ // let _this = this
+ // getCategory().then(response=>{
+
+ // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
+ // _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
+ // })
+ // })
+ // },
+ submitForm() {
+ let ul = this.fileList.map(function (elem){
+ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ }).join(",")
+ let uls = this.fileListOther.map(function (elem){
+ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ }).join(",")
+ this.formData.url = ul+","+uls
+
+ this.$refs['elForm'].validate(valid => {
+
+
+ if (valid) {
+ if (this.formData.id != undefined) {
+ updateEquipment(this.formData).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ // this.open = false;
+ this.btn=false
+ });
+ } else {
+ this.$modal.msgSuccess("淇敼澶辫触");
+
+ }
+ }
+ })
+ },
+ resetForm() {
+ this.$refs['elForm'].resetFields()
+ },
+ handlePreview(file)
+ {
+ let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'equipment_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleRemoveFile(file) {
+ for(let i = 0; i < this.fileListOther.length; i++)
+ {
+ if(this.fileListOther[i].url==file.url)
+ this.$delete(this.fileListOther,i);
}
},
- //鍦╟reated锛堬級涓皟鐢ㄦ帴鍙o紝鎷垮埌鏁版嵁
- computed: {},
- watch: {},
- created() {
- const id = this.$route.params && this.$route.params.id;
- let jd;
- if(this.$route.query.detail!=undefined)
+ handleRemove(file) {
+ for(let i = 0; i < this.fileList.length; i++)
{
- jd = this.$route.query.detail
- this.btn= jd
- this.dsb = !jd
- document.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";
- this.$route.meta.title = "淇敼瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ if(this.fileList[i].url==file.url)
+ this.$delete(this.fileList,i);
}
- else{
- document.title = "鏌ョ湅瀹跺涵璁惧璇︾粏淇℃伅";
- this.$route.meta.title = "鏌ョ湅瀹跺涵璁惧璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
- }
+ },
+ handleFileCardPreview(file){
+ this.dialogFileUrl = file.url;
+ const Base64 = require('js-base64').Base64
+ this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+ var myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
+ },
+ handlePictureCardPreview(file) {
+ this.dialogImageUrl = file.url;
+ this.dialogVisible = true;
+ },
+ //鐐瑰嚮涓嬭浇鍑芥暟
+ handleDownload(url) {
+ var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'equipment_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
+ handleEdit()
+ {
+ this.dsb = false
+ this.btn = true
+ },
+ requestUpload(params)
+ {
+ var file = params.file;
+ var formData = new FormData();
+ formData.append('uploadFile', file);
let _this = this
- if (id) {
- this.loading = true;
- getEquipmentInfo(id).then((response) => {
- this.formData = response.data;
- let paths = response.data.url.split(",");
- for(let i = 0; i < paths.length; i++)
- {
- if(paths[i]!="") {
+ uploadPic(formData).then(response => {
+ let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
- let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
+ if(_this.fot.includes(pth) === true)
+ {
+ _this.fileList.push({name:response.data.fileName, "url":response.data.url})
- if (_this.fot.includes(pth) === true)
- _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
- else {
- // alert(paths[i])
- let nms = paths[i].split("\/")
- let nm = nms[nms.length - 1]
- _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
- }
- }
- }
- this.loading = false;
- });
- // this.getCateInfor()
+ }
- }
- },
- mounted() {},
- methods: {
- /** 鏌ヨ绫诲埆淇℃伅 */
- // getCateInfor()
- // {
- // let _this = this
- // getCategory().then(response=>{
+ else{
+ _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
- // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
- // _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
- // })
- // })
- // },
- submitForm() {
- let ul = this.fileList.map(function (elem){
- return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
- }).join(",")
- let uls = this.fileListOther.map(function (elem){
- return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
- }).join(",")
- this.formData.url = ul+","+uls
-
- this.$refs['elForm'].validate(valid => {
-
-
- if (valid) {
- if (this.formData.id != undefined) {
- updateEquipment(this.formData).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- // this.open = false;
- this.btn=false
- });
- } else {
- this.$modal.msgSuccess("淇敼澶辫触");
-
- }
- }
- })
- },
- resetForm() {
- this.$refs['elForm'].resetFields()
- },
- handlePreview(file)
- {
- let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
- let lens = formData.path.split(".")
- let suffix = lens[lens.length-1]
- download(formData).then(async (response) => {
- const isLogin = await blobValidate(response);
- let nt = new Date().getTime()
- let filename = 'equipment_'+nt+'.'+suffix
- const blob = new Blob([response])
- saveAs(blob, filename)
- })
- },
- handleRemoveFile(file) {
- for(let i = 0; i < this.fileListOther.length; i++)
- {
- if(this.fileListOther[i].url==file.url)
- this.$delete(this.fileListOther,i);
- }
- },
- handleRemove(file) {
- for(let i = 0; i < this.fileList.length; i++)
- {
- if(this.fileList[i].url==file.url)
- this.$delete(this.fileList,i);
- }
- },
- handleFileCardPreview(file){
- this.dialogFileUrl = file.url;
- const Base64 = require('js-base64').Base64
- this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
- var myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
- },
- handlePictureCardPreview(file) {
- this.dialogImageUrl = file.url;
- this.dialogVisible = true;
- },
- //鐐瑰嚮涓嬭浇鍑芥暟
- handleDownload(url) {
- var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
-
- let lens = formData.path.split(".")
- let suffix = lens[lens.length-1]
- download(formData).then(async (response) => {
- const isLogin = await blobValidate(response);
- let nt = new Date().getTime()
- let filename = 'equipment_'+nt+'.'+suffix
- const blob = new Blob([response])
- saveAs(blob, filename)
- })
- },
- handleEdit()
- {
- this.dsb = false
- this.btn = true
- },
- requestUpload(params)
- {
- var file = params.file;
- var formData = new FormData();
- formData.append('uploadFile', file);
- let _this = this
-
- uploadPic(formData).then(response => {
- let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
- if(_this.fot.includes(pth) === true)
- {
- _this.fileList.push({name:response.data.fileName, "url":response.data.url})
-
- }
-
- else{
- _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
- }
- })
-
- }
+ }
+ })
}
- }
-
- </script>
- <style>
- .mt
- {
- position: relative;
- }
- .dt{
- display: block;
}
- .pt{
- right: 10px;
- top:-3px;
- display: block;
- position: absolute;
- }
- </style>
+}
+
+</script>
+<style>
+.mt
+{
+ position: relative;
+}
+.dt{
+ display: block;
+
+}
+.pt{
+ right: 10px;
+ top:-3px;
+ display: block;
+ position: absolute;
+}
+</style>
diff --git a/ruoyi-ui/src/views/device/index.vue b/ruoyi-ui/src/views/device/index.vue
index 3b552c6..2b64e80 100644
--- a/ruoyi-ui/src/views/device/index.vue
+++ b/ruoyi-ui/src/views/device/index.vue
@@ -13,6 +13,15 @@
end-placeholder="缁撴潫鏃ユ湡"
></el-date-picker>
</el-form-item>
+ <el-form-item label="璁惧鍚嶇О" prop="name" >
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+ clearable
+ style="width: 240px"
+ @keyup.enter.native="handleQuery"
+ />
+ </el-form-item>
<el-form-item label="璐拱浜�" prop="buyer" >
<el-input
v-model="queryParams.buyer"
@@ -33,10 +42,10 @@
</el-form-item>
- <el-form-item label="浜嬮」鍐呭" prop="content">
+ <el-form-item label="鏍囬" prop="content">
<el-input
v-model="queryParams.content"
- placeholder="璇疯緭鍏ヤ簨椤瑰唴瀹�"
+ placeholder="璇疯緭鍏ユ爣棰�"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
@@ -104,8 +113,8 @@
:http-request="handleEnport"
>
<el-button size="mini" type="primary"
- plain
- icon="el-icon-plus" >瀵煎叆</el-button>
+ plain
+ icon="el-icon-plus" >瀵煎叆</el-button>
</el-upload>
</el-col>
@@ -120,36 +129,42 @@
<el-table-column label="璁惧鍚嶇О" prop="name" sortable width="120" />
<el-table-column label="鏃堕棿" align="center" sortable prop="happenTime" width="180">
+ <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template>
+ </el-table-column>
+ <el-table-column label="鏄惁娉ㄩ攢" align="center" sortable prop="status" width="180">
<template slot-scope="scope">
- <span>{{ parseTime(scope.row.happenTime) }}</span>
+ {{ getSrc1(scope.row.status) }}
</template>
</el-table-column>
-
<el-table-column label="璐拱浜�" prop="buyer" sortable width="100" />
- <el-table-column label="浜嬮」鍐呭" prop="content" sortable :show-overflow-tooltip="true" width="150" />
+ <el-table-column label="鏍囬" prop="content" sortable :show-overflow-tooltip="true" width="150" />
<el-table-column label="瀛樻斁鍦扮偣" prop="location" sortable width="100" />
- <el-table-column label="澶囨敞" prop="remark" sortable width="100" />
- <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable width="100" />
+
+ <el-table-column label="澶囨敞" prop="remark" sortable width="100" >
+ <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template>
+ </el-table-column>
+
+
<el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" >
- <template slot-scope="scope" >
- <img
- class="el-upload-list__item-thumbnail"
- src="../../assets/images/deviceLis.png"
- alt=""
- style="width: 35px; height: 35px;"
- fit="cover"
- v-if="scope.row.url !== null"
- >
- <img
- class="el-upload-list__item-thumbnail"
- src="../../assets/images/deviceA.png"
- alt=""
- style="width: 35px; height: 35px;"
- fit="cover"
- v-if="scope.row.url === null"
- >
- </template>
- </el-table-column>
+ <template slot-scope="scope" >
+ <img
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/images/deviceLis.png"
+ alt=""
+ style="width: 35px; height: 35px;"
+ fit="cover"
+ v-if="scope.row.url !== ','"
+ >
+ <img
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/images/deviceA.png"
+ alt=""
+ style="width: 35px; height: 35px;"
+ fit="cover"
+ v-if="scope.row.url === ','"
+ >
+ </template>
+ </el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope" v-if="scope.row.roleId !== 1">
<el-button
@@ -192,17 +207,12 @@
<el-input v-model="formDat.name" placeholder="璇疯緭鍏ヨ澶囧悕绉�" clearable :style="{width: '100%'}" ></el-input>
</el-form-item>
- <!-- <el-form-item label="鏃堕棿" prop="createDate">
- <el-input v-model="formDat.createDate" placeholder="璇疯緭鍏ユ椂闂�" clearable :style="{width: '100%'}" ></el-input>
- </el-form-item>
- -->
- <el-form-item label="鏃堕棿" prop="createDate">
+ <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime">
<el-date-picker
- v-model='formDat.createDate'
+ v-model='formDat.happenTime'
type='date'
placeholder='閫夋嫨鏃ユ湡'
></el-date-picker>
-
</el-form-item>
@@ -211,16 +221,18 @@
<el-input v-model="formDat.buyer" placeholder="璇疯緭鍏ヨ喘涔颁汉" clearable :style="{width: '100%'}" >
</el-input>
</el-form-item>
- <el-form-item label="浜嬮」鍐呭" prop="content">
+ <el-form-item label="鏍囬" prop="content">
<el-input v-model="formDat.content" placeholder="璇疯緭鍏ヤ簨椤瑰唴瀹�" clearable :style="{width: '100%'}" ></el-input>
</el-form-item>
<el-form-item label="瀛樻斁鍦扮偣" prop="location">
<el-input v-model="formDat.location" placeholder="璇疯緭鍏ュ瓨鏀惧湴鐐�" clearable :style="{width: '100%'}" >
</el-input>
</el-form-item>
- <el-form-item label="瀹跺涵鍙�" prop="familyId">
- <el-input v-model="formDat.familyId" placeholder="璇疯緭鍏ュ搴彿" clearable :style="{width: '100%'}" >
- </el-input>
+ <el-form-item label="鏄惁娉ㄩ攢" prop="status">
+ <el-select v-model="formDat.status" placeholder="璇烽�夋嫨鏄惁娉ㄩ攢" clearable :style="{width: '100%'}" >
+ <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
+ ></el-option>
+ </el-select>
</el-form-item>
<el-form-item label="澶囨敞" prop="remark">
<el-input v-model="formDat.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" ></el-input>
@@ -359,6 +371,7 @@
remark: undefined,
familyId:undefined,
url: undefined,
+ status:undefined,
},
// 鑿滃崟鍒楄〃
menuOptions: [],
@@ -386,6 +399,12 @@
message: '璇疯緭鍏ヨ澶囧悕绉�',
trigger: 'blur'
}],
+ status: [{
+ required: true,
+ message: '鏄惁娉ㄩ攢',
+ trigger: 'change'
+ }],
+
buyer: [{
required: true,
@@ -397,28 +416,31 @@
message: '璇疯緭鍏ュ瓨鏀惧湴鐐�',
trigger: 'blur'
}],
- // remark: [{
- // required: true,
- // message: '璇疯緭鍏ュ娉�',
- // trigger: 'blur'
- // }],
- familyId: [{
- required: true,
- message: '璇疯緭鍏ュ搴彿',
+ remark: [{
+ // required: true,
+ message: '璇疯緭鍏ュ娉�',
trigger: 'blur'
}],
- // createDate: [{
- // required: true,
- // message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
- // trigger: 'change'
- // }],
+
+ happenTime: [{
+ required: true,
+ message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
+ trigger: 'change'
+ }],
content: [{
required: true,
- message: '璇烽�夋嫨浜嬮」鍐呭',
+ message: '璇疯緭鍏ユ爣棰�',
trigger: 'blur'
}],
},
- typeOptions: [],
+ typeOptions: [{
+ value: '1',
+ label: '鏄�',
+ },
+ {
+ value: '0',
+ label: '鍚�',
+ }],
};
},
created() {
@@ -427,6 +449,15 @@
},
methods: {
+
+ getSrc1(status) {
+ if (status === 1) {
+ return '鏄�'
+ }else {
+ return '鍚�'
+ }
+ },
+
// 鍙栨秷鎸夐挳
cancelData() {
this.open = false;
@@ -606,18 +637,18 @@
},
/** 瀵煎叆鎿嶄綔*/
handleEnport(params){
- var file = params.file;
- var formData = new FormData();
- formData.append('excelImport', file);
- let _this = this
- enload(formData).then(response => {
- _this.getList();
- Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
+ var file = params.file;
+ var formData = new FormData();
+ formData.append('excelImport', file);
+ let _this = this
+ enload(formData).then(response => {
+ _this.getList();
+ Message({ message: "瀵煎叆鎴愬姛", type: 'warning' })
- }).catch(err)
- {
- Message({ message: "瀵煎叆澶辫触", type: 'error' })
- }
+ }).catch(err)
+ {
+ Message({ message: "瀵煎叆澶辫触", type: 'error' })
+ }
}
}
--
Gitblit v1.9.1