zhudie преди 2 години
родител
ревизия
b4d1932c2c

+ 13 - 0
src/api/camera/camera-share.ts

@@ -81,3 +81,16 @@ export const addShareCameraList = (data: CameraShareType) => {
     data,
   });
 };
+
+interface VerifyReturn {
+  tenantName: string;
+  tenantId: number;
+}
+
+/** 验证*/
+export const getVerify = (tenantCode: string) => {
+  return http.request<VerifyReturn>({
+    url: `/cameraTenant/check?tenantCode=${tenantCode}`,
+    method: 'GET',
+  });
+};

+ 53 - 31
src/views/cameras/overview/components/ShareCameraDetail.vue

@@ -9,9 +9,9 @@
         label-width="84px"
         label-position="left"
       >
-        <el-form-item label="企业账号:" prop="account" style="margin-right: 100px">
+        <el-form-item label="企业账号:" prop="tenantCode" style="margin-right: 100px">
           <el-input
-            v-model="shareData.account"
+            v-model="shareData.tenantCode"
             placeholder="请输入企业账号"
             class="company-input"
           />
@@ -24,8 +24,8 @@
             >验证</el-button
           >
         </el-form-item>
-        <el-form-item label="权限设置:" prop="authority">
-          <el-radio-group v-model="shareData.authority" class="ml-4">
+        <el-form-item label="权限设置:" prop="permission">
+          <el-radio-group v-model="shareData.permission" class="ml-4">
             <el-radio v-for="item in authorityTypeSelect" :label="item.value" :key="item.value">{{
               item.label
             }}</el-radio>
@@ -33,17 +33,17 @@
         </el-form-item>
         <el-form-item
           label="企业名称:"
-          prop="name"
+          prop="tenantName"
           class="company-name"
           style="margin-right: 160px"
         >
           <el-input
-            v-model="shareData.name"
+            v-model="shareData.tenantName"
             placeholder="请输入企业账号"
             readonly
             style="width: 200px; height: 32px"
           />
-          <div v-if="shareData.name" class="verify-success">账号验证成功</div>
+          <div v-if="shareData.tenantName" class="verify-success">账号验证成功</div>
         </el-form-item>
         <el-form-item label="分享时间:" prop="time">
           <el-radio-group v-model="shareData.time" class="ml-4" @change="changeTime">
@@ -63,12 +63,12 @@
           >
         </el-form-item>
         <el-form-item label="备注:" prop="notes">
-          <el-input v-model="shareData.notes" placeholder="请输入备注" style="width: 765px" />
+          <el-input v-model="shareData.remark" placeholder="请输入备注" style="width: 765px" />
         </el-form-item>
         <el-button type="primary" @click="handleConfirm" class="confirm">确定</el-button>
         <el-form-item label="分享企业:" prop="shareList" class="company-table">
           <BasicTable
-            :columns="columns"
+            :columns="getColumns(handleEditState)"
             :data-source="cameraShareList"
             :row-key="(row) => row.code"
             :action-column="actionColumn"
@@ -98,6 +98,7 @@
   import deleteIcon from '@/assets/images/table/table-delete.png';
   import { rules, authorityTypeSelect, timeTypeSelect, columns, getColumns } from '../constant';
   import useCameraShare from '../stores/useCameraShare';
