浏览代码

fix(bugs): 修改问题

tangning 3 年之前
父节点
当前提交
f4166c8998

+ 2 - 1
.vscode/settings.json

@@ -95,7 +95,8 @@
   "[vue]": {
     "editor.codeActionsOnSave": {
       "source.fixAll.eslint": false
-    }
+    },
+    "editor.defaultFormatter": "octref.vetur"
   },
   "i18n-ally.localesPaths": ["src/locales/lang"],
   "i18n-ally.keystyle": "nested",

+ 3 - 0
src/locales/lang/zh-CN/routes/rightsEnterprises.ts

@@ -1,6 +1,7 @@
 export default {
   menuName: '企业权益管理',
   menuList: '企业权益',
+  menuTableList: '企业相机权益',
   staffList: '员工权益',
   staffName: '员工名称',
   staffPhone: '员工手机号码',
@@ -28,6 +29,7 @@ export default {
   kj: '四维看见',
   ss: '四维深时',
   snCode: '授权相机S/N码',
+  snCodeText: '相机SN码',
   cameraIncrementTypeName: '设备类型',
   state: {
     0: '未激活',
@@ -37,4 +39,5 @@ export default {
   },
   addcamera: '新增相机权益',
   maxlength: '请输入合理的数量!',
+  cameraTitle: '相机权益',
 };

+ 1 - 6
src/views/corporation/SubaccountModal.vue

@@ -452,16 +452,11 @@
         // }
         minNumber.lookNum = lookNum;
         minNumber.shotNum = shotNum;
-        let obj = {
-          8: '带看&拍摄员工',
-          81: '带看员工',
-          82: '拍摄员工',
-        };
         insertTableDataRecord({
           nickName: newUser.memoName,
           userName: newUser.phone,
           phone: newUser.phone,
-          roleName: obj[newUser.roleId],
+          roleName: '公司员工',
           roleId: newUser.roleId,
         });
 

+ 1 - 0
src/views/devices/list.vue

@@ -87,6 +87,7 @@
         {
           title: t('routes.devices.companyId'),
           dataIndex: 'companyName',
+          ifShow: false,
           width: 260,
         },
         {

+ 2 - 7
src/views/rightsEnterprises/addModal.vue

@@ -139,7 +139,7 @@
         },
         columns,
         bordered: true,
-        pagination: false,
+        // pagination: false,
       });
 
       const [register, { closeModal }] = useModalInner((data) => {
@@ -278,16 +278,11 @@
         // }
         minNumber.lookNum = lookNum;
         minNumber.shotNum = shotNum;
-        let obj = {
-          8: '带看&拍摄员工',
-          81: '带看员工',
-          82: '拍摄员工',
-        };
         insertTableDataRecord({
           nickName: newUser.memoName,
           userName: newUser.phone,
           phone: newUser.phone,
-          roleName: obj[newUser.roleId],
+          roleName: '公司员工',
           roleId: newUser.roleId,
         });
 

+ 41 - 11
src/views/rightsEnterprises/camera.vue

@@ -2,11 +2,8 @@
   <div>
     <BasicTable @register="registerTable">
       <template #toolbar>
-        <a-button
-          v-power="[RoleEnum.COMPANY_ADMIN, RoleEnum.PLAT_ADMIN]"
-          type="primary"
-          @click="handleOpenModal"
-        >
+        <!-- RoleEnum.COMPANY_ADMIN, -->
+        <a-button v-power="[RoleEnum.PLAT_ADMIN]" type="primary" @click="handleOpenModal">
           新增</a-button
         >
       </template>
@@ -14,10 +11,10 @@
         {{ renderStatus(record.state) }}
       </template>
       <template #createTime="{ record }">
-        <Time :value="record.createTime" mode="datetime" />
+        <Time v-show="record.createTime" :value="record.createTime" mode="datetime" />
       </template>
       <template #incrementEndTime="{ record }">
-        <Time :value="record.incrementEndTime" mode="datetime" />
+        <Time v-show="record.incrementEndTime" :value="record.incrementEndTime" mode="datetime" />
       </template>
       <template #action="{ record }">
         <TableAction
@@ -170,25 +167,58 @@
               maxLength: 15,
             },
             colProps: {
-              span: 8,
+              span: 6,
             },
           },
           {
             field: 'staffPhone',
-            label: t('routes.corporation.phone'),
+            label: t('routes.corporation.enterpriseId'),
+            component: 'Input',
+            componentProps: {
+              maxLength: 15,
+            },
+            colProps: {
+              span: 6,
+            },
+            rules: [
+              {
+                required: false,
+                // @ts-ignore
+                validator: async (rule, value) => {
+                  var reg_tel =
+                    /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
+                  // var reg = /\S+@\S+\.\S+/;
+                  if (!value) {
+                    /* eslint-disable-next-line */
+
+                    return Promise.reject(t('common.phone'));
+                  }
+                  if (!reg_tel.test(value)) {
+                    /* eslint-disable-next-line */
+                    return Promise.reject(t('common.phoneError'));
+                  }
+                  return Promise.resolve();
+                },
+                trigger: 'change',
+              },
+            ],
+          },
+          {
+            field: 'snCode',
+            label: t('routes.rightsEnterprises.snCodeText'),
             component: 'Input',
             componentProps: {
               maxLength: 15,
             },
             colProps: {
-              span: 8,
+              span: 6,
             },
           },
         ],
       };
 
       const [registerTable, { reload }] = useTable({
-        title: t('routes.rightsEnterprises.staffList'),
+        title: t('routes.rightsEnterprises.cameraTitle'),
         api: cameraDetailList,
         columns: columns,
         useSearchForm: true,

+ 16 - 13
src/views/rightsEnterprises/cameraList.vue

@@ -155,22 +155,22 @@
               span: 8,
             },
           },
