tangning vor 2 Jahren
Ursprung
Commit
6e025f7764

+ 16 - 4
src/api/device/index.ts

@@ -1,5 +1,5 @@
 import { defHttp } from '/@/utils/http/axios';
-import { PageParams} from './model';
+import { PageParams } from './model';
 import { Result } from '/#/axios';
 
 enum Api {
@@ -8,6 +8,7 @@ enum Api {
   getOut = '/service/manage/camera/out',
   getDelete = '/service/manage/camera/delete',
   getIn = '/service/manage/camera/in',
+  updateCameraType = '/service/manage/camera/updateCameraType',
 }
 
 export const cameraParam = (params: PageParams) =>
@@ -32,7 +33,7 @@ export const cameraDelete = (params: PageParams) =>
     },
   });
 
-  export const cameraUpdate = (params: PageParams) =>
+export const cameraUpdate = (params: PageParams) =>
   defHttp.post<Result>({
     url: Api.getUpdate,
     params: params,
@@ -43,7 +44,18 @@ export const cameraDelete = (params: PageParams) =>
     },
   });
 
-  export const cameraOut = (params: PageParams) =>
+export const updateCameraType = (params: PageParams) =>
+  defHttp.post<Result>({
+    url: Api.updateCameraType,
+    params: params,
+    // data: params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
+
+export const cameraOut = (params: PageParams) =>
   defHttp.post<Result>({
     url: Api.getOut,
     params: params,
@@ -63,4 +75,4 @@ export const cameraIn = (params: PageParams) =>
       // @ts-ignore
       ignoreCancelToken: true,
     },
-});
+  });

+ 45 - 0
src/api/parameter/index.ts