+  import { getVerify } from '@/api/camera/camera-share';
 
   const useShare = useCameraShare();
   const {
@@ -114,19 +115,22 @@
 
   const props = defineProps<{ formData?: CameraShowItem | null }>();
 
-  // onMounted(() => {
-  //   //获取数据
-  //   queryCameraId.value = props.formData?.code;
-  //   conditionSearch();
-  // });
+  // onMounted(() => {});
+  onMounted(() => {
+    //获取数据
+    queryCameraId.value = props.formData?.id;
+    console.log('queryCameraId', props.formData?.code);
+    conditionSearch();
+  });
 
   const shareData = ref<CameraShareItem>({
-    account: undefined,
-    authority: 'look',
-    name: '',
+    tenantCode: undefined,
+    toTenantId: undefined,
+    permission: '0',
+    tenantName: '',
     time: 'Indefinite',
     days: undefined,
-    notes: '',
+    remark: '',
     shareList: [],
   });
 
@@ -134,12 +138,12 @@
   const handleEditState = (row) => {
     const editData = {
       id: row.id as number,
-      networkingState: row.networkingState === 0 ? 1 : 0,
+      connected: row.connected ? false : true,
     };
     handleEdit(editData);
   };
   //列其中的编辑
-  const getcolumns = getColumns(handleEditState);
+  // const getcolumns = getColumns(handleEditState);
 
   const handleDelete = (row) => {
     const indexToRemove = shareData.value.shareList.findIndex((item) => item.name === row.name);
@@ -178,7 +182,11 @@
   });
 
   const verifyAccount = () => {
-    shareData.value.name = 'C' + shareData.value.account;
+    // shareData.value.name = 'C' + shareData.value.account;
+    getVerify(shareData.value.tenantCode!).then((res) => {
+      shareData.value.tenantName = res.tenantName;
+      shareData.value.toTenantId = res.tenantId;
+    });
   };
 
   const changeTime = () => {
@@ -189,18 +197,32 @@
 
   const handleConfirm = () => {
     //接口
-    // const addShareItem = {
-    //   ...props.formData,
-    //   ...shareData,
-    // };
-    // queryCameraId.value = props.formData?.code;
-    // handleAdd(addShareItem); //数据未调整
+    // console.log('shareData', shareData.value);
+    // const currentDate = new Date();
+    // console.log('currentDate', currentDate);
+    console.log('props.formData', props.formData);
+    console.log('shareData.value', shareData.value);
+
     const addShareItem = {
-      name: shareData.value.name,
-      account: shareData.value.account!,
-      networkingState: props.formData?.networkingState,
+      cameraId: props.formData?.id,
+      toTenantId: shareData.value.toTenantId,
+      // tenantCode: shareData.value.tenantCode,
+      permission: shareData.value.permission,
+      // tenantName: shareData.value.tenantName,
+      endTime: '2023-03-12 12:45:44',
+      isAdd: false,
+      remark: shareData.value.remark,
+      // ...props.formData,
     };
-    shareData.value.shareList.push(addShareItem);
+
+    handleAdd(addShareItem); //数据未调整
+
+    // const addShareItem = {
+    //   name: shareData.value.name,
+    //   account: shareData.value.account!,
+    //   networkingState: props.formData?.networkingState,
+    // };
+    // shareData.value.shareList.push(addShareItem);
   };
 </script>
 

+ 11 - 11
src/views/cameras/overview/constant.ts

@@ -208,11 +208,11 @@ type CameraShareFormItem = {
 
 export const authorityTypeSelect = [
   {
-    value: 'look',
+    value: '0',
     label: '仅可查看',
   },
   {
-    value: 'operate',
+    value: '1',
     label: '可远程控制',
   },
 ];
@@ -282,9 +282,9 @@ export const cameraShareForm: CameraShareFormItem[] = [
 ];
 
 export const rules = {
-  account: [{ required: true, message: '请输入企业账号', trigger: 'blur' }],
-  authority: [{ required: true, message: '', trigger: 'change' }],
-  name: [{ required: true, message: '请输入企业名称', trigger: 'change' }],
+  tenantCode: [{ required: true, message: '请输入企业账号', trigger: 'blur' }],
+  permission: [{ required: true, message: '', trigger: 'change' }],
+  tenantName: [{ required: true, message: '', trigger: 'change' }],
   time: [{ required: true, message: '', trigger: 'change' }],
   shareList: [{ required: true, message: '', trigger: 'blur' }],
 };
@@ -348,12 +348,12 @@ export const getColumns = (edit: Function): BasicColumn[] => {
   return [
     {
       label: '联网状态',
-      prop: 'networkingState',
+      prop: 'connected',
       render(record) {
         return h(
           'img',
           {
-            src: record.row.networkingState === 0 ? unConnectedIcon : connectedIcon,
+            src: record.row.networkingState ? connectedIcon : unConnectedIcon,
             style:
               'width: 20px; height: 20px; object-fit: fill; display: inline-block; line-height: 20px; vertical-align: middle;',
           },
@@ -366,17 +366,17 @@ export const getColumns = (edit: Function): BasicColumn[] => {
     },
     {
       label: '名称',
-      prop: 'name',
+      prop: 'tenantName',
       minWidth: 200,
     },
     {
       label: '账号',
-      prop: 'account',
+      prop: 'tenantCode',
       minWidth: 200,
     },
     {
       label: '联网状态',
-      prop: 'networkingState',
+      prop: 'connected',
       render(record) {
         // const updateNetworkingState = (row) => {
         //   if (row.networkingState === 0) {
@@ -392,7 +392,7 @@ export const getColumns = (edit: Function): BasicColumn[] => {
           },
           {
             default: () => {
-              return record.row.networkingState === 0 ? '分享' : '断开分享';
+              return record.row.connected ? '断开分享' : '分享';
             },
           },
         );

+ 2 - 0
src/views/cameras/overview/stores/useCameraShare.ts

@@ -49,6 +49,8 @@ export const useCameraShared = () => {
         params.tenantCode = queryAccount.value;
       }
       if (queryCameraId.value) {
+        console.log('aa');
+
         params.cameraId = queryCameraId.value;
       }
       if (queryToTenantId.value) {

+ 5 - 4
src/views/cameras/overview/type.ts

@@ -65,17 +65,18 @@ interface CompanyShareItem {
 
 export interface CameraShareItem {
   /** 企业账号 */
-  account: number | undefined;
+  tenantCode: string | undefined;
+  toTenantId?: number;
   /** 权限设置 */
-  authority: string;
+  permission: string;
   /** 企业名称 */
-  name: string;
+  tenantName: string;
   /** 分享时间 */
   time?: string;
   /** 分享的有限期时间 */
   days?: number;
   /** 备注 */
-  notes?: string;
+  remark?: string;
   /** 密码 */
   shareList: CompanyShareItem[];
 }