Pārlūkot izejas kodu

fix(bugs): 修改问题点

tangning 4 gadi atpakaļ
vecāks
revīzija
a114f2ac5c

+ 12 - 1
src/api/advertisement/list.ts

@@ -11,6 +11,7 @@ enum Api {
   uploadFile = '/zfb-api/zfb/house/upload',
   uploadFile = '/zfb-api/zfb/house/upload',
   padssave = '/zfb-api/zfb/recommend/save',
   padssave = '/zfb-api/zfb/recommend/save',
   padsupdate = '/zfb-api/zfb/recommend/update',
   padsupdate = '/zfb-api/zfb/recommend/update',
+  padsdelete = '/zfb-api/zfb/recommend/delete',
 }
 }
 
 
 /**
 /**
@@ -27,7 +28,17 @@ export const ListApi = (params: PageParams) =>
       ignoreCancelToken: true,
       ignoreCancelToken: true,
     },
     },
   });
   });
-export const RecommendListApi = (params: PageParams) =>
+export const RecommendDeleteApi = (params: DeleteItem) =>
+  defHttp.post<Result>({
+    url: Api.padsdelete,
+    params,
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
+
+export const RecommendListApi = (params: DeleteItem) =>
   defHttp.post<ListGetResultModel>({
   defHttp.post<ListGetResultModel>({
     url: Api.recommend,
     url: Api.recommend,
     params,
     params,

+ 1 - 0
src/api/corporation/model.ts

@@ -8,6 +8,7 @@ export interface UpdateCompanyParam {
   sceneLogo?: string;
   sceneLogo?: string;
   floorLogo?: string;
   floorLogo?: string;
   bgMusic?: string;
   bgMusic?: string;
+  expirationTime?: string;
 }
 }
 export interface SaveCompanyParam {
 export interface SaveCompanyParam {
   address?: string;
   address?: string;

+ 11 - 4
src/views/advertisement/pads.vue

@@ -21,9 +21,7 @@
               label: '删除',
               label: '删除',
               popConfirm: {
               popConfirm: {
                 title: '是否确认删除',
                 title: '是否确认删除',
-                confirm: () => {
-                  createMessage.info(`暂未接入`);
-                },
+                confirm: handleDelete.bind(null, record),
               },
               },
             },
             },
           ]"
           ]"
@@ -39,14 +37,16 @@
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useMessage } from '/@/hooks/web/useMessage';
   // import { Tag } from 'ant-design-vue';
   // import { Tag } from 'ant-design-vue';
   import PadsDrawer from './padsDrawer.vue';
   import PadsDrawer from './padsDrawer.vue';
-  import { RecommendListApi } from '/@/api/advertisement/list';
+  import { RecommendListApi, RecommendDeleteApi } from '/@/api/advertisement/list';
   import { useDrawer } from '/@/components/Drawer';
   import { useDrawer } from '/@/components/Drawer';
   import { Time } from '/@/components/Time';
   import { Time } from '/@/components/Time';
   import { useRoute } from 'vue-router';
   import { useRoute } from 'vue-router';
+  import { useI18n } from '/@/hooks/web/useI18n';
   // param type 2
   // param type 2
   export default defineComponent({
   export default defineComponent({
     components: { BasicTable, TableAction, TableImg, PadsDrawer },
     components: { BasicTable, TableAction, TableImg, PadsDrawer },
     setup() {
     setup() {
+      const { t } = useI18n();
       const { createMessage } = useMessage();
       const { createMessage } = useMessage();
       const [registerDrawer, { openDrawer }] = useDrawer();
       const [registerDrawer, { openDrawer }] = useDrawer();
       const route = useRoute();
       const route = useRoute();
@@ -151,6 +151,12 @@
           ...getForm().getFieldsValue(),
           ...getForm().getFieldsValue(),
         });
         });
       }
       }
+      async function handleDelete(record: Recordable) {
+        let res = await RecommendDeleteApi({ id: record.id });
+        console.log(res);
+        createMessage.success(t('common.optSuccess'));
+        reload();
+      }
       function handleEdit(record: Recordable) {
       function handleEdit(record: Recordable) {
         openDrawer(true, {
         openDrawer(true, {
           record,
           record,
@@ -166,6 +172,7 @@
         handleEdit,
         handleEdit,
         reload,
         reload,
         type,
         type,
+        handleDelete,
       };
       };
     },
     },
   });
   });

+ 2 - 1
src/views/corporation/AddCorporationModal.vue

@@ -51,7 +51,7 @@
     {
     {
       field: 'phone',
       field: 'phone',
       component: 'Input',
       component: 'Input',
-      label: t('common.mobile'),
+      label: t('routes.corporation.phone'),
       rules: [
       rules: [
         {
         {
           required: true,
           required: true,
@@ -82,6 +82,7 @@
       field: 'area',
       field: 'area',
       label: '地区',
       label: '地区',
       component: 'ApiCascader',
       component: 'ApiCascader',
+      required: true,
       componentProps: {
       componentProps: {
         api: () => {
         api: () => {
           return CascaderData;
           return CascaderData;

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

@@ -131,7 +131,7 @@
           labelWidth: 200,
           labelWidth: 200,
         },
         },
         {
         {
-          field: 'totalSubNum',
+          field: 'subNum',
           component: 'InputNumber',
           component: 'InputNumber',
           label: `${t('routes.devices.subNum')} :`,
           label: `${t('routes.devices.subNum')} :`,
           labelWidth: 200,
           labelWidth: 200,

+ 6 - 4
src/views/corporation/cameraModal.vue

@@ -21,7 +21,7 @@
       </BasicForm>
       </BasicForm>
       <BasicTable @register="registerDeviceTable" :searchInfo="searchInfo">
       <BasicTable @register="registerDeviceTable" :searchInfo="searchInfo">
         <template #activatedTime="{ record }">
         <template #activatedTime="{ record }">
-          <Time v-if="record.activatedTime" :value="record.activatedTime" mode="datetime" />
+          <Time v-if="record.activeTime" :value="record.activeTime" mode="datetime" />
         </template>
         </template>
         <template #action="{ record }">
         <template #action="{ record }">
           <TableAction
           <TableAction
@@ -66,6 +66,7 @@
 
 
       const searchInfo = reactive<Recordable>({
       const searchInfo = reactive<Recordable>({
         id: '',
         id: '',
+        userName: '',
       });
       });
 
 
       const [register, { closeModal }] = useModalInner((data) => {
       const [register, { closeModal }] = useModalInner((data) => {
@@ -74,13 +75,13 @@
 
 
       const schemas: FormSchema[] = [
       const schemas: FormSchema[] = [
         {
         {
-          field: 'companyName',
+          field: 'name',
           label: t('routes.corporation.enterpriseName'),
           label: t('routes.corporation.enterpriseName'),
           slot: 'userName',
           slot: 'userName',
           component: 'Input',
           component: 'Input',
         },
         },
         {
         {
-          field: 'managerPhone',
+          field: 'userName',
           label: t('routes.corporation.enterpriseId'),
           label: t('routes.corporation.enterpriseId'),
           slot: 'name',
           slot: 'name',
           component: 'Input',
           component: 'Input',
@@ -125,7 +126,7 @@
         },
         },
         {
         {
           title: t('routes.corporation.activeTime'),
           title: t('routes.corporation.activeTime'),
-          dataIndex: 'activatedTime',
+          dataIndex: 'activeTime',
           slots: { customRender: 'activatedTime' },
           slots: { customRender: 'activatedTime' },
           width: 100,
           width: 100,
         },
         },
@@ -163,6 +164,7 @@
         });
         });
 
 
         searchInfo.id = data.id;
         searchInfo.id = data.id;
+        searchInfo.userName = data.userName;
         nextTick(reload);
         nextTick(reload);
       }
       }
 
 

+ 5 - 4
src/views/corporation/detailsModal.vue

@@ -54,8 +54,8 @@
     props: {
     props: {
       userData: { type: Object },
       userData: { type: Object },
     },
     },
-    emits: ['register'],
-    setup(props) {
+    emits: ['register', 'reload'],
+    setup(props, { emit }) {
       const modelRef = ref({
       const modelRef = ref({
         id: '',
         id: '',
       });
       });
@@ -89,7 +89,7 @@
       const schemas: FormSchema[] = [
       const schemas: FormSchema[] = [
         {
         {
           field: 'name',
           field: 'name',
-          label: t('routes.corporation.name'),
+          label: t('routes.corporation.enterpriseName'),
           slot: 'text',
           slot: 'text',
           component: 'Input',
           component: 'Input',
         },
         },
@@ -110,7 +110,7 @@
         // },
         // },
         {
         {
           field: 'phone',
           field: 'phone',
-          label: t('common.mobile'),
+          label: t('routes.corporation.phone'),
           slot: 'text',
           slot: 'text',
           component: 'Input',
           component: 'Input',
         },
         },
@@ -175,6 +175,7 @@
           });
           });
           success(t('common.optSuccess'));
           success(t('common.optSuccess'));
           closeModal();
           closeModal();
+          emit('reload');
         } catch (error) {
         } catch (error) {
           console.log('error', error);
           console.log('error', error);
         }
         }

+ 13 - 2
src/views/corporation/index.vue

@@ -46,7 +46,12 @@
         />
         />
       </template>
       </template>
       <template #expirationTime="{ record }">
       <template #expirationTime="{ record }">
-        <Time v-if="record.expirationTime" :value="record.expirationTime" mode="date" />
+        <Time
+          v-if="record.expirationTime"
+          @click="openTimeModal(true, record)"
+          :value="record.expirationTime"
+          mode="date"
+        />
       </template>
       </template>
 
 
       <template #cameraNum="{ record }">
       <template #cameraNum="{ record }">
@@ -89,6 +94,7 @@
     <deviceModal @register="registerDeviceModal" @reload="reload" />
     <deviceModal @register="registerDeviceModal" @reload="reload" />
     <SubaccountModal @register="registerSubaccountModal" @update="reload" />
     <SubaccountModal @register="registerSubaccountModal" @update="reload" />
     <cameraModal @register="registerCameraModal" @ok="reload" />
     <cameraModal @register="registerCameraModal" @ok="reload" />
+    <TimeModal @register="registerTimeModal" @submit="reload" />
   </div>
   </div>
 </template>
 </template>
 <script lang="ts">
 <script lang="ts">
@@ -105,6 +111,7 @@
   import { useModal } from '/@/components/Modal';
   import { useModal } from '/@/components/Modal';
   import chargeModal from './chargeModal.vue';
   import chargeModal from './chargeModal.vue';
   import deviceModal from './deviceModal.vue';
   import deviceModal from './deviceModal.vue';
+  import TimeModal from './setTime.vue';
   import SubaccountModal from './SubaccountModal.vue';
   import SubaccountModal from './SubaccountModal.vue';
   import cameraModal from './cameraModal.vue';
   import cameraModal from './cameraModal.vue';
   import { Time } from '/@/components/Time';
   import { Time } from '/@/components/Time';
@@ -123,12 +130,14 @@
       Time,
       Time,
       BasicUpload,
       BasicUpload,
       Tag,
       Tag,
+      TimeModal,
     },
     },
     setup() {
     setup() {
       const [registerDeviceModal, { openModal: openDeviceModal }] = useModal();
       const [registerDeviceModal, { openModal: openDeviceModal }] = useModal();
       const [registerChargeModal, { openModal: openChargeModal }] = useModal();
       const [registerChargeModal, { openModal: openChargeModal }] = useModal();
       const [registerSubaccountModal, { openModal: openSubaccountModal }] = useModal();
       const [registerSubaccountModal, { openModal: openSubaccountModal }] = useModal();
       const [registerCameraModal, { openModal: openCameraModal }] = useModal();
       const [registerCameraModal, { openModal: openCameraModal }] = useModal();
+      const [registerTimeModal, { openModal: openTimeModal }] = useModal();
       const { t } = useI18n();
       const { t } = useI18n();
       const columns: BasicColumn[] = [
       const columns: BasicColumn[] = [
         // {
         // {
@@ -174,7 +183,7 @@
         },
         },
         {
         {
           title: t('routes.corporation.subNum'),
           title: t('routes.corporation.subNum'),
-          dataIndex: 'subNum',
+          dataIndex: 'totalSubNum',
           ellipsis: false,
           ellipsis: false,
           width: 80,
           width: 80,
         },
         },
@@ -303,6 +312,7 @@
         registerTable,
         registerTable,
         registerChargeModal,
         registerChargeModal,
         registerDeviceModal,
         registerDeviceModal,
+        registerTimeModal,
         registerSubaccountModal,
         registerSubaccountModal,
         handleOpenModal,
         handleOpenModal,
         uploadLogoApi: uploadLogoApi as any,
         uploadLogoApi: uploadLogoApi as any,
@@ -312,6 +322,7 @@
         handleMusicUploadFetch,
         handleMusicUploadFetch,
         registerCameraModal,
         registerCameraModal,
         openCameraModal,
         openCameraModal,
+        openTimeModal,
       };
       };
     },
     },
   });
   });

+ 122 - 0
src/views/corporation/setTime.vue

@@ -0,0 +1,122 @@
+<template>
+  <BasicModal
+    v-bind="$attrs"
+    @register="register"
+    :title="t('routes.corporation.expirationTime')"
+    :height="600"
+    @visible-change="handleVisibleChange"
+    @ok="handleSubmit"
+    @cancel="resetFields"
+  >
+    <div class="pt-2px pr-3px">
+      <BasicForm @register="registerForm" :model="model" />
+    </div>
+  </BasicModal>
+</template>
+<script lang="ts">
+  import { defineComponent, ref, nextTick } from 'vue';
+  import { BasicModal, useModalInner } from '/@/components/Modal';
+  import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
+  import { useMessage } from '/@/hooks/web/useMessage';
+  import dayjs from 'dayjs';
+  // import { checkUserAddAble } from '/@/api/corporation/modal';
+  import { useI18n } from '/@/hooks/web/useI18n';
+  import { updateCompnayApi } from '/@/api/corporation/list';
+  const { t } = useI18n();
+  const schemas: FormSchema[] = [
+    {
+      field: 'id',
+      component: 'Input',
+      label: 'id',
+      show: false,
+    },
+    {
+      field: 'expirationTime',
+      component: 'DatePicker',
+      label: t('routes.corporation.expirationTime'),
+      required: true,
+      colProps: {
+        span: 22,
+      },
+      componentProps: {
+        valueFormat: 'YYYY-MM-DD',
+        disabledDate: (current) => {
+          return current && current < dayjs().endOf('day');
+        },
+      },
+    },
+  ];
+  export default defineComponent({
+    components: { BasicModal, BasicForm },
+    props: {
+      userData: { type: Object },
+    },
+    emits: ['register', 'submit'],
+    setup(props, { emit }) {
+      const modelRef = ref({});
+      const { createMessage } = useMessage();
+      const [
+        registerForm,
+        {
+          // getFieldsValue,
+          setFieldsValue,
+          // setProps
+          resetFields,
+          validate,
+        },
+      ] = useForm({
+        labelWidth: 120,
+        schemas,
+        showActionButtonGroup: false,
+        actionColOptions: {
+          span: 24,
+        },
+      });
+      let addListFunc = () => {};
+      const [register, { closeModal }] = useModalInner((data) => {
+        data && onDataReceive(data);
+      });
+
+      function onDataReceive(data) {
+        if (dayjs(data.expirationTime) > dayjs()) {
+          setFieldsValue({ ...data });
+        } else {
+          setFieldsValue({ id: data.id });
+        }
+      }
+      const handleSubmit = async () => {
+        const values = await validate();
+        console.log('insertData', values);
+        //TODO hack parameter
+        const res = await updateCompnayApi({
+          id: values.id,
+          expirationTime: values.expirationTime,
+        });
+        // let res = await checkUserAddAble({ phoneNum: values.managerPhone });
+        console.log('res', res);
+        emit('submit');
+        closeModal();
+        resetFields();
+        createMessage.success(t('common.optSuccess'));
+        // createMessage.success(t('routes.corporation.optSuccess'));
+      };
+      function handleVisibleChange(v) {
+        v && props.userData && nextTick(() => onDataReceive(props.userData));
+      }
+
+      return {
+        t,
+        register,
+        schemas,
+        registerForm,
+        model: modelRef,
+        handleVisibleChange,
+        handleSubmit,
+        addListFunc,
+        closeModal,
+        resetFields,
+        // nextTick,
+      };
+    },
+  });
+</script>

+ 1 - 1
src/views/corporation/verify.vue

@@ -29,7 +29,7 @@
         />
         />
       </template>
       </template>
     </BasicTable>
     </BasicTable>
-    <detailsModal @register="registerDeviceModal" />
+    <detailsModal @register="registerDeviceModal" @reload="reload" />
     <AddCorporationModal @register="registerAddCorporationModal" @submit="reload" />
     <AddCorporationModal @register="registerAddCorporationModal" @submit="reload" />
   </div>
   </div>
 </template>
 </template>

+ 10 - 2
src/views/product/addModal.vue

@@ -1,5 +1,11 @@
 <template>
 <template>
-  <BasicModal v-bind="$attrs" @register="register" title="新 增" @ok="handleOk">
+  <BasicModal
+    v-bind="$attrs"
+    @register="register"
+    @cancel="resetFields"
+    title="新 增"
+    @ok="handleOk"
+  >
     <div class="pt-3px pr-3px">
     <div class="pt-3px pr-3px">
       <BasicForm @register="registerForm" :model="model" />
       <BasicForm @register="registerForm" :model="model" />
     </div>
     </div>
@@ -63,6 +69,7 @@
         {
         {
           // setFieldsValue,
           // setFieldsValue,
           validate,
           validate,
+          resetFields,
           // getFieldsValue,
           // getFieldsValue,
         },
         },
       ] = useForm({
       ] = useForm({
@@ -100,9 +107,10 @@
         context && context.emit('saveadd', res);
         context && context.emit('saveadd', res);
         createMessage.success(t('common.optSuccess'));
         createMessage.success(t('common.optSuccess'));
         closeModal();
         closeModal();
+        resetFields();
       }
       }
 
 
-      return { register, schemas, registerForm, model: modelRef, handleOk, t };
+      return { register, resetFields, schemas, registerForm, model: modelRef, handleOk, t };
     },
     },
   });
   });
 </script>
 </script>