@@ -0,0 +1,45 @@
+import { defHttp } from '/@/utils/http/axios';
+import { Result } from '/#/axios';
+
+enum Api {
+  modelingConfigList = '/service/manage/modelingConfig/list',
+  modelingConfigSaveOrUpdate = '/service/manage/modelingConfig/saveOrUpdate',
+  modelingConfigDelete = '/service/manage/modelingConfig/delete',
+}
+
+/**
+ * @description: Get sample list value
+ */
+
+export const modelingConfigList = (params) =>
+  defHttp.post<Result>({
+    url: Api.modelingConfigList,
+    params: params,
+    // data: params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
+
+export const modelingConfigSaveOrUpdate = (params) =>
+  defHttp.post<Result>({
+    url: Api.modelingConfigSaveOrUpdate,
+    params: params,
+    // data: params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
+
+export const modelingConfigDelete = (params) =>
+  defHttp.post<Result>({
+    url: Api.modelingConfigDelete,
+    params: params,
+    // data: params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });

+ 163 - 0
src/views/device/editModal.vue

@@ -0,0 +1,163 @@
+<template>
+  <BasicModal
+    v-bind="$attrs"
+    @register="register"
+    title="编辑"
+    @visible-change="handleVisibleChange"
+    @cancel="resetFields"
+    @ok="handleSubmit"
+  >
+    <div class="pt-2px pr-3px">
+      <BasicForm @register="registerForm" :model="model">
+        <template #text="{ model, field }">
+          {{ model[field] }}
+        </template>
+      </BasicForm>
+    </div>
+  </BasicModal>
+</template>
+<script lang="ts">
+  import { defineComponent, ref, onMounted, reactive } from 'vue';
+  import { BasicModal, useModalInner } from '/@/components/Modal';
+  import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
+  import { useMessage } from '/@/hooks/web/useMessage';
+  import { companyList } from '/@/api/customer';
+  // import { sceneMove } from '/@/api/operate';
+  import { downTemplate } from '/@/api/customer';
+  import { updateCameraType } from '/@/api/device';
+  import { agentNewList } from '/@/api/dealer';
+  import { CameraList } from '/@/api/order';
+  import { useI18n } from '/@/hooks/web/useI18n';
+  import dayjs from 'dayjs';
+  const { t } = useI18n();
+  interface Option {
+    value: string;
+  }
+
+  export default defineComponent({
+    components: { BasicModal, BasicForm },
+    props: {
+      userData: { type: Object },
+    },
+    emits: ['reload'],
+    setup(_, { emit }) {
+      const modelRef = ref({
+        isUpdate: false,
+      });
+      const { createMessage } = useMessage();
+      const schemas: FormSchema[] = [
+        {
+          field: 'id',
+          component: 'Input',
+          label: 'id',
+          show: false,
+        },
+        {
+          field: 'cameraType',
+          component: 'Select',
+          label: '设备类型',
+          required: true,
+          colProps: {
+            span: 18,
+          },
+          componentProps: {
+            options: [
+              {
+                label: t('routes.product.type.1'),
+                value: '1',
+                key: '1',
+              },
+              {
+                label: t('routes.product.type.9'),
+                value: '9',
+                key: '9',
+              },
+              {
+                label: t('routes.product.type.10'),
+                value: '10',
+                key: '10',
+              },
+              {
+                label: t('routes.product.type.11'),
+                value: '11',
+                key: '1',
+              },
+            ],
+          },
+        },
+      ];
+      const [registerForm, { validate, resetFields, setFieldsValue }] = useForm({
+        labelWidth: 120,
+        schemas,
+        showActionButtonGroup: false,
+        actionColOptions: {
+          span: 24,
+        },
+      });
+      onMounted(() => {});
+      let addListFunc = () => {};
+      const [register, { closeModal }] = useModalInner((data) => {
+        // console.log(data);
+        data && onDataReceive(data);
+      });
+
+      function onDataReceive(data) {
+        modelRef.value = data;
+        const { type } = data;
+        resetFields();
+        setFieldsValue({
+          ...data,
+          cameraType: type,
+        });
+      }
+
+      const handleSubmit = async () => {
+        try {
+          const params = await validate();
+          console.log('params', params);
+          const res = await updateCameraType(params);
+          console.log('res', res);
+          closeModal();
+          resetFields();
+          createMessage.success(t('common.optSuccess'));
+          emit('reload');
+        } catch (error) {
+          console.log('not passing', error);
+        }
+      };
+      function onFilterOption(inputText: string, option: Option) {
+        if (option.label) {
+          return option.label.toUpperCase().indexOf(inputText.toUpperCase()) >= 0;
+        }
+        return option.value.toUpperCase().indexOf(inputText.toUpperCase()) >= 0;
+      }
+
+      function handleVisibleChange(v) {
+        // console.log(v);
+        // v && props.userData && nextTick(() => onDataReceive(props.userData));
+      }
+
+      async function getTemplate() {
+        try {
+          const res = await downTemplate({ type: 2 });
+          console.log('res', res);
+        } catch (error) {
+          console.log('not passing', error);
+        }
+      }
+      return {
+        register,
+        schemas,
+        registerForm,
+        model: modelRef,
+        handleVisibleChange,
+        onFilterOption,
+        handleSubmit,
+        addListFunc,
+        resetFields,
+        t,
+        getTemplate,
+      };
+    },
+  });
+</script>

+ 18 - 10
src/views/device/index.vue

@@ -12,24 +12,27 @@
             stopButtonPropagation
             :actions="[
               {
-                label: '删除',
-                color: 'error',
-                ifShow: getCheckPerm('device-delete') && !(Boolean(record.outType) || Boolean(record.userName)),
-                onClick: handleDelete.bind(null, record),
-              },{
                 label: '出库',
                 ifShow: getCheckPerm('device-out') && !Boolean(record.outType),
                 onClick: handleCheckout.bind(null, record),
-              },{
+              },
+              {
                 label: '编辑',
-                ifShow: getCheckPerm('device-update') && Boolean(record.outType),
+                //ifShow: getCheckPerm('device-update') && Boolean(record.outType),
                 onClick: handleEdit.bind(null, record),
-              },{
+              },
+              {
                 label: '解绑',
                 ifShow: getCheckPerm('device-unbind') && Boolean(record.userName),
                 color: 'error',
                 onClick: handleUnbind.bind(null, record),
               },
+              {
+                label: '删除',
+                color: 'error',
+                ifShow: getCheckPerm('device-delete') && !(Boolean(record.outType) || Boolean(record.userName)),
+                onClick: handleDelete.bind(null, record),
+              },
             ]"
           />
         </template>
@@ -39,6 +42,7 @@
     <detailModal @register="register" @reload="reload" />
     <batchPutModal @register="registerPut" @reload="reload" />
     <PutModal @register="registerEnter" @reload="reload" />
+    <editModal @register="registerEditModal" @reload="reload" />
   </PageWrapper>
 </template>
 <script lang="ts">
@@ -61,6 +65,7 @@
   import detailModal from './detailsMoadl.vue';
   import batchPutModal from './batchPutModal.vue';
   import PutModal from './putModal.vue';
+  import editModal from './editModal.vue';
   import { useModal } from '/@/components/Modal';
   import { useRouter } from 'vue-router';
   import { UnbindCameraApi } from '/@/api/account';
@@ -72,6 +77,7 @@ import { lte } from 'lodash';
       TableAction,
       PageWrapper,
       TableImg,
+      editModal,
       batchOutflowModal,
       detailModal,
       batchPutModal,
@@ -85,6 +91,7 @@ import { lte } from 'lodash';
       const permissionStore = usePermissionStore();
       const { getCheckPerm } = permissionStore;
       const [registerLinkModal, { openModal: openLinkModal }] = useModal();
+      const [registerEditModal, { openModal: openEditModal }] = useModal();
       const [register, { openModal }] = useModal();
       const [registerPut, { openModal: openModalPut }] = useModal();
       const [registerEnter, { openModal: openModalEnter }] = useModal();
@@ -184,7 +191,7 @@ import { lte } from 'lodash';
           ifShow: true,
           fixed: 'right',
           flag: 'ACTION',
-          width: 120,
+          width: 160,
         },
       ];
       const searchForm: Partial<FormProps> = {
@@ -404,7 +411,7 @@ import { lte } from 'lodash';
         });
       }
       function handleEdit(record: Recordable) {
-        openModal(true, {
+        openEditModal(true, {
           ...record,
           isUpdate: true,
         });
@@ -432,6 +439,7 @@ import { lte } from 'lodash';
         batchOutflow,
         handleEdit,
         handleCheckout,
+        registerEditModal,
         reload,
         handleDelete,
         registerPut,

+ 20 - 4
src/views/empower/algorithm.vue

@@ -2,22 +2,27 @@
   <div>
     <BasicTable @register="registerTable">
       <template #toolbar>
-        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('dealer-export')"
+        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('algorithm-add')"
           >授权</a-button
         >
       </template>
+      <template #copy="{ record }">
+        <a @click="handleCopy(record.authorizeKey)">
+          {{ record.authorizeKey }}
+        </a>
+      </template>
       <template #action="{ record }">
         <TableAction
           :actions="[
             {
               label: '编辑',
-              //ifShow: getCheckPerm('account-equityEdit'),
+              ifShow: getCheckPerm('algorithm-updata'),
               onClick: handleEdit.bind(null, record),
             },
             {
               label: '删除',
               color: 'error',
-              //ifShow: getCheckPerm('account-equityDelete'),
+              ifShow: getCheckPerm('algorithm-delete'),
               onClick: handleDelete.bind(null, record),
             },
           ]"
@@ -98,6 +103,7 @@
         {
           title: '算法授权Key',
           ellipsis: true,
+          slots: { customRender: 'copy' },
           dataIndex: 'authorizeKey',
           width: 120,
         },
@@ -231,14 +237,24 @@
           },
         });
       }
