Browse Source

feat(组件): 修改bug

tangning 2 năm trước cách đây
mục cha
commit
225f334029

+ 1 - 1
.env

@@ -2,7 +2,7 @@
 VITE_PORT = 3100
 
 # spa-title
-VITE_GLOB_APP_TITLE = 四维看看
+VITE_GLOB_APP_TITLE = 四维时代管理后台
 
 # spa shortname
 VITE_GLOB_APP_SHORT_NAME = 4DAGE

BIN
public/favicon.ico


+ 1 - 1
src/components/Form/src/props.ts

@@ -38,7 +38,7 @@ export const basicProps = {
   },
   autoSetPlaceHolder: propTypes.bool.def(true),
   // 在INPUT组件上单击回车时,是否自动提交
-  autoSubmitOnEnter: propTypes.bool.def(false),
+  autoSubmitOnEnter: propTypes.bool.def(true),
   submitOnReset: propTypes.bool,
   size: propTypes.oneOf(['default', 'small', 'large']).def('default'),
   // 禁用表单

+ 0 - 3
src/layouts/default/header/components/Breadcrumb.vue

@@ -65,18 +65,15 @@
         const parent = getAllParentPath(menus, path);
         const filterMenus = menus.filter((item) => item.path === parent[0]);
         const matched = getMatched(filterMenus, parent) as any;
-        console.log('breadcrumbList',matched)
         if (!matched || matched.length === 0) return;
 
         const breadcrumbList = filterItem(matched);
-        console.log('breadcrumbList',breadcrumbList)
         if (currentRoute.value.meta?.currentActiveMenu) {
           breadcrumbList.push({
             ...currentRoute.value,
             name: currentRoute.value.meta?.title || currentRoute.value.name,
           } as unknown as RouteLocationMatched);
         }
-        console.log('breadcrumbList',breadcrumbList)
         routes.value = breadcrumbList;
       });
 

+ 0 - 1
src/router/helper/routeHelper.ts

@@ -93,7 +93,6 @@ export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModul
     }
     route.children && asyncImportRoute(route.children);
   });
-  console.log('transformObjToRoute2',routeList)
   return routeList as unknown as T[];
 }
 

+ 0 - 1
src/store/modules/permission.ts

