vera_min 2 жил өмнө
parent
commit
14ed9ef118

+ 0 - 21
src/api/certificateManagement/index.ts

@@ -1,33 +1,12 @@
 import { get, post, del, put, file } from '/@/utils/request';
 import getOrigin from '/@/utils/origin';
 const baseUrl = getOrigin(import.meta.env.VITE_SERVER_URL);
-console.log(baseUrl)
 
 export default {
-  loop: {
-    getList: (params: object) => get('/region/loop/list', params),
-    add: (data: object) => post('/region/loop/add', data),
-    export: (params: object) => file('/region/loop/export', params), // 环路列表导出
-    upload: (params: object) => file('/region/loop/import', params), // 环路列表导出
-    edit: (data: object) => put('/region/loop/edit', data),
-    del: (id: number) => del('/region/loop/del', { id }),
-    detail: (id: number) => get('/region/loop/getInfoById', { id }),
-  },
   certificateManagement: {
     getList: (params: object) => get('/system/certificate/list', params),
     add: (data: object) => post('/system/certificate/add', data),
     edit: (data: object) => put('/system/certificate/edit', data),
     del: (id: number) => del('/system/certificate/delete', { id }),
-    // getAll: (params?: object) => get('/region/monitor/getAllHeatStation', params),
-    getAll: (params?: object) => get('/region/monitor/loopMap', params),
-    heatStationExport: (params: object) => file('/region/heatStation/export', params), // 换热站列表导出
-    getAllList: (params: object) => get('/region/heatStation/getAll', params),
-    // add: (data: object) => post('/region/heatStation/add', data),
-    // edit: (data: object) => put('/region/heatStation/edit', data),
-    // del: (id: number) => del('/region/heatStation/del', { id }),
-    detail: (id: number) => get('/region/heatStation/getInfoById', { id }),
-    getAllStaAndLoop: (params?: object) => get('/region/heatStation/getAllStaAndLoop', params),
-    stationDetail: (params?: object) => get('/energy/performance/station/detail', params),
-    stationDetailHistory: (params?: object) => get('/energy/history/performance/station/detail', params),
   }
 }

+ 4 - 0
src/api/system/index.ts

@@ -155,5 +155,9 @@ export default {
     edit: (data: object) => put('/system/blacklist/edit', data),
     detail: (params: object) => get('/system/blacklist/get', params),
     changeStatus: (data: object) => post('/system/blacklist/status', data),
+  },
+  basicConfig: {
+    getDetails: () => get('/getBaseSetting'),
+    setDetails: (data: object) => put('/editBaseSetting', data),
   }
 }

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