+      function handleCopy(str: string) {
+        let save = function (e) {
+          e.clipboardData.setData('text/plain', str);
+          e.preventDefault(); //阻止默认行为
+        };
+        document.addEventListener('copy', save); //添加一个copy事件
+        document.execCommand('copy'); //执行copy方法
+        createMessage.success('复制成功');
+      }
       function handleEdit(record = {}) {
         openModal(true, {
           ...record,
-          authorizeTime:`${record.authorizeTime || '10'}_${record.authorizeTimeUnit || '1'}`
+          authorizeTime: `${record.authorizeTime || '10'}_${record.authorizeTimeUnit || '1'}`,
         });
       }
       return {
         registerTable,
+        handleCopy,
         handleDelete,
         reload,
         register,

+ 19 - 3
src/views/empower/camera.vue

@@ -6,23 +6,28 @@
           >授权</a-button
         >
       </template>
+      <template #copy="{ record }">
+        <a @click="handleCopy(record.authorizeKey)">
+          {{ record.authorizeKey }}
+        </a>
+      </template>
       <template #action="{ record }">
         <TableAction
           :actions="[
             {
               label: '详情',
-              //ifShow: getCheckPerm('account-equityEdit'),
+              ifShow: getCheckPerm('empowerCamera-detail'),
               onClick: handleDetail.bind(null, record),
             },
             {
               label: '编辑',
-              //ifShow: getCheckPerm('account-equityEdit'),
+              ifShow: getCheckPerm('empowerCamera-updata'),
               onClick: handleEdit.bind(null, record),
             },
             {
               label: '删除',
               color: 'error',
-              //ifShow: getCheckPerm('account-equityDelete'),
+              ifShow: getCheckPerm('empowerCamera-delete'),
               onClick: handleDelete.bind(null, record),
             },
           ]"