-          {
-            field: 'companyPhone',
-            label: t('routes.rightsEnterprises.companyPhone'),
-            component: 'Input',
-            componentProps: {
-              maxLength: 15,
-            },
-            colProps: {
-              span: 8,
-            },
-          },
+          // {
+          //   field: 'companyPhone',
+          //   label: t('routes.rightsEnterprises.companyPhone'),
+          //   component: 'Input',
+          //   componentProps: {
+          //     maxLength: 15,
+          //   },
+          //   colProps: {
+          //     span: 8,
+          //   },
+          // },
         ],
       };
 
       const [registerTable, { reload }] = useTable({
-        title: t('routes.rightsEnterprises.menuList'),
+        title: t('routes.rightsEnterprises.menuTableList'),
         api: cameraListApi,
         columns: columns,
         useSearchForm: true,
@@ -183,6 +183,7 @@
         pagination: { pageSize: 20 },
         beforeFetch: (T) => {
           return {
+            ...T,
             limit: T.limit,
             page: T.page,
             startTime: T.fieldTime?.[0],
@@ -226,7 +227,9 @@
         });
       }
       function handleCreate() {
-        openModal(true, {});
+        openModal(true, {
+          modify: true,
+        });
       }
       function getNumByStaffData() {
         getNumByStaff({}).then((res) => {

+ 1 - 5
src/views/rightsEnterprises/list.vue

@@ -2,11 +2,7 @@
   <div>
     <BasicTable @register="registerTable" :searchInfo="modelRef">
       <template #toolbar>
-        <a-button
-          v-power="[RoleEnum.COMPANY_ADMIN, RoleEnum.PLAT_ADMIN]"
-          type="primary"
-          @click="handleOpenModal"
-        >
+        <a-button v-power="[RoleEnum.PLAT_ADMIN]" type="primary" @click="handleOpenModal">
           新增</a-button
         >
       </template>

+ 1 - 1
src/views/rightsEnterprises/productDrawer.vue

@@ -4,7 +4,7 @@
     @register="registerDrawer"
     :isDetail="true"
     :showDetailBack="false"
-    showFooter
+    :showFooter="false"
     @ok="handleSubmit"
   >
     <list v-if="typeIf == 'rights'" :companyInfo="modelRef" />

+ 24 - 7
src/views/rightsEnterprises/rightsList.vue

@@ -97,11 +97,12 @@
         {
           title: 'ID',
           dataIndex: 'companyId',
+          ifShow: false,
           fixed: 'left',
           width: 60,
         },
         {
-          title: t('routes.staff.deptName'),
+          title: t('routes.rightsEnterprises.companyName'),
           dataIndex: 'companyName',
           width: 160,
         },
@@ -149,6 +150,14 @@
               span: 8,
             },
           },
+          {
+            field: 'companyName',
+            component: 'Input',
+            label: t('routes.rightsEnterprises.companyName'),
+            colProps: {
+              span: 8,
+            },
+          },
         ],
       };
 
@@ -161,21 +170,29 @@
         showTableSetting: true,
         tableSetting: { fullScreen: true },
         showIndexColumn: true,
-        rowKey: 'id',
         pagination: { pageSize: 20 },
+        clickToRowSelect: false,
+        bordered: true,
+        rowKey: 'companyId',
+        fetchSetting: {
+          pageField: 'page',
+          sizeField: 'limit',
+          listField: 'list',
+          totalField: 'totalCount',
+        },
         beforeFetch: (T) => {
           return {
+            ...T,
             limit: T.limit,
             page: T.page,
             startTime: T.fieldTime?.[0],
             endTime: T.fieldTime?.[1],
           };
         },
