From b5d842b900757a2fb48d673cb33bb551e8da7b89 Mon Sep 17 00:00:00 2001 From: Tcsm <1377977403@qq.com> Date: 星期日, 06 八月 2023 00:35:36 +0800 Subject: [PATCH] 完善电子文件问题 --- ruoyi-ui/src/views/device/index.vue | 222 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 148 insertions(+), 74 deletions(-) diff --git a/ruoyi-ui/src/views/device/index.vue b/ruoyi-ui/src/views/device/index.vue index 3b552c6..d336d92 100644 --- a/ruoyi-ui/src/views/device/index.vue +++ b/ruoyi-ui/src/views/device/index.vue @@ -2,16 +2,25 @@ <div class="app-container" style="opacity: 1;"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> - <el-form-item label="鏃堕棿" > + <el-form-item label="鏃堕棿" prop="happenTime"> <el-date-picker v-model="dateRange" style="width: 240px;" - value-format="yyyy-MM-dd HH-MM" + value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" 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 @@ -90,7 +99,7 @@ plain icon="el-icon-download" size="mini" - @click="handleExport" + @click="handleExportTemplate" v-hasPermi="['family:note:export']" >瀵煎叆妯℃澘涓嬭浇</el-button> </el-col> @@ -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> @@ -114,42 +123,51 @@ </el-row> <!-- 搴忓彿銆佽澶囧悕绉般�佹椂闂淬�佽喘涔颁汉銆佷簨椤瑰唴瀹广�佸瓨鏀惧湴鐐广�佺數瀛愭枃浠躲�佸娉� 鎿嶄綔--> <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 --> - <el-table v-loading="loading" :data="equipmentList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> - <el-table-column type="selection" width="55" align="center" /> - <el-table-column label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> + <el-table v-loading="loading" :data="equipmentList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> + <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> <el-table-column label="璁惧鍚嶇О" prop="name" sortable width="120" /> - <el-table-column label="鏃堕棿" align="center" sortable prop="happenTime" width="180"> + <el-table-column label="鏃堕棿" align="happenTime" sortable prop="happenTime" width="150"> + <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏄惁娉ㄩ攢" align="center" sortable prop="status" width="120"> <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="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="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> + + <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="120" align="center"> + + <template slot-scope="scope" > + <div @click="handleCheck(scope.row)"> + <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 === '' || scope.row.url === ',' || scope.row.url === null)" + > + <img + v-else + class="el-upload-list__item-thumbnail" + src="../../assets/images/deviceA.png" + alt="" + style="width: 35px; height: 35px;" + fit="cover" + + ></div> + </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 +210,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-date-picker - v-model='formDat.createDate' + <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime"> + <el-input + v-model='formDat.happenTime' type='date' placeholder='閫夋嫨鏃ユ湡' - ></el-date-picker> - + ></el-input> </el-form-item> @@ -218,9 +231,11 @@ <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> @@ -271,7 +286,7 @@ class="upload-demo" multiple - :on-remove="handleRemove" + :on-remove="handleRemoveFile" :http-request="requestUpload" :show-file-list="true" > @@ -359,6 +374,7 @@ remark: undefined, familyId:undefined, url: undefined, + status:undefined, }, // 鑿滃崟鍒楄〃 menuOptions: [], @@ -371,7 +387,8 @@ content:undefined, buyer:undefined, location:undefined, - createDate:undefined + createDate:undefined, + happenTime:undefined }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -386,6 +403,12 @@ message: '璇疯緭鍏ヨ澶囧悕绉�', trigger: 'blur' }], + status: [{ + // required: true, + message: '鏄惁娉ㄩ攢', + trigger: 'change' + }], + buyer: [{ required: true, @@ -397,28 +420,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 +453,15 @@ }, methods: { + + getSrc1(status) { + if (status === 1) { + return '鏄�' + }else { + return '鍚�' + } + }, + // 鍙栨秷鎸夐挳 cancelData() { this.open = false; @@ -448,6 +483,8 @@ getList() { this.loading = true; + this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] + this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] // console.log(this.queryParams) // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listEquipment(this.queryParams).then(response => { @@ -538,11 +575,28 @@ } }); }, - +getRowId(row) + { + return row.id + }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; + }, + handleRemove(file) { + for(let i = 0; i < this.fileList.length; i++) + { + if(this.fileList[i].url==file.url) + this.$delete(this.fileList,i); + } + }, + handleRemoveFile(file) { + for(let i = 0; i < this.fileListOther.length; i++) + { + if(this.fileListOther[i].url==file.url) + this.$delete(this.fileListOther,i); + } }, /** 鎻愪氦鎸夐挳锛堟暟鎹潈闄愶級 */ submitDataScope: function() { @@ -564,6 +618,12 @@ }); } }); + // 娓呯┖formDat瀵硅薄鐨勬暟鎹� + Object.keys(this.formDat).forEach(key => { + this.formDat[key] = ''; + }); + this.handleRemove(this.fileList[0]); + this.handleRemoveFile(this.fileListOther[0]); }, requestUpload(params) { @@ -600,24 +660,38 @@ }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { + const Ids = this.ids; + + if(Ids.length==0) + { this.download('/zfEquipment/export', { ...this.queryParams + }, `zfEquiment_${new Date().getTime()}.xlsx`) + } + else{ + this.download('/zfEquipment/export1/'+Ids, { + }, `zfEquiment_${new Date().getTime()}.xlsx`) + } + }, + handleExportTemplate(){ + this.download('/zfEquipment/model', { + }, `zfEquiment_${new Date().getTime()}.xlsx`) }, /** 瀵煎叆鎿嶄綔*/ 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