tangning 2 weeks ago
parent
commit
df09e106dc
3 changed files with 100 additions and 22 deletions
  1. 1 1
      src/views/case/DownLoadModal.vue
  2. 6 6
      src/views/case/list.vue
  3. 93 15
      src/views/lanUser/detailsModal.vue

+ 1 - 1
src/views/case/DownLoadModal.vue

@@ -11,7 +11,7 @@
     <div class="pt-2px pr-3px">
     <div class="pt-2px pr-3px">
       <div class="warp">
       <div class="warp">
         <p>正在打包场景离线数据{{ downloadPercent }}</p>
         <p>正在打包场景离线数据{{ downloadPercent }}</p>
-        <span>{{ modelRef.sceneName }}.zip</span>
+        <span>{{ modelRef.caseTitle }}.zip</span>
         <Progress :percent="downloadOption.percent" />
         <Progress :percent="downloadOption.percent" />
         <p>* 打包完成后将关闭弹窗自动下载。</p>
         <p>* 打包完成后将关闭弹窗自动下载。</p>
       </div>
       </div>

+ 6 - 6
src/views/case/list.vue

@@ -51,12 +51,12 @@
                   ifShow: record.isAuth && tableType == 0 && getTypeCheckPerm('case-powers'),
                   ifShow: record.isAuth && tableType == 0 && getTypeCheckPerm('case-powers'),
                   onClick: handlePowers.bind(null, record),
                   onClick: handlePowers.bind(null, record),
                 },
                 },
-                //{
-                //  label: '下载',
-                //  ifShow: getTypeCheckPerm('case-download') && !record.isOpen,
-                //  disabled:  tableType == 0,
-                //  onClick: createConfirmDownload.bind(null, record),
-                //},
+                {
+                  label: '下载',
+                  ifShow: getTypeCheckPerm('case-download') && tableType == 0,
+                  //disabled: tableType == 0,
+                  onClick: createConfirmDownload.bind(null, record),
+                },
                 {
                 {
                   label: '删除',
                   label: '删除',
                   ifShow: tableType == 0 && getTypeCheckPerm('case-delete') && !record.isOpen,
                   ifShow: tableType == 0 && getTypeCheckPerm('case-delete') && !record.isOpen,

+ 93 - 15
src/views/lanUser/detailsModal.vue

@@ -7,7 +7,23 @@
     :min-height="150"
     :min-height="150"
     @ok="handleOk"
     @ok="handleOk"
   >
   >
-    <BasicForm @register="registerForm" />
+    <BasicForm @register="registerForm" >
+      <template #selectUser="{ model, field }">
+        <Select
+          v-model:value="model[field]"
+          show-search
+          placeholder="请输入姓名/手机号码/身份证号码搜索"
+          style="width: 350px; text-align: left"
+          :default-active-first-option="false"
+          :show-arrow="false"
+          :filter-option="false"
+          not-found-content="暂无数据"
+          :options="options"
+          @search="fetchUser"
+          @change="handleChange"
+        />
+      </template>
+      </BasicForm>
   </BasicModal>
   </BasicModal>
 </template>
 </template>
 <script lang="ts">
 <script lang="ts">
@@ -16,13 +32,15 @@
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useI18n } from '/@/hooks/web/useI18n';
+  import { Select } from 'ant-design-vue';
+  import { debounce } from 'lodash-es';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useUserStore } from '/@/store/modules/user';
   import { useUserStore } from '/@/store/modules/user';
