Browse Source

fix: 修复单独的上传组件没有监听到错误给出提示,优化不分页面id五位数时候串行的问题等

yanglzh 1 year ago
parent
commit
f6dfdbe937

+ 9 - 6
src/components/upload-wrapper/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="upload">
-    <el-upload class="hide" :accept="accept" :limit="1" :data="{ source }" :multiple="multiple" :headers="headers" :before-upload="beforeAvatarUpload" :action="uploadUrl" :on-success="updateImg">
+    <el-upload class="hide" :accept="accept" :limit="1" :data="{ source }" :multiple="multiple" :headers="headers" :before-upload="beforeAvatarUpload" :on-error="uploadErr" :action="uploadUrl" :on-success="updateImg">
       <slot></slot>
     </el-upload>
   </div>
@@ -37,6 +37,9 @@ const props = defineProps({
 });
 
 const updateImg = (res: any) => {
+  if (res.code !== 0) {
+    return ElMessage.error(res.message)
+  }
   const url = res?.data?.full_path
   emit('setImg', url, props.name);
 };
@@ -52,13 +55,13 @@ const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {
 
 <style scoped>
 .hide ::v-deep(.el-upload-list) {
-	display: none;
+  display: none;
 }
 
 .preview {
-	max-width: 100%;
-	max-height: 60vh;
-	display: block;
-	margin: 0 auto;
+  max-width: 100%;
+  max-height: 60vh;
+  display: block;
+  margin: 0 auto;
 }
 </style>

+ 9 - 18
src/components/upload/index.vue

@@ -1,20 +1,7 @@
 <template>
 	<div class="upload">
-		<el-upload
-			v-model:file-list="fileList"
-			:class="{ hide: fileList.length >= limit }"
-			:accept="accept"
-			list-type="picture-card"
-			:limit="limit"
-			:data="{ source }"
-			:multiple="multiple"
-			:headers="headers"
-			:before-upload="beforeAvatarUpload"
-			:action="uploadUrl"
-			:on-success="updateImg"
-			:on-preview="handlePictureCardPreview"
-			:on-remove="updateImg"
-		>
+		<el-upload v-model:file-list="fileList" :class="{ hide: fileList.length >= limit }" :accept="accept" list-type="picture-card" :limit="limit" :data="{ source }" :multiple="multiple" :headers="headers" :before-upload="beforeAvatarUpload" :action="uploadUrl"
+			:on-success="updateImg" :on-preview="handlePictureCardPreview" :on-remove="updateImg">
 			<el-icon>
 				<ele-Plus />
 			</el-icon>
@@ -51,7 +38,7 @@ const headers = {
 
 const emit = defineEmits(['setImg', 'setImgs'])
 
-const source =  JSON.parse(localStorage.sysinfo || '{"uploadFileWay": 0}').uploadFileWay;
+const source = JSON.parse(localStorage.sysinfo || '{"uploadFileWay": 0}').uploadFileWay;
 
 const props = defineProps({
 	multiple: {
@@ -91,7 +78,11 @@ const fileList = ref<any[]>([
 	// },
 ])
 
-const updateImg = () => {
+const updateImg = (res?: any) => {
+	if (res && res.code !== undefined && res.code !== 0) {
+		return ElMessage.error(res.message)
+	}
+
 	const list = fileList.value.map((item) => {
 		if (item.response) {
 			return item.response?.data?.full_path
@@ -101,7 +92,7 @@ const updateImg = () => {
 	})
 	if (props.limit === 1) {
 		const img = list[0]
-		if(!img) {
+		if (!img) {
 			emit('setImg', '');
 			return;
 		}

+ 6 - 15
src/components/upload/uploadFile.vue

@@ -1,15 +1,5 @@
 <template>
-	<el-upload
-		:accept="accept"
-		:show-file-list="false"
-		v-model:file-list="fileList"
-		:limit="1"
-		:data="{ source }"
-		:headers="headers"
-		:before-upload="beforeAvatarUpload"
-		:action="uploadUrl"
-		:on-success="updateImg"
-	>
+	<el-upload :accept="accept" :show-file-list="false" v-model:file-list="fileList" :limit="1" :data="{ source }" :headers="headers" :before-upload="beforeAvatarUpload" :action="uploadUrl" :on-success="updateImg">
 		<el-button>
 			<el-icon> <ele-Upload /> </el-icon>
 			数据导入
@@ -52,11 +42,12 @@ const fileList = ref<any[]>([
 const uploadUrl: string = getOrigin(import.meta.env.VITE_API_URL + props.url);
 
 const updateImg = (res: any) => {
-	if (res.code === 0) {
-		ElMessage.success('文件上传成功');
-	} else {
-		ElMessage.error(res.message);
+
+	if (res.code !== 0) {
+		return ElMessage.error(res.message)
 	}
+
+	ElMessage.success('文件上传成功');
 	fileList.value = []
 	emit('update', res.data.full_path)
 };

+ 1 - 1
src/views/iot/alarm/log/index.vue

@@ -39,7 +39,7 @@
 				</el-form>
 			</div>
 			<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-				<el-table-column label="ID" align="center" prop="id" width="60" v-col="'ID'" />
+				<el-table-column label="ID" align="center" prop="id" width="100" v-col="'ID'" />
 				<el-table-column label="告警类型" prop="type" :show-overflow-tooltip="true" v-col="'type'">
 					<template #default="scope">
 						<span v-if="scope.row.type == 1">规则告警</span>

+ 1 - 1
src/views/iot/certificate/index.vue

@@ -31,7 +31,7 @@
 			<!--  -->
 			<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
 				<!-- <el-table-column type="selection" width="55" align="center" /> -->
-				<el-table-column v-col="'id'" label="ID" align="center" prop="id" width="60" />
+				<el-table-column v-col="'id'" label="ID" align="center" prop="id" width="100" />
 				<el-table-column v-col="'name'" label="证书名称" prop="name" min-width="120" :show-overflow-tooltip="true" />
 				<el-table-column v-col="'standard'" label="证书标准" prop="standard" min-width="120" :show-overflow-tooltip="true">
 					<template #default="scope">

+ 1 - 1
src/views/iot/configuration/list/index.vue

@@ -24,7 +24,7 @@
     </div>
     <el-table :data="tableData" style="width: 100%" row-key="id" v-loading="loading">
       <!-- <el-table-column type="index" label="序号" width="60" align="center" /> -->
-      <el-table-column prop="id" label="ID" width="60" show-overflow-tooltip></el-table-column>
+      <el-table-column prop="id" label="ID" width="100" show-overflow-tooltip></el-table-column>
       <el-table-column prop="name" label="组态图名称" show-overflow-tooltip></el-table-column>
       <el-table-column prop="createdAt" label="创建时间" min-width="100" align="center"></el-table-column>
       <el-table-column prop="updatedAt" label="更新时间" min-width="100" align="center"></el-table-column>

+ 0 - 1
src/views/iot/device/product/component/editEvent.vue

@@ -56,7 +56,6 @@
 <script lang="ts">
 import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
 import api from '/@/api/device';
-import uploadVue from '/@/components/upload/index.vue';
 import { Plus, Minus, Right } from '@element-plus/icons-vue';
 import EditOption from './editOption.vue';
 import { validateNoSpace } from '/@/utils/validator';

+ 0 - 1
src/views/iot/device/product/component/editFun.vue

@@ -74,7 +74,6 @@
 <script lang="ts">
 import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
 import api from '/@/api/device';
-import uploadVue from '/@/components/upload/index.vue';
 import { Plus, Minus, Right } from '@element-plus/icons-vue';
 import EditOption from './editOption.vue';
 import { validateNoSpace } from '/@/utils/validator';

+ 1 - 1
src/views/iot/iotmanager/dashboard.vue

@@ -46,7 +46,7 @@
 						<el-button size="small" text type="primary" @click="toMore()">更多信息</el-button>
 					</div>
 					<el-table :data="tableData.data" style="width: 100%" v-loading="loading">
-						<el-table-column label="ID" align="center" prop="id" width="80" v-col="'ID'" />
+						<el-table-column label="ID" align="center" prop="id" width="100" v-col="'ID'" />
 						<el-table-column label="告警类型" prop="type" :show-overflow-tooltip="true" v-col="'type'">
 							<template #default="scope">
 								<span v-if="scope.row.type == 1">规则告警</span>

+ 1 - 1
src/views/iot/network/server/component/list.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-table v-loading="loading" :data="data" style="width: 100%">
-      <el-table-column align="center" prop="id" label="ID" width="80" v-col="'id'" />
+      <el-table-column align="center" prop="id" label="ID" width="100" v-col="'id'" />
       <!-- <el-table-column align="center" prop="server" label="服务器"/> -->
       <el-table-column align="center" prop="name" label="名称" v-col="'name'" />
       <el-table-column align="center" prop="types" v-col="'types'" label="类型" :formatter="(a: any) => typesFormat(a.types)" />

+ 1 - 1
src/views/iot/network/tunnel/component/list.vue

@@ -1,7 +1,7 @@
 <template>
     <div>
         <el-table v-loading="loading" :data="data" style="width: 100%">
-            <el-table-column align="center" prop="id" v-col="'id'" label="ID" width="80" />
+            <el-table-column align="center" prop="id" v-col="'id'" label="ID" width="100" />
             <el-table-column align="center" prop="name" v-col="'name'" label="名称" />
             <el-table-column align="center" prop="types" v-col="'type'" label="类型" :formatter="(a: any) => typesFormat(a.types)" />
             <el-table-column align="center" prop="addr" v-col="'address'" min-width="120" label="地址" />

+ 15 - 30
src/views/iot/noticeservices/log/index.vue

@@ -4,16 +4,7 @@
 			<div class="system-user-search mb15">
 				<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
 					<el-form-item label="创建时间" prop="dateRange">
-						<el-date-picker
-							v-model="tableData.param.dateRange"
-							size="default"
-							style="width: 240px"
-							value-format="YYYY-MM-DD"
-							type="daterange"
-							range-separator="-"
-							start-placeholder="开始日期"
-							end-placeholder="结束日期"
-						></el-date-picker>
+						<el-date-picker v-model="tableData.param.dateRange" size="default" style="width: 240px" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
 					</el-form-item>
 					<el-form-item>
 						<el-button size="default" type="primary" class="ml10" @click="typeList">
@@ -33,18 +24,18 @@
 								<ele-Delete />
 							</el-icon>
 							删除
-							</el-button>
+						</el-button>
 					</el-form-item>
 				</el-form>
 			</div>
 			<el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
 				<el-table-column type="selection" width="55" align="center" />
 
-				<el-table-column label="ID" align="center" prop="id" width="60" v-col="'ID'" />
-			
-				<el-table-column label="标题" prop="title" :show-overflow-tooltip="true" v-col="'title'" />
-				<el-table-column label="发送方式" prop="gateway" :show-overflow-tooltip="true" v-col="'title'" />
-				<el-table-column prop="status" label="发送状态"  align="center" v-col="'status'">
+				<el-table-column label="ID" align="center" prop="id" width="100" v-col="'ID'" />
+
+				<el-table-column label="标题" prop="title" align="center" :show-overflow-tooltip="true" v-col="'title'" />
+				<el-table-column label="发送方式" prop="gateway" align="center" :show-overflow-tooltip="true" v-col="'title'" />
+				<el-table-column prop="status" label="发送状态" align="center" v-col="'status'">
 					<template #default="scope">
 						<el-tag type="success" size="small" v-if="scope.row.status">发送成功</el-tag>
 						<el-tag type="info" size="small" v-else>发送失败</el-tag>
@@ -57,13 +48,7 @@
 					</template>
 				</el-table-column>
 			</el-table>
-			<pagination
-				v-show="tableData.total > 0"
-				:total="tableData.total"
-				v-model:page="tableData.param.pageNum"
-				v-model:limit="tableData.param.pageSize"
-				@pagination="typeList"
-			/>
+			<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
 		</el-card>
 
 		<EditDic ref="editDicRef" @dataList="typeList" />
@@ -71,7 +56,7 @@
 	</div>
 </template>
   
-  <script lang="ts">
+<script lang="ts">
 import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
 import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
 import api from '/@/api/notice';
@@ -103,7 +88,7 @@ interface TableDataState {
 
 export default defineComponent({
 	name: 'log',
-	components: {  DetailDic },
+	components: { DetailDic },
 
 	setup() {
 		const addDicRef = ref();
@@ -184,13 +169,13 @@ export default defineComponent({
 				type: 'warning',
 			})
 				.then(() => {
-				api.log.delete(ids).then(() => {
-					ElMessage.success('删除成功');
-					typeList();
-				});
+					api.log.delete(ids).then(() => {
+						ElMessage.success('删除成功');
+						typeList();
+					});
 				})
 				.catch(() => { });
-			};
+		};
 		return {
 			onRowDel,
 			addDicRef,

+ 1 - 1
src/views/iot/ota-update/module/index.vue

@@ -35,7 +35,7 @@
       </div>
 
       <el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-        <el-table-column label="ID" v-col="'id'" align="center" prop="id" width="60" />
+        <el-table-column label="ID" v-col="'id'" align="center" prop="id" width="100" />
         <el-table-column label="模块名称" v-col="'name'" prop="name" :show-overflow-tooltip="true" />
         <el-table-column label="模块别名" v-col="'nameAs'" prop="nameAs" :show-overflow-tooltip="true" />
         <el-table-column label="所属产品" v-col="'ProductName'" prop="ProductName" width="260" />

+ 1 - 1
src/views/iot/ota-update/update/component/batch.vue

@@ -31,7 +31,7 @@
         </el-form>
       </div>
       <el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-        <el-table-column prop="id" label="ID" width="60" />
+        <el-table-column prop="id" label="ID" width="100" />
         <el-table-column prop="name" label="名称" />
 <!--        <el-table-column prop="waitVersion" label="待升级版本号" width="120" />-->
         <el-table-column label="类型" prop="typo" width="120" align="center">

+ 1 - 1
src/views/iot/ota-update/update/component/device.vue

@@ -20,7 +20,7 @@
 			</el-form>
 		</div>
 		<el-table :data="tableData.data" style="width: 100%" row-key="id" v-loading="tableData.loading">
-			<el-table-column prop="id" label="ID" width="60" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="id" label="ID" width="100" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="deviceName" label="设备名称" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="status" label="状态" show-overflow-tooltip>
 				<template #default="scope">

+ 1 - 1
src/views/iot/ota-update/update/component/deviceList.vue

@@ -20,7 +20,7 @@
         </el-form>
       </div>
       <el-table :data="tableData.data" style="width: 100%" row-key="id" v-loading="tableData.loading">
-        <el-table-column prop="id" label="ID" width="60" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="id" label="ID" width="100" show-overflow-tooltip></el-table-column>
         <el-table-column prop="deviceName" label="设备名称" show-overflow-tooltip></el-table-column>
         <el-table-column prop="status" label="状态" show-overflow-tooltip>
           <template #default="scope">

+ 1 - 1
src/views/iot/ota-update/update/index.vue

@@ -36,7 +36,7 @@
       </div>
 
       <el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-        <el-table-column label="ID" v-col="'id'" align="center" prop="id" width="60" />
+        <el-table-column label="ID" v-col="'id'" align="center" prop="id" width="100" />
         <el-table-column label="升级包名称" v-col="'name'" prop="name" :show-overflow-tooltip="true" />
         <el-table-column prop="typo" label="类型" show-overflow-tooltip v-col="'typo'">
           <template #default="scope">

+ 1 - 1
src/views/iot/scene/list/index.vue

@@ -28,7 +28,7 @@
 			</el-form>
 		</div>
 		<el-table :data="tableData" style="width: 100%" row-key="id" v-loading="loading">
-			<el-table-column prop="id" label="ID" width="60" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="id" label="ID" width="100" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="name" label="场景名称" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="name" label="场景类型" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="name" label="执行状态" width="100" align="center">

+ 1 - 1
src/views/system/application/index.vue

@@ -28,7 +28,7 @@
 			</el-form>
 		</div>
 		<el-table :data="tableData" style="width: 100%" row-key="id" v-loading="loading">
-			<el-table-column prop="id" label="ID" width="60" show-overflow-tooltip v-col="'id'"></el-table-column>
+			<el-table-column prop="id" label="ID" width="100" show-overflow-tooltip v-col="'id'"></el-table-column>
 			<el-table-column prop="appId" label="应用标识" show-overflow-tooltip v-col="'appId'"></el-table-column>
 			<el-table-column prop="name" label="应用名称" show-overflow-tooltip v-col="'name'"></el-table-column>
 			<el-table-column prop="desc" label="描述" show-overflow-tooltip v-col="'desc'"></el-table-column>

+ 1 - 1
src/views/system/config/index.vue

@@ -50,7 +50,7 @@
 				<el-tab-pane v-for="dict in tabDataList" :label="dict.dictLabel" :name="dict.dictValue">
           <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
             <el-table-column type="selection" width="55" align="center" />
-            <el-table-column label="ID" v-col="'configId'" align="center" prop="configId" width="60" />
+            <el-table-column label="ID" v-col="'configId'" align="center" prop="configId" width="100" />
             <el-table-column label="参数名称" v-col="'configName'" prop="configName" :show-overflow-tooltip="true" />
             <el-table-column label="参数键名" v-col="'configKey'" prop="configKey" :show-overflow-tooltip="true" />
             <el-table-column label="参数键值" v-col="'configValue'" prop="configValue" />

+ 1 - 1
src/views/system/datahub/modeling/detail.vue

@@ -52,7 +52,7 @@
         </div>
 
         <el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-          <el-table-column label="ID" align="center" prop="id" width="60" v-col="'id'" />
+          <el-table-column label="ID" align="center" prop="id" width="100" v-col="'id'" />
           <el-table-column label="字段名称" prop="key" width="120" :show-overflow-tooltip="true" v-col="'key'" />
           <el-table-column label="字段标题" prop="name" width="120" :show-overflow-tooltip="true" v-col="'name'" />
           <el-table-column label="类型" prop="dataType" width="85" :show-overflow-tooltip="true" v-col="'dataType'" />

+ 1 - 1
src/views/system/datahub/modeling/index.vue

@@ -51,7 +51,7 @@
 			</div>
 			<el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
 				<el-table-column type="selection" width="55" align="center" />
-				<el-table-column label="ID" align="center" prop="id" width="80" v-col="'id'" />
+				<el-table-column label="ID" align="center" prop="id" width="100" v-col="'id'" />
 				<!-- <el-table-column label="模型标识" prop="key" :show-overflow-tooltip="true" v-col="'key'"/> -->
 				<el-table-column label="模型名称" prop="name" :show-overflow-tooltip="true" v-col="'name'" />
 				<el-table-column label="类型" prop="typeName" :show-overflow-tooltip="true" v-col="'typeName'" />

+ 1 - 1
src/views/system/datahub/source/detail.vue

@@ -140,7 +140,7 @@
 						</div>
 
 						<el-table :data="tableData.data" style="width: 100%" v-loading="tableData.loading">
-							<el-table-column label="ID" align="center" prop="nodeId" width="80" v-col="'id'" />
+							<el-table-column label="ID" align="center" prop="nodeId" width="100" v-col="'id'" />
 							<el-table-column label="数据标识" prop="key" :show-overflow-tooltip="true" v-col="'key'" />
 							<el-table-column label="数据名称" prop="name" :show-overflow-tooltip="true" v-col="'name'" />
 							<el-table-column label="数据类型" prop="dataType" :show-overflow-tooltip="true" v-col="'dataType'" />

+ 1 - 1
src/views/system/datahub/source/index.vue

@@ -46,7 +46,7 @@
       </div>
       <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
         <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="ID" align="center" prop="sourceId" width="80" v-col="'sourceId'" />
+        <el-table-column label="ID" align="center" prop="sourceId" width="100" v-col="'sourceId'" />
         <el-table-column label="数据源标识" prop="key" :show-overflow-tooltip="true" v-col="'key'"/>
         <el-table-column label="数据源名称" prop="name" :show-overflow-tooltip="true" v-col="'name'" />
         <el-table-column prop="from" label="数据源类型" width="160" align="center" v-col="'from'">

+ 1 - 1
src/views/system/manage/blacklist/index.vue

@@ -42,7 +42,7 @@
       </div>
       <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
         <el-table-column type="selection" width="55" align="center" />
-        <!--        <el-table-column label="ID" align="center" prop="id" width="60"  v-col="'id'"/>-->
+        <!--        <el-table-column label="ID" align="center" prop="id" width="100"  v-col="'id'"/>-->
         <!-- <el-table-column label="标识" prop="key" :show-overflow-tooltip="true" v-col="'key'" /> -->
         <el-table-column label="IP" prop="ip" v-col="'ip'"/>
         <!-- <el-table-column label="名称" prop="name" :show-overflow-tooltip="true" v-col="'name'" /> -->

+ 1 - 1
src/views/system/task/index.vue

@@ -48,7 +48,7 @@
       </div>
       <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
         <el-table-column type="selection" width="55" align="center" />
-        <el-table-column label="ID" align="center" v-col="'jobId'" prop="jobId" width="60" />
+        <el-table-column label="ID" align="center" v-col="'jobId'" prop="jobId" width="100" />
         <el-table-column label="任务名称" v-col="'jobName'" prop="jobName" :show-overflow-tooltip="true" />
         <el-table-column label="任务描述" v-col="'remark'" prop="remark" show-overflow-tooltip />
         <el-table-column label="任务分组" v-col="'jobGroup'" prop="jobGroup" width="120" :formatter="jobGroupFormat" />