-        bordered: true,
-        sortFn: (sortInfo) => {
-          let order = sortInfo.order && sortInfo.order.replace('end', '');
-          return { ...sortInfo, sidx: sortInfo.field, order: order };
-        },
+        // sortFn: (sortInfo) => {
+        //   let order = sortInfo.order && sortInfo.order.replace('end', '');
+        //   return { ...sortInfo, sidx: sortInfo.field, order: order };
+        // },
       });
 
       function renderRoleType(type: number): string {

+ 29 - 25
src/views/scenes/list.vue

@@ -19,31 +19,35 @@
       </template>
       <template #action="{ record }">
         <TableAction
-          :actions="[
-            {
-              // icon: 'mdi:briefcase-download',
-              label: t('routes.scenes.downloadScene'),
-              popConfirm: {
-                title: t('routes.scenes.downloadSceneConfirm'),
-                confirm: handleDownloadScene.bind(null, record),
-              },
-            },
-            {
-              color: 'error',
-              label: t('routes.scenes.editor'),
-              onClick: openSceneEditor.bind(null, record),
-            },
-            {
-              label: '编辑场景',
-              onClick: openSceneEditorModal.bind(null, record),
-            },
-            {
-              color: 'error',
-              label: t('routes.scenes.makeLiveCover'),
-              ifShow: record.lived !== true,
-              onClick: generateDefaultLiveRoom.bind(null, record),
-            },
-          ]"
+          :actions="
+            record.payStatus == 1
+              ? [
+                  {
+                    // icon: 'mdi:briefcase-download',
+                    label: t('routes.scenes.downloadScene'),
+                    popConfirm: {
+                      title: t('routes.scenes.downloadSceneConfirm'),
+                      confirm: handleDownloadScene.bind(null, record),
+                    },
+                  },
+                  {
+                    color: 'error',
+                    label: t('routes.scenes.editor'),
+                    onClick: openSceneEditor.bind(null, record),
+                  },
+                  {
+                    label: '编辑场景',
+                    onClick: openSceneEditorModal.bind(null, record),
+                  },
+                  {
+                    color: 'error',
+                    label: t('routes.scenes.makeLiveCover'),
+                    ifShow: record.lived !== true,
+                    onClick: generateDefaultLiveRoom.bind(null, record),
+                  },
+                ]
+              : []
+          "
         />
       </template>
     </BasicTable>

+ 3 - 0
src/views/staff/clean.vue

@@ -25,6 +25,9 @@
           colProps: {
             span: 8,
           },
+          componentProps: {
+            // type:"number"
+          },
           rules: [
             {
               required: true,

+ 23 - 5
src/views/staff/detailsModal.vue

@@ -14,7 +14,7 @@
 <script lang="ts">
   import { defineComponent, ref, computed } from 'vue';
   import { checkUserApi, saveApi, updateApi, getRoleListByParam } from '/@/api/staff/list'; //roleLIstApi
-  import { allListType } from '/@/api/rightsEnterprises/list';
+  import { getAllList } from '/@/api/rightsEnterprises/list';
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { ListAllCompanyApi } from '/@/api/corporation/list';
@@ -142,6 +142,7 @@
               limit: 1000,
             },
             required: true,
+            onChange: companyIdChange,
           },
         },
         {
@@ -174,14 +175,15 @@
             span: 22,
           },
           componentProps: {
-            api: allListType,
-            labelField: 'permType',
+            api: getAllList,
+            labelField: 'permName',
             valueField: 'id',
             immediate: true,
             mode: 'multiple',
             params: {
               page: 1,
               limit: 100,
+              // companyId:
             },
             required: true,
           },
@@ -235,7 +237,7 @@
             field: 'roleId',
             component: 'ApiSelect',
             componentProps: {
-              disabled: false,
+              disabled: data.id ? getCheckRole('plat_admin') : false,
               api: getRoleListByParam,
               labelField: 'roleName',
               valueField: 'roleId',
@@ -260,6 +262,7 @@
           {
             field: 'permList',
             componentProps: {
+              disabled: data.id ? true : false,
               params: {
                 companyId: data.companyId || companyId,
               },
@@ -269,7 +272,22 @@
         title.value = data.id ? '编辑' : '新增';
         updateSchema(setSchema);
       }
-
+      function companyIdChange(companyId) {
+        // resetFields(['permList'])
+        updateSchema([
+          {
+            field: 'permList',
+            componentProps: {
+              params: {
+                companyId: companyId,
+              },
+            },
+          },
+        ]);
+        setFieldsValue({
+          permList: [],
+        });
+      }
       async function handleOk() {
         let data = await validate();
         const requestApi = data.id ? updateApi : saveApi;