@@ -116,6 +121,7 @@
         {
           title: '相机授权Key',
           ellipsis: true,
+          slots: { customRender: 'copy' },
           dataIndex: 'authorizeKey',
           width: 120,
         },
@@ -256,8 +262,18 @@
       function handleDetail(record = {}) {
         opendetailModel(true, record);
       }
+      function handleCopy(str: string) {
+        let save = function (e) {
+          e.clipboardData.setData('text/plain', str);
+          e.preventDefault(); //阻止默认行为
+        };
+        document.addEventListener('copy', save); //添加一个copy事件
+        document.execCommand('copy'); //执行copy方法
+        createMessage.success('复制成功');
+      }
       return {
         registerTable,
+        handleCopy,
         handleDelete,
         reload,
         register,

+ 5 - 1
src/views/empower/detailModel.vue

@@ -12,13 +12,16 @@
         <div class="table_list">
           <BasicTable @register="registerSubtable">
             <template #toolbar>
-              <a-button type="primary" @click="handllogList">更换记录</a-button>
+              <a-button type="primary" @click="handllogList" v-if="getCheckPerm('empowerCamera-loglist')" 
+              >更换记录</a-button
+              >
             </template>
             <template #action="{ record }">
               <TableAction
                 :actions="[
                   {
                     label: '更换',
+                    ifShow: getCheckPerm('empowerCamera-change'),
                     onClick: handleUpdataSn.bind(null, record, 'edit'),
                   },
                 ]"
@@ -154,6 +157,7 @@
         reload,
         handleUpdataSn,
         handllogList,
+        getCheckPerm,
         t,
       };
     },

+ 19 - 3
src/views/empower/install.vue

@@ -2,22 +2,27 @@
   <div>
     <BasicTable @register="registerTable">
       <template #toolbar>
-        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('dealer-export')"
+        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('install-add')"
           >授权</a-button
         >
       </template>
+      <template #copy="{ record }">
+        <a @click="handleCopy(record.authorizeKey)">
+          {{ record.authorizeKey }}
+        </a>
+      </template>
       <template #action="{ record }">
         <TableAction
           :actions="[
             {
               label: '编辑',
-              //ifShow: getCheckPerm('account-equityEdit'),
+              ifShow: getCheckPerm('install-updata'),
               onClick: handleEdit.bind(null, record),
             },
             {
               label: '删除',
               color: 'error',
-              //ifShow: getCheckPerm('account-equityDelete'),
+              ifShow: getCheckPerm('install-delete'),
               onClick: handleDelete.bind(null, record),
             },
           ]"