@@ -29,12 +29,16 @@ const props = defineProps({
     type: String,
     default: '.jpg,.png,.jpeg,.gif',
   },
+  name: {
+    type: String,
+    default: '',
+  }
 });
 
 const updateImg = (res: any) => {
   const url = getOrigin(import.meta.env.VITE_SERVER_URL + '/' + res.data?.path)
-
-  emit('setImg', url);
+  console.log(url)
+  emit('setImg', url, props.name);
 };
 
 const beforeAvatarUpload: UploadProps['beforeUpload'] = (rawFile) => {

+ 0 - 142
src/views/system/basicConfig/component/editConfig.vue

@@ -1,142 +0,0 @@
-<template>
-  <div class="system-edit-dic-container">
-    <el-dialog :title="(ruleForm.configId!==0?'修改':'添加')+'参数'" v-model="isShowDialog" width="769px">
-      <el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="90px">
-        <el-form-item label="参数名称" prop="configName">
-          <el-input v-model="ruleForm.configName" placeholder="请输入参数名称" />
-        </el-form-item>
-        <el-form-item label="参数键名" prop="configKey">
-          <el-input v-model="ruleForm.configKey" placeholder="请输入参数键名" />
-        </el-form-item>
-        <el-form-item label="参数键值" prop="configValue">
-          <el-input v-model="ruleForm.configValue" placeholder="请输入参数键值" />
-        </el-form-item>
-        <el-form-item label="系统内置" prop="configType">
-          <el-radio-group v-model="ruleForm.configType">
-            <el-radio v-for="dict in sysYesNoOptions" :key="dict.value" :label="Number(dict.value)">{{dict.label}}</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="ruleForm.remark" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="onCancel" size="default">取 消</el-button>
-          <el-button type="primary" @click="onSubmit" size="default">{{ruleForm.configId!==0?'修 改':'添 加'}}</el-button>
-        </span>
-      </template>
-    </el-dialog>
-  </div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import { ElMessage } from 'element-plus';
-import api from '/@/api/system';
-interface RuleFormState {
-  configId: number;
-  configName: string;
-  configKey: string;
-  configValue: string;
-  configType: string;
-  remark: string;
-}
-interface DicState {
-  isShowDialog: boolean;
-  ruleForm: RuleFormState;
-  rules: {};
-}
-
-export default defineComponent({
-  name: 'systemEditDicData',
-  props: {
-    sysYesNoOptions: {
-      type: Array,
-      default: () => [],
-    },
-  },
-  setup(prop, { emit }) {
-    const formRef = ref<HTMLElement | null>(null);
-    const state = reactive<DicState>({
-      isShowDialog: false,
-      ruleForm: {
-        configId: 0,
-        configName: '',
-        configKey: '',
-        configValue: '',
-        configType: '0',
-        remark: '',
-      },
-      rules: {
-        configName: [{ required: true, message: '参数名称不能为空', trigger: 'blur' }],
-        configKey: [{ required: true, message: '参数键名不能为空', trigger: 'blur' }],
-        configValue: [{ required: true, message: '参数键值不能为空', trigger: 'blur' }],
-      },
-    });
-    // 打开弹窗
-    const openDialog = (row: RuleFormState | null) => {
-      resetForm();
-      if (row) {
-        api.config.detail(row.configId).then((res: any) => {
-          const data: RuleFormState = res.data.data;
-          data.configType = String(data.configType);
-          state.ruleForm = data;
-        });
-        state.ruleForm = row;
-      }
-      state.isShowDialog = true;
-    };
-    const resetForm = () => {
-      state.ruleForm = {
-        configId: 0,
-        configName: '',
-        configKey: '',
-        configValue: '',
-        configType: '0',
-        remark: '',
-      };
-    };
-    // 关闭弹窗
-    const closeDialog = () => {
-      state.isShowDialog = false;
-    };
-    // 取消
-    const onCancel = () => {
-      closeDialog();
-    };
-    // 新增
-    const onSubmit = () => {
-      const formWrap = unref(formRef) as any;
-      if (!formWrap) return;
-      formWrap.validate((valid: boolean) => {
-        if (valid) {
-          if (state.ruleForm.configId !== 0) {
-            //修改
-            api.config.edit(state.ruleForm).then(() => {
-              ElMessage.success('参数修改成功');
-              closeDialog(); // 关闭弹窗
-              emit('dataList');
-            });
-          } else {
-            //添加
-            api.config.add(state.ruleForm).then(() => {
-              ElMessage.success('参数添加成功');
-              closeDialog(); // 关闭弹窗
-              emit('dataList');
-            });
-          }
-        }
-      });
-    };
-    return {
-      openDialog,
-      closeDialog,
-      onCancel,
-      onSubmit,
-      formRef,
-      ...toRefs(state),
-    };
-  },
-});
-</script>

+ 108 - 34
src/views/system/basicConfig/index.vue

@@ -5,45 +5,44 @@
 			<div class="form-inner-wrap">
 				<div class="left-wrap">
 					<el-form-item label="系统名称" prop="keyWord">
-						<el-input v-model="state.tableData.param.keyWord" placeholder="请输入系统名称" clearable size="default" />
+						<el-input v-model="state.info.name" placeholder="请输入系统名称" clearable size="default" />
 					</el-form-item>
-					<el-form-item label="主题色" prop="keyWord">
-						<el-input v-model="state.tableData.param.keyWord" placeholder="请输入主题色" clearable size="default" />
+					<el-form-item label="系统版权" prop="keyWord">
+						<el-input v-model="state.info.copyright" placeholder="请输入主题色" clearable size="default" />
 					</el-form-item>
-					<el-form-item label="高德API Key" prop="keyWord">
-						<el-input v-model="state.tableData.param.keyWord" placeholder="请输入高德API Key" clearable size="default" />
+					<el-form-item label="开放接口AK" prop="keyWord">
+						<el-input v-model="state.info.accesskey" placeholder="请输入高德API Key" clearable size="default" />
 					</el-form-item>
-					<el-form-item label="base-path" prop="keyWord">
-						<el-input v-model="state.tableData.param.keyWord" placeholder="请输入base-path" clearable size="default" />
+					<el-form-item label="开放接口SK" prop="keyWord">
+						<el-input v-model="state.info.secretkey" placeholder="请输入base-path" clearable size="default" />
 					</el-form-item>
 					<el-row>
 						<el-col :span="12">
-							<el-form-item label="系统logo" prop="keyWord">
-								<uploadVue @set-img="setImg">
-									<img  style="width:140px;height:140px" :src="state.info.avatar1" />
-									<div class="tips">点击上方照片,即可更改头像</div>
+							<el-form-item label="系统LOGO" prop="keyWord">
+								<uploadVue accept=".jpg,.png,.jpeg,.gif,.svg" :name="'logo'" @set-img="setImg">
+									<img  style="width: 100%;" :src="state.info.logo" />
+									<!-- <div class="tips">点击上方照片,即可更改头像</div> -->
 								</uploadVue>
 							</el-form-item>
 						</el-col>
 
 						<el-col :span="12">
-							<el-form-item label="浏览器页签" prop="keyWord">
-								<uploadVue @set-img="setImg">
-									<img  style="width:140px;height:140px" :src="state.info.avatar2" />
-									<div class="tips">点击上方照片,即可更改头像</div>
+							<el-form-item label="系统LOGO(小图标)" prop="keyWord">
+								<uploadVue accept=".jpg,.png,.jpeg,.gif,.svg" :name="'mini'" @set-img="setImg">
+									<img  style="width: 100%;" :src="state.info.mini" />
+									<!-- <div class="tips">点击上方照片,即可更改头像</div> -->
 								</uploadVue>
 							</el-form-item>
 						</el-col>
 					</el-row>
 					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" @click="queryList">保存</el-button>
+						<el-button v-auth="'save'"  size="default" type="primary" class="ml10" @click="setDetails">保存</el-button>
 					</el-form-item>
 				</div>
 				<div class="right-wrap">
-					<el-form-item label="登录背景图" prop="keyWord">
-						<uploadVue @set-img="setImg">
-							<img  style="width:140px;height:140px" :src="state.info.avatar3" />
-							<div class="tips">点击上方照片,即可更改头像</div>
+					<el-form-item label="登录展示图" prop="keyWord">
+						<uploadVue accept=".jpg,.png,.jpeg,.gif,.svg" :name="'pic'" @set-img="setImg">
+							<img  style="width: 100%;" :src="state.info.pic" />
 						</uploadVue>
 					</el-form-item>
 				</div>
@@ -56,7 +55,7 @@
 <script lang="ts" setup>
 import { toRefs, reactive, onMounted, ref, defineComponent, getCurrentInstance } from 'vue';
 import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
-import api from '/@/api/certificateManagement';
+import api from '/@/api/system';
 import uploadVue from '/@/components/upload-wrapper/index.vue';
 
 
@@ -73,7 +72,16 @@ const buildConfigRef = ref();
 const queryRef = ref();
 const state = reactive({
 	ids: [],
-	info: {},
+	info: {
+		name: "",
+		copyright: "",
+		accesskey: "",
+		secretkey: "",
+		logo: "",
+		mini: "",
+		pic: ""
+	},
+	data: [],
 	tableData: {
 		data: [],
 		loading: false,
@@ -88,24 +96,90 @@ const state = reactive({
 });
 // 初始化表格数据
 const initBasicConfigInfo = () => {
-	queryList();
+	queryBasicConfigInfo();
 };
-const queryList = () => {
+const queryBasicConfigInfo = () => {
 	state.tableData.loading = true
-	api.certificateManagement.getList(state.tableData.param).then((res: any) => {
+	api.basicConfig.getDetails().then((res: any) => {
+		console.log(res)
+		state.data = res.data;
+		res.data.forEach((element: object) => {
+			if(element.configName == '系统名称') {
+				state.info.name = element.configValue
+			}else if(element.configName == '系统版权') {
+				state.info.copyright = element.configValue
+			}else if(element.configName == '开放接口AK') {
+				state.info.accesskey = element.configValue
+			}else if(element.configName == '开放接口SK') {
+				state.info.secretkey = element.configValue
+			}else if(element.configName == '系统LOGO') {
+				state.info.logo = element.configValue
+			}else if(element.configName == '系统LOGO(小图标)') {
+				state.info.mini = element.configValue
+			}else if(element.configName == '登录展示图') {
+				state.info.pic = element.configValue
+			}
+		});
+		console.log(state.info)
+	});
+};
+
+const setDetails = () => {
+	if(!state.info.name) {
+		ElMessage.error('请填写系统名称');
+		return;
+	}
+	if(!state.info.copyright) {
+		ElMessage.error('请填写系统版权');
+		return;
+	}
+	if(!state.info.accesskey) {
+		ElMessage.error('请填写开放接口AK');
+		return;
+	}
+	if(!state.info.secretkey) {
+		ElMessage.error('请填写开放接口SK');
+		return;
+	}
+	if(!state.info.logo) {
+		ElMessage.error('请上传系统LOGO');
+		return;
+	}
+
+	if(!state.info.mini) {
+		ElMessage.error('请上传LOGO(小图标)');
+		return;
+	}if(!state.info.pic) {
+		ElMessage.error('请上传登录展示图');
+		return;
+	}
+	state.data.forEach((element: object) => {
+		if(element.configName == '系统名称') {
+			element.configValue = state.info.name
+		}else if(element.configName == '系统版权') {
+			element.configValue = state.info.copyright
+		}else if(element.configName == '开放接口AK') {
+			element.configValue = state.info.accesskey
+		}else if(element.configName == '开放接口SK') {
+			element.configValue = state.info.secretkey
+		}else if(element.configName == '系统LOGO') {
+			element.configValue = state.info.logo
+		}else if(element.configName == '系统LOGO(小图标)') {
+			element.configValue = state.info.mini
+		}else if(element.configName == '登录展示图') {
+			element.configValue = state.info.pic
+		}
+	})
+	console.log(state.data)
+	api.basicConfig.setDetails(state.data).then((res: any) => {
 		console.log(res)
-		state.tableData.data = res.Info || [];
-		state.tableData.loading = false
-		state.tableData.total = res.total
+		ElMessage.success('设置成功');
+		
 	});
 };
 
-const setImg = (img: string) => {
-	console.log(img)
-//   api.user.setAvatar(info.value.id, img).then((res: any) => {
-//     ElMessage.success('更新成功')
-//     info.value.avatar = img
-//   })
+const setImg = (img: string, name: string) => {
+	state.info[name] = img;
 }
 
 // 页面加载时