-  import { addOrUpdate } from '/@/api/jyUserPlatform/index';
+  import { addOrUpdate, queryByKey } from '/@/api/jyUserPlatform/index';
   import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard';
   import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard';
   const { t } = useI18n();
   const { t } = useI18n();
   export default defineComponent({
   export default defineComponent({
-    components: { BasicModal, BasicForm },
+    components: { BasicModal, BasicForm, Select },
     props: {
     props: {
       userData: { type: Object },
       userData: { type: Object },
     },
     },
@@ -31,9 +49,31 @@
       const modelRef = ref({});
       const modelRef = ref({});
       const userStore = useUserStore();
       const userStore = useUserStore();
       const userinfo = computed(() => userStore.getUserInfo);
       const userinfo = computed(() => userStore.getUserInfo);
+      const options = ref([]);
       const preventAutoFill = ref(true);
       const preventAutoFill = ref(true);
       const { companyId } = userinfo.value;
       const { companyId } = userinfo.value;
       console.log('companyId', companyId);
       console.log('companyId', companyId);
+      let lastFetchId = 0;
+      const fetchUser = debounce((value) => {
+        if (!value) {
+          return;
+        }
+        lastFetchId += 1;
+        const fetchId = lastFetchId;
+        options.value = [];
+        queryByKey({ queryKey: value }).then((res) => {
+          console.log('queryByKey', res);
+          setFieldsValue({idkey: null,});
+          const data = res.map((user) => ({
+            ...user,
+            label: `${user.name}/${user.phone || '暂无手机号码'}/${user.idCard || '暂无身份证'}/${
+              user.platformName || '未分配'
+            }`,
+            value: user.id,
+          }));
+          options.value = data;
+        });
+      }, 300);
       const schemas: FormSchema[] = [
       const schemas: FormSchema[] = [
         {
         {
           field: 'label1',
           field: 'label1',
@@ -65,6 +105,36 @@
           },
           },
         },
         },
         {
         {
+          field: 'addType',
+          component: 'RadioGroup',
+          label: '用户类型',
+          defaultValue: 'new',
+          required: true,
+          colProps: {
+            span: 24,
+          },
+          componentProps: {
+            options: [
+              { label: '添加新用户', value: 'new' },
+              { label: '搜索平台用户', value: 'old' },
+            ],
+            onChange: (e) => {
+              let addType = e.target.value;
+              console.log('data', addType);
+              updateSchema([{
+                  field: 'name',
+                  ifShow: addType !== 'old',
+                },{
+                  field: 'idCard',
+                  ifShow: addType !== 'old',
+                },{
+                  field: 'idkey',
+                  ifShow: addType == 'old',
+                }])
+            },
+          },
+        },
+        {
           field: 'name',
           field: 'name',
           component: 'Input',
           component: 'Input',
           label: '姓名',
           label: '姓名',
@@ -106,18 +176,21 @@
             maxLength: 18,
             maxLength: 18,
           },
           },
         },
         },
-        // {
-        //   field: 'phone',
-        //   component: 'Input',
-        //   required: true,
-        //   label: '手机号码',
-        //   colProps: {
-        //     span: 20,
-        //   },
-        //   componentProps: {
-        //     maxLength: 15,
-        //   },
-        // },
+        {
+          field: 'idkey',
+          component: 'Input',
+          label: '账号查询',
+          required: true,
+          ifShow: false,
+          colProps: {
+            span: 20,
+          },
+          slot: 'selectUser',
+          componentProps: {
+            placeholder: '请输入姓名/手机号码/身份证号码搜索',
+            onChange: fetchUser,
+          },
+        },
         {
         {
           field: 'id',
           field: 'id',
           component: 'Input',
           component: 'Input',
@@ -159,6 +232,9 @@
           });
           });
         }, 200);
         }, 200);
       }
       }
+      function handleChange(value, b) {
+        active.value = b;
+      }
       function companyIdChange(companyId) {
       function companyIdChange(companyId) {
         // resetFields(['permList'])
         // resetFields(['permList'])
         updateSchema([
         updateSchema([
@@ -293,7 +369,9 @@
         registerForm,
         registerForm,
         modelRef,
         modelRef,
         handleOk,
         handleOk,
+        handleChange,
         resetFields,
         resetFields,
+        fetchUser,
       };
       };
     },
     },
   });
   });