@@ -68,7 +68,6 @@ export const usePermissionStore = defineStore({
   },
   actions: {
     setPermCodeList(codeList: string[]) {
-      console.log('setPermCodeList',codeList)
       this.permCodeList = codeList;
     },
     getCheckPerm(value:string|string[]): boolean{

+ 0 - 4
src/utils/http/axios/Axios.ts

@@ -279,7 +279,6 @@ export class VAxios {
 
   request<T = any>(config: AxiosRequestConfig, options?: RequestOptions): Promise<T> {
     let conf: CreateAxiosOptions = cloneDeep(config);
-    console.log('conf1',conf)
     const transform = this.getTransform();
 
     const { requestOptions } = this.options;
@@ -288,14 +287,11 @@ export class VAxios {
 
     const { beforeRequestHook, requestCatchHook, transformRequestHook } = transform || {};
     if (beforeRequestHook && isFunction(beforeRequestHook)) {
-    console.log('conf2',conf)
     conf = beforeRequestHook(conf, opt);
     }
-    console.log('conf3',conf)
     conf.requestOptions = opt;
 
     conf = this.supportFormData(conf);
-    console.log('conf4',conf)
     return new Promise((resolve, reject) => {
       this.axiosInstance
         .request<any, AxiosResponse<Result>>(conf)

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

@@ -43,7 +43,6 @@ const transform: AxiosTransform = {
     // 错误的时候返回
 
     const { data } = res;
-    console.log('message',res)
     if (!data) {
       // return '[HTTP] Request has no return value';
       throw new Error(t('sys.api.apiRequestFailed'));

+ 6 - 1
src/views/customer/device.vue

@@ -3,7 +3,7 @@
     <div class="desc-wrap-BasicTable">
       <BasicTable @register="registerTable">
         <template #toolbar>
-          <a-button type="primary" @click="deviceLink"> 设备关联</a-button>
+          <a-button type="primary" v-if="getCheckPerm('device-connect')" @click="deviceLink"> 设备关联</a-button>
           <a-button type="primary" @click="back">返回</a-button>
         </template>
         <template #action="{ record }">
@@ -12,6 +12,7 @@
             :actions="[
               {
                 label: '解绑',
+                ifShow:getCheckPerm('device-unbind'),
                 color: 'error',
                 onClick: handleUnbind.bind(null, record),
               },
@@ -33,6 +34,7 @@
     TableImg,
     FormProps,
   } from '/@/components/Table';
+  import { usePermissionStore } from '/@/store/modules/permission';
   import { PageWrapper } from '/@/components/Page';
   import { Descriptions } from 'ant-design-vue';
   import { useMessage } from '/@/hooks/web/useMessage';
@@ -58,6 +60,8 @@
       const [registerLinkModal, { openModal: openLinkModal }] = useModal();
       const router = useRouter();
       const companyId: Number = router.currentRoute.value.params.id - 0;
+      const permissionStore = usePermissionStore();
+      const { getCheckPerm } = permissionStore;
       onMounted(() => {
         // console.log(router.currentRoute.value.params.id);
       });
@@ -249,6 +253,7 @@
         deviceLink,
         registerLinkModal,
         back,
+        getCheckPerm,
       };
     },
   });

+ 18 - 8
src/views/customer/scene.vue

@@ -23,20 +23,21 @@
               {
                 label: '迁移',
                 //icon: 'bx:move-horizontal',
-
+                ifShow:getTypeCheckPerm('customer-scenes-move') && tableType != 3,
+                disabled:!(record.status == 1 || record.status == -2),
                 onClick: handleMove.bind(null, record),
               },
               {
                 label: '下载',
-                disabled:
-                  (record.payStatus - 0 != 1 && record.status - 0 == 0) ||
-                  (record.payStatus - 0 != 1 && record.status - 0 == -1),
+                disabled:!(record.status == 1 || record.status == -2),
+                ifShow:getTypeCheckPerm('customer-scenes-download') && tableType != 3,
                 //icon: 'carbon:download',
                 onClick: handleDownload.bind(null, record),
               },
               {
                 label: '重算',
-                disabled: record.payStatus != 1 && record.status - 0 == 0,
+                disabled: record.status == 0,
+                ifShow:getTypeCheckPerm('customer-scenes-recalculate') && tableType != 3,
                 //icon: 'bx:reset',
                 popConfirm: {
                   title: '是否重算?',
@@ -45,9 +46,8 @@
               },
               {
                 label: '复制',
-                disabled:
-                  (record.payStatus != 1 && record.status - 0 == 0) ||
-                  (record.payStatus != 1 && record.status - 0 == -1),
+                disabled:!(record.status == 1 || record.status == -2),
+                ifShow:getTypeCheckPerm('customer-scenes-copy'),
                 //icon: 'akar-icons:copy',
                 //onClick: handleCopy.bind(null, record),
                 popConfirm: {
@@ -58,6 +58,8 @@
               {
                 label: '删除',
                 //icon: 'ic:outline-delete-outline',
+                disabled:record.status == 0,
+                ifShow:getTypeCheckPerm('customer-scenes-delete'),
                 color: 'error',
                 //onClick: handleDelete.bind(null, record),
                 popConfirm: {
@@ -102,6 +104,7 @@
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useModal } from '/@/components/Modal';
+  import { usePermissionStore } from '/@/store/modules/permission';
   import { useRouter } from 'vue-router';
   import {
     operateSceneList,
@@ -132,6 +135,8 @@
     setup() {
       const { t } = useI18n();
       const router = useRouter();
+      const permissionStore = usePermissionStore();
+      const { getCheckPerm } = permissionStore;
       const companyId: Number = router.currentRoute.value.params.id - 0;
       const { createMessage, createConfirm } = useMessage();
       const tableType = ref<Recordable>(0); //0看看 、1看见、2深时
@@ -433,7 +438,12 @@
       function back() {
         router.push('/customer/index');
       }
+      function getTypeCheckPerm(val){
+        let myType = tableType.value
+        return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`)
+      }
       return {
+        getTypeCheckPerm,
         registerTable,
         handleDelete,
         handleCopy,

+ 0 - 1
src/views/dashboard/analysis/components/lineEcharts.vue

@@ -82,7 +82,6 @@ function handleExport(){
 watch(
   () => props.propsData,
   (propsData) => {
-    console.log('watch',propsData)
     setOptions({
       tooltip: {
         trigger: 'axis',

+ 0 - 1
src/views/dashboard/analysis/components/orderEchart.vue

@@ -81,7 +81,6 @@
   }
 
   function handlesetOptions() {
-    console.log('handlesetOptions',kjList.value,ssList.value,ssList.value,yixStringData.value)
     setOptions({
       tooltip: {
         trigger: 'axis',

+ 2 - 1
src/views/product/firmware/index.vue

@@ -109,7 +109,7 @@ export default defineComponent({
       {
         title: '创建人',
         width: 150,
-        dataIndex: 'recStatus',
+        dataIndex: 'createName',
       },
       {
         title: '创建时间',
@@ -157,6 +157,7 @@ export default defineComponent({
     ];
     const searchForm: Partial<FormProps> = {
       labelWidth: 100,
+      autoSubmitOnEnter:true,
       schemas: [
         {
           field: 'version',

+ 2 - 2
src/views/product/sdk/index.vue

@@ -140,8 +140,8 @@ export default defineComponent({
         },
       },{
         title: '创建人',
-        width: 80,
-        dataIndex: 'recStatus',
+        width: 120,
+        dataIndex: 'createName',
       },{
         title: '创建时间',
         width: 120,

+ 9 - 10
src/views/productOperation/cameraScene.vue

@@ -23,21 +23,20 @@
             :actions="[
               {
                 label: '迁移',
+                disabled:!(record.status == 1 || record.status == -2),
                 ifShow:getTypeCheckPerm('scenes-move') && tableType != 3,
                 onClick: handleMove.bind(null, record),
               },
               {
                 label: '下载',
                 ifShow:getTypeCheckPerm('scenes-download') && tableType != 3,
-                disabled:
-                  (record.payStatus - 0 != 1 && record.status - 0 == 0 ) ||
-                  (record.payStatus - 0 != 1 && record.status - 0 == -1 ),
+                disabled:!(record.status == 1 || record.status == -2),
                 //icon: 'carbon:download',
                 onClick: handleDownload.bind(null, record),
               },
               {
                 label: '重算',
-                disabled: record.payStatus != 1 && record.status - 0 == 0,
+                disabled: record.status == 0,
                 ifShow:getTypeCheckPerm('scenes-recalculate') && tableType != 3,
                 popConfirm: {
                   title: '是否重算?',
@@ -46,9 +45,7 @@
               },
               {
                 label: '复制',
-                disabled:
-                  (record.payStatus != 1 && record.status - 0 == 0) ||
-                  (record.payStatus != 1 && record.status - 0 == -1),
+                disabled:!(record.status == 1 || record.status == -2),
                 ifShow:getTypeCheckPerm('scenes-copy'),
                 popConfirm: {
                   title: '是否复制?',
@@ -60,6 +57,7 @@
                 //icon: 'ic:outline-delete-outline',
                 color: 'error',
                 ifShow:getTypeCheckPerm('scenes-delete'),
+                disabled:record.status == 0,
                 //onClick: handleDelete.bind(null, record),
                 popConfirm: {
                   title: '是否删除?',
@@ -388,11 +386,11 @@
       const downloadOption = ref<Object>({});
       const canDownload = ref<boolean>(true);
       function handleDownload(record: Recordable) {
-        console.log('handleDownload', record);
-
+        console.log('handleDownload', record,canDownload.value);
+        canDownload.value = true;
         checkDownLoad({ num: record.num }).then((res) => {
           console.log(res);
-          if (res.downloadStatus == 0) {
+          if (res.downloadStatus != 3) {
             // 未下载过,需要打包
             sceneDownload({ num: record.num }).then((res) => {
               console.log(res);
@@ -416,6 +414,7 @@
               }
             });
           } else {
+            canDownload.value = false;
             window.open(res.downloadUrl);
           }
         });

+ 14 - 0
src/views/staff/list.vue

@@ -70,6 +70,7 @@ import { Switch } from 'ant-design-vue';
   import { Time } from '/@/components/Time';
   import { useUserStore } from '/@/store/modules/user';
   import { usePermissionStore } from '/@/store/modules/permission';
+  import { getRoleListByParam } from '/@/api/staff/list'; //roleLIstApi
   export default defineComponent({
     components: {
       BasicTable,
@@ -210,6 +211,19 @@ import { Switch } from 'ant-design-vue';
               xl: 6,
               xxl: 6,
             },
+          },{
+            field: 'roleId',
+            label: '角色',
+            component: 'ApiSelect',
+            componentProps: {
+              api: getRoleListByParam,
+              labelField: 'roleName',
+              valueField: 'id',
+            },
+            colProps: {
+              xl: 6,
+              xxl: 6,
+            },
           },
         ],
       };

+ 0 - 1
src/views/statistics/components/orderEchart.vue

@@ -51,7 +51,6 @@
     exportElsxFile(data,fields,props.title)
   }
   function handlesetOptions() {
-    console.log('handlesetOptions',downOrderData.value,partsOrderData.value,partsOrderData.value,yixStringData.value)
     setOptions({
       tooltip: {
         trigger: 'axis',

+ 23 - 4
src/views/sys/login/LoginForm.vue

@@ -82,7 +82,7 @@
   </Form>
 </template>
 <script lang="ts" setup>
-  import { reactive, ref, unref, computed } from 'vue';
+  import { reactive, ref, unref, computed, onMounted } from 'vue';
 
   import { Checkbox, Form, Input, Row, Col, Button, } from 'ant-design-vue';//  Divider
   // import {
@@ -119,8 +119,8 @@
   const rememberMe = ref(false);
 
   const formData = reactive({
-    account: 'super-admin',
-    password: 'Aa123456',
+    account: '',
+    password: '',
   });
 
   const { validForm } = useFormValid(formRef);
@@ -129,6 +129,18 @@
 
   const getShow = computed(() => unref(getLoginState) === LoginStateEnum.LOGIN);
 
+  onMounted(() => {
+    let localePass = localStorage.getItem('password')
+    if(localePass){
+      let password = decodeURIComponent(escape(window.atob(localePass))),
+      account:string = localStorage.getItem('username')
+      formData.account = account
+      formData.password = password
+      rememberMe.value = true
+    }
+
+  });
+
   async function handleLogin() {
     const data = await validForm();
     if (!data) return;
@@ -139,8 +151,15 @@
         username: data.account,
         mode: 'none', //不要默认的错误提示
       });
-      console.log('userInfo',userInfo)
       if (userInfo) {
+        if(rememberMe.value){
+          let password:string = window.btoa(unescape(encodeURIComponent(data.password)))
+          localStorage.setItem('password',password)
+          localStorage.setItem('username',data.account)
+        }else{
+          localStorage.removeItem("password");
+          localStorage.removeItem("username");
+        }
         notification.success({
           message: t('sys.login.loginSuccessTitle'),
           description: `${t('sys.login.loginSuccessDesc')}: ${userInfo.nickName}`,