@@ -107,6 +112,7 @@
         {
           title: '安装Key',
           ellipsis: true,
+          slots: { customRender: 'copy' },
           dataIndex: 'authorizeKey',
           width: 120,
         },
@@ -223,6 +229,15 @@
         rowKey: 'id',
         canResize: true,
       });
+      function handleCopy(str: string) {
+        let save = function (e) {
+          e.clipboardData.setData('text/plain', str);
+          e.preventDefault(); //阻止默认行为
+        };
+        document.addEventListener('copy', save); //添加一个copy事件
+        document.execCommand('copy'); //执行copy方法
+        createMessage.success('复制成功');
+      }
       async function handleDelete(record) {
         createConfirm({
           iconType: 'warning',
@@ -240,6 +255,7 @@
       }
       return {
         registerTable,
+        handleCopy,
         handleDelete,
         reload,
         register,

+ 5 - 7
src/views/parameter/EditModal.vue

@@ -23,14 +23,12 @@
 <script lang="ts">
   import { defineComponent, nextTick, onMounted, reactive } from 'vue';
   import { BasicModal, useModalInner } from '/@/components/Modal';
-  import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
+  import { BasicForm, useForm } from '/@/components/Form/index';
   import { TableImg } from '/@/components/Table';
   import { useMessage } from '/@/hooks/web/useMessage';
-  import { InvoiceRegister, InvoiceDetail } from '/@/api/order';
+  import { modelingConfigSaveOrUpdate } from '/@/api/parameter';
   import { useI18n } from '/@/hooks/web/useI18n';
-  import { uploadApi } from '/@/api/product/index';
-  import { ResultEnum } from '/@/enums/httpEnum';
-  import { InvoiceSchemas } from './data'
+  import { InvoiceSchemas } from './data';
   const { t } = useI18n();
   export default defineComponent({
     components: { BasicModal, BasicForm, TableImg },
@@ -44,7 +42,7 @@
       })
       const { createMessage } = useMessage();
 
-      const [registerForm, { validate, resetFields, setFieldsValue, updateSchema }] = useForm({
+      const [registerForm, { validate, resetFields, setFieldsValue }] = useForm({
         labelWidth: 120,
         schemas:InvoiceSchemas,
         showActionButtonGroup: false,
@@ -64,7 +62,7 @@
       }
       const handleSubmit = async () => {
         const values = await validate();
-        await addDowm(values);
+        await modelingConfigSaveOrUpdate(values);
         closeModal();
         emit('update', true);
       };

+ 39 - 69
src/views/parameter/data.tsx

@@ -7,19 +7,19 @@ const { t } = useI18n();
 
 export const columns: BasicColumn[] = [
   {
-    title: 'camera_name',
-    dataIndex: 'camera_name',
+    title: 'cameraName',
+    dataIndex: 'cameraName',
     ellipsis: false,
     width: 100,
   },
   {
-    title: 'camera_type',
-    dataIndex: 'camera_type',
+    title: 'cameraType',
+    dataIndex: 'cameraType',
     width: 80,
   },
   {
-    title: 'scene_source',
-    dataIndex: 'scene_source',
+    title: 'sceneSource',
+    dataIndex: 'sceneSource',
     width: 80,
   },
   {
@@ -28,48 +28,36 @@ export const columns: BasicColumn[] = [
     width: 80,
   },
   {
-    title: 'scene_resolution',
-    dataIndex: 'scene_resolution',
+    title: 'sceneResolution',
+    dataIndex: 'sceneResolution',
     width: 50,
   },
   {
-    title: 'scene_from',
-    dataIndex: 'scene_from',
+    title: 'sceneFrom',
+    dataIndex: 'sceneFrom',
     width: 100,
   },
   {
-    title: 'scene_kind',
-    dataIndex: 'scene_kind',
+    title: 'sceneKind',
+    dataIndex: 'sceneKind',
     // slots: { customRender: 'orderStatus' },
     width: 100,
   },
   {
-    title: 'skybox_type',
-    dataIndex: 'skybox_type',
+    title: 'skyboxType',
+    dataIndex: 'skyboxType',
     // slots: { customRender: 'orderStatus' },
     width: 100,
   },
   {
-    title: 'app_obj_split_type',
-    dataIndex: 'app_obj_split_type',
+    title: 'appObjSplitType',
+    dataIndex: 'appObjSplitType',
     // slots: { customRender: 'orderStatus' },
     width: 100,
   },
   {
-    title: 'pc_obj_split_type',
-    dataIndex: 'pc_obj_split_type',
-    // slots: { customRender: 'orderStatus' },
-    width: 100,
-  },
-  {
-    title: '场景码前缀',
-    dataIndex: 'scene_kind',
-    // slots: { customRender: 'orderStatus' },
-    width: 100,
-  },
-  {
-    title: 'wifi前缀',
-    dataIndex: 'scene_kind',
+    title: 'pcObjSplitType',
+    dataIndex: 'pcObjSplitType',
     // slots: { customRender: 'orderStatus' },
     width: 100,
   },
@@ -78,7 +66,7 @@ export const searchForm: Partial<FormProps> = {
   labelWidth: 100,
   schemas: [
     {
-      field: 'orderSn',
+      field: 'cameraName',
       label: '设备名称',
       component: 'Input',
       componentProps: {
@@ -103,28 +91,28 @@ export const InvoiceSchemas: FormSchema[] = [
     },
   },
   {
-    field: 'camera_name',
+    field: 'cameraName',
     component: 'Input',
     required: true,
-    label: 'camera_name',
+    label: 'cameraName',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'camera_type',
+    field: 'cameraType',
     required: true,
     component: 'Input',
-    label: 'camera_type',
+    label: 'cameraType',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'scene_source',
+    field: 'sceneSource',
     component: 'Input',
     required: true,
-    label: 'scene_source',
+    label: 'sceneSource',
     colProps: {
       span: 18,
     },
@@ -139,82 +127,64 @@ export const InvoiceSchemas: FormSchema[] = [
     },
   },
   {
-    field: 'scene_resolution',
-    component: 'Input',
-    required: true,
-    label: 'scene_resolution',
-    colProps: {
-      span: 18,
-    },
-  },
-  {
-    field: 'scene_from',
-    component: 'Input',
-    required: true,
-    label: 'scene_from',
-    colProps: {
-      span: 18,
-    },
-  },
-  {
-    field: 'scene_kind',
+    field: 'sceneResolution',
     component: 'Input',
     required: true,
-    label: 'scene_kind',
+    label: 'sceneResolution',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'split_type',
+    field: 'sceneFrom',
     component: 'Input',
     required: true,
-    label: 'split_type',
+    label: 'sceneFrom',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'skybox_type',
+    field: 'sceneKind',
     component: 'Input',
     required: true,
-    label: 'skybox_type',
+    label: 'sceneKind',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'app_obj_split_type',
+    field: 'splitType',
     component: 'Input',
     required: true,
-    label: 'app_obj_split_type',
+    label: 'splitType',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'pc_obj_split_type',
+    field: 'skyboxType',
     component: 'Input',
     required: true,
-    label: 'pc_obj_split_type',
+    label: 'skyboxType',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'camera_name',
+    field: 'appObjSplitType',
     component: 'Input',
     required: true,
-    label: '场景码前缀',
+    label: 'appObjSplitType',
     colProps: {
       span: 18,
     },
   },
   {
-    field: 'camera_name',
+    field: 'pcObjSplitType',
     component: 'Input',
     required: true,
-    label: 'wifi前缀',
+    label: 'pcObjSplitType',
     colProps: {
       span: 18,
     },

+ 9 - 30
src/views/parameter/index.vue

@@ -2,7 +2,7 @@
   <div>
     <BasicTable @register="registerTable">
       <template #toolbar>
-        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('invoice-export')">
+        <a-button type="primary" @click="handleEdit" v-if="getCheckPerm('parameter-add')">
           新增设备类型</a-button
         >
       </template>
@@ -12,13 +12,13 @@
           :actions="[
             {
               label: '编辑',
-              //ifShow: getCheckPerm('account-equityEdit'),
+              ifShow: getCheckPerm('parameter-updata'),
               onClick: handleEdit.bind(null, record),
             },
             {
               label: '删除',
               color: 'error',
-              //ifShow: getCheckPerm('account-equityDelete'),
+              ifShow: getCheckPerm('parameter-delet'),
               onClick: handleDelete.bind(null, record),
             },
           ]"
@@ -29,34 +29,22 @@
   </div>
 </template>
 <script lang="ts">
-  import { defineComponent, h, reactive } from 'vue';
-  import { BasicTable, useTable, TableAction, TableImg } from '/@/components/Table';
-  import { PageWrapper } from '/@/components/Page';
+  import { defineComponent, h } from 'vue';
+  import { BasicTable, useTable, TableAction } from '/@/components/Table';
   import { useModal } from '/@/components/Modal';
   import { Descriptions } from 'ant-design-vue';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useMessage } from '/@/hooks/web/useMessage';
-  import { InvoiceList, InvoiceExport } from '/@/api/order';
-  import { downloadByData } from '/@/utils/file/download';
+  import { modelingConfigList, modelingConfigDelete } from '/@/api/parameter';
   import { searchForm, columns } from './data';
   import EditModal from './EditModal.vue';
   import { usePermissionStore } from '/@/store/modules/permission';
-  interface apiDataParam {
-    orderSn?: string;
-    payTimeStart?: string;
-    payTimeEnd?: string;
-    invoiceTimeStart?: string;
-    invoiceTimeEnd?: string;
-    orderBy?: string;
-    sortBy?: string;
-  }
+
   export default defineComponent({
     components: {
       EditModal,
       BasicTable,
       TableAction,
-      PageWrapper,
-      TableImg,
       [Descriptions.name]: Descriptions,
       [Descriptions.Item.name]: Descriptions.Item,
     },
@@ -64,19 +52,10 @@
       const { t } = useI18n();
       const permissionStore = usePermissionStore();
       const { getCheckPerm } = permissionStore;
-      const apiData = reactive<apiDataParam>({
-        orderSn: '',
-        payTimeStart: '',
-        payTimeEnd: '',
-        invoiceTimeStart: '',
-        invoiceTimeEnd: '',
-        orderBy: '',
-        sortBy: '',
-      });
       const { createMessage, createConfirm } = useMessage();
       const [registerEditModal, { openModal: openEditModal }] = useModal();
       const [registerTable, { reload }] = useTable({
-        api: InvoiceList,
+        api: modelingConfigList,
         columns: columns,
         useSearchForm: true,
         formConfig: searchForm,
@@ -104,7 +83,7 @@
           title: () => h('span', '温馨提示'),
           content: () => h('span', '确定要删除授权吗?'),
           onOk: async () => {
-            await authorizeInstalldelete({ id: record.id });
+            await modelingConfigDelete({ id: record.id });
             reload();
             createMessage.success(t('common.optSuccess'));
           },

+ 8 - 4
src/views/productOperation/cameraScene.vue

@@ -220,8 +220,8 @@
           },
           {
             title: '点位数量',
-            dataIndex: 'snCode',
-            width: 180,
+            dataIndex: 'shootCount',
+            width: 80,
           },
           {
             title: '场景大小',
@@ -235,8 +235,12 @@
           },
           {
             title: '拍摄位置',
-            dataIndex: 'snCode',
-            width: 180,
+            dataIndex: 'addressComponent',
+            width: 100,
+            customRender: ({ record }) => {
+              let { city } = record.addressComponent;
+              return city; // + district + township;
+            },
           },
           {
             title: '是否复制',