zhudie hace 1 año
padre
commit
f10752dade

+ 1 - 0
src/api/system/user-operate.ts

@@ -157,5 +157,6 @@ export function resetCode(params: ResetCodeType) {
     url: '/user/changePassword',
     method: 'POST',
     params,
+    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
   });
 }

+ 6 - 4
src/utils/http/axios/index.ts

@@ -61,7 +61,10 @@ const transform: AxiosTransform = {
       throw new Error('请求出错,请稍候重试');
     }
     //  这里 code,result,message为 后台统一的字段,需要修改为项目自己的接口返回格式
-    const { code, data: result, message } = data;
+    const { code, data: result, message, msg } = data;
+
+    // 接口请求错误,统一提示错误信息 这里逻辑可以根据项目进行修改
+    let errorMsg = message || msg;
     // 请求成功
     const hasSuccess = data && Reflect.has(data, 'code') && code === ResultEnum.SUCCESS;
     // 是否显示提示信息
@@ -74,7 +77,7 @@ const transform: AxiosTransform = {
         });
       } else if (!hasSuccess && (errorMessageText || isShowErrorMessage)) {
         // 是否显示自定义信息提示
-        ElMessage.error(message || errorMessageText || '操作失败!');
+        ElMessage.error(errorMsg || errorMessageText || '操作失败!');
       } else if (!hasSuccess && options.errorMessageMode === 'modal') {
         // errorMessageMode=‘custom-modal’的时候会显示modal错误弹窗,而不是消息提示,用于一些比较重要的错误
         ElMessageBox.confirm(message, '提示', {
@@ -101,8 +104,7 @@ const transform: AxiosTransform = {
     if (code === ResultEnum.SUCCESS) {
       return result;
     }
-    // 接口请求错误,统一提示错误信息 这里逻辑可以根据项目进行修改
-    let errorMsg = message;
+
     switch (code) {
       // 请求失败
       // case ResultEnum.ERROR:

+ 1 - 0
src/utils/http/axios/types.ts

@@ -62,4 +62,5 @@ export interface Result<T = any> {
   type?: 'success' | 'error' | 'warning';
   message: string;
   data?: T;
+  msg?: string;
 }

+ 119 - 0
src/views/system-config/scene-manage/SceneDialog.vue

@@ -0,0 +1,119 @@
+<template>
+  <page-wrapper>
+    <el-dialog :model-value="true" @close="() => emit('closeDialog')" title="添加企业信息" width="500">
+      <!-- <span>This is a message</span> -->
+      <div>
+        <div class="relate-select">
+          <div class="select-title">企业分类</div>
+          <el-select v-model="companyType" placeholder="请选择企业类型" style="width: 180px">
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </div>
+        <div class="relate-select">
+          <div class="select-title">企业名称</div>
+          <el-select
+            v-model="tenantName"
+            placeholder="请选择企业租户信息"
+            style="width: 180px"
+            @change="changeCom"
+          >
+            <el-option
+              v-for="item in companyList"
+              :key="item.tenantCode"
+              :label="item.tenantName"
+              :value="item.tenantCode"
+            />
+          </el-select>
+        </div>
+        <div v-if="tenantCode" class="relate-select">
+          <div class="select-title">企业租户信息</div>
+          <el-input v-model="tenantCode" style="width: 180px" disabled />
+        </div>
+      </div>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="cancel">取消</el-button>
+          <el-button type="primary" @click="close"> 确定 </el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </page-wrapper>
+</template>
+
+<script setup lang="ts">
+  import { ref, onMounted } from 'vue';
+  import { ElMessage } from 'element-plus';
+  import { options } from './use-method.tsx';
+  import { getCompanyList, CompanyType, changeRelate } from '@/api/scene/scene-relate';
+
+  const emit = defineEmits<{
+    (e: 'closeDialog'): unknown;
+  }>();
+
+  // const dialogVisible = ref<boolean>(false);
+  const companyType = ref('');
+  const tenantName = ref('');
+  const tenantCode = ref('');
+  const tenantId = ref();
+  const companyList = ref<CompanyType[]>([]);
+
+  const reset = () => {
+    // dialogVisible.value = false;
+    tenantName.value = '';
+    tenantCode.value = '';
+    tenantId.value = null;
+    companyType.value = '';
+  };
+
+  const close = () => {
+    const subData = {
+      tenantCode: tenantCode.value,
+      tenantId: tenantId.value,
+      type: companyType.value,
+    };
+    changeRelate(subData).then(() => {
+      ElMessage({
+        message: '绑定成功',
+        type: 'success',
+      });
+      reset();
+      emit('closeDialog')
+    });
+  };
+  const changeCom = (val: any) => {
+    console.log(val);
+    const item = companyList.value.find((item) => item.tenantCode === val);
+    console.log('item', item);
+    tenantName.value = item?.tenantName!;
+    tenantId.value = item?.tenantId!;
+    tenantCode.value = val;
+  };
+
+  onMounted(() => {
+    getCompanyList().then((res) => {
+      companyList.value = res;
+    });
+  });
+  const cancel = ()=>{
+    emit('closeDialog')
+  }
+</script>
+
+<style scoped>
+  .relate-select {
+    display: flex;
+
+    align-items: center;
+    margin-bottom: 20px;
+  }
+
+  .select-title {
+    width: 100px;
+    margin-right: 20px;
+  }
+</style>

+ 50 - 7
src/views/system-config/scene-manage/SceneManage.vue

@@ -73,7 +73,49 @@
       @on-close="handleUpdataWorkspaceTab"
       @on-ok="subWorkspace"
     />
-    <AddCompanyInfo v-if="dialogVisible" @close="closeAddInfo" />
+
+    <SceneDialog v-if="dialogVisible" @close-dialog="closeDialog" />
+    <!-- <el-dialog v-model="dialogVisible" title="添加企业信息" width="500">
+      <div>
+        <div class="relate-select">
+          <div class="select-title">企业分类</div>
+          <el-select v-model="companyType" placeholder="请选择企业类型" style="width: 180px">
+            <el-option
+              v-for="item in options"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </el-select>
+        </div>
+        <div class="relate-select">
+          <div class="select-title">企业名称</div>
+          <el-select
+            v-model="tenantName"
+            placeholder="请选择企业租户信息"
+            style="width: 180px"
+            @change="changeCom"
+          >
+            <el-option
+              v-for="item in companyList"
+              :key="item.tenantCode"
+              :label="item.tenantName"
+              :value="item.tenantCode"
+            />
+          </el-select>
+        </div>
+        <div v-if="tenantCode" class="relate-select">
+          <div class="select-title">企业租户信息</div>
+          <el-input v-model="tenantCode" style="width: 180px" disabled />
+        </div>
+      </div>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="dialogVisible = false">取消</el-button>
+          <el-button type="primary" @click="close"> 确定 </el-button>
+        </div>
+      </template>
+    </el-dialog> -->
   </page-wrapper>
 </template>
 
@@ -81,13 +123,13 @@
   import { ref, onMounted, reactive, h, computed } from 'vue';
   import { Plus } from '@element-plus/icons-vue';
   import { BasicTable, BasicColumn } from '@/components/Table';
-  import { ElMessageBox } from 'element-plus';
   import ActionColomn from './actionColomns.vue';
   import CompanyDrawer from './CompanyDrawer.vue';
   import WorkshopDrawer from './WorkshopDrawer.vue';
   import WorkspaceDrawer from './WorkspaceDrawer.vue';
   import AddCompanyInfo from './AddCompanyInfo.vue';
   import { DATA_LEVEL, DrawerType, ENABLED } from './constant';
+  import SceneDialog from './SceneDialog.vue';
   import {
     colomns,
     updateSerials,
@@ -110,6 +152,7 @@
   import { useRouter } from 'vue-router';
   import { storeToRefs } from 'pinia';
   import { cloneDeep } from 'lodash-es';
+  import { ElMessageBox } from 'element-plus';
 
   const router = useRouter();
 
@@ -131,7 +174,7 @@
   const total = computed(() => tableData.value.length);
   const dialogVisible = ref<boolean>(false);
 
-  const closeAddInfo = () => {
+  const closeDialog = () => {
     dialogVisible.value = false;
   };
 
@@ -161,9 +204,9 @@
 
     //获取tableData数据
     getSceneDetail();
-    // getCompanyList().then((res)=>{
-    //   companyList.value = res
-    // })
+    // getCompanyList().then((res) => {
+    //   companyList.value = res;
+    // });
   });
 
   function onCheckedRow(rowKeys) {
@@ -220,7 +263,7 @@
         // rowUpDisable:
         // rowDownDisable:
         subItem: record.row,
-        handleRelate:handleRelate,
+        handleRelate: handleRelate,
         handleConig: handleConfig,
         handleAdd: handleAdd,
         handleEdit: handleEdit,

+ 1 - 1
src/views/system-config/scene-manage/actionColomns.vue

@@ -12,7 +12,7 @@
         v-if="(props.subItem as ComAddDatas).parentId !== undefined"
         @click="changeConig"
         class="wordStyle"
-        style="margin-right: 10px"
+        style="margin-right: 10px; width: 122px"
         >页面设置</div
       >
       <div v-else style="margin-right: 10px; width: 122px"></div>