tangning 6 дней назад
Родитель
Сommit
85813eb573

+ 1 - 1
index.html

@@ -8,7 +8,7 @@
       name="viewport"
       content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0"
     />
-    <title><%= title %></title>
+    <title></title>
     <link rel="icon" href="/favicon.ico" />
     
   </head>

Разница между файлами не показана из-за своего большого размера
+ 11200 - 7782
pnpm-lock.yaml


+ 1 - 3
src/App.vue

@@ -17,8 +17,7 @@
   import { useMessage } from '/@/hooks/web/useMessage';
 
   import zhCN from 'ant-design-vue/es/locale/zh_CN';
-  import dayjs from 'dayjs';
-  import 'dayjs/locale/zh-cn';
+
   // support Multi-language
   const { createConfirm } = useMessage();
   const { getAntdLocale } = useLocale();
@@ -30,7 +29,6 @@
     // localStorage.removeItem('token');
   }
   // Listening to page changes and dynamically changing site titles
-  dayjs.locale('zh-cn');
   useTitle();
 </script>
 

+ 6 - 2
src/main.ts

@@ -14,7 +14,10 @@ import { setupStore } from '/@/store';
 import { setupGlobDirectives } from '/@/directives';
 import { setupI18n } from '/@/locales/setupI18n';
 import { registerGlobComp } from '/@/components/registerGlobComp';
-
+import dayjs from 'dayjs';
+import moment from 'moment';
+import 'moment/locale/zh-cn';
+import 'dayjs/locale/zh-cn';
 // Importing on demand in local development will increase the number of browser requests by around 20%.
 // This may slow down the browser refresh speed.
 // Therefore, only enable on-demand importing in production environments .
@@ -24,7 +27,8 @@ if (import.meta.env.DEV) {
 
 async function bootstrap() {
   const app = createApp(App);
-
+  dayjs.locale('zh-cn');
+  moment.locale('zh-cn');
   // Configure store
   setupStore(app);
 

+ 18 - 16
src/views/case/list.vue

@@ -430,7 +430,6 @@
       function handleDownload(record: Recordable) {
         console.log('handleDownload', record, canDownload.value);
         canDownload.value = true;
-        let isObj = tableType.value == 5 || tableType.value == 7 ? 1 : 0;
         caseCheckDown({ caseId: record.caseId }).then((res) => {
           console.log(res);
           if (res.downloadStatus != 3) {
@@ -444,21 +443,7 @@
                 if (timer.value) {
                   afterClose();
                 }
-                timer.value = setInterval(() => {
-                  caseProcess({ caseId: record.caseId }).then((res) => {
-                    if (res.status == '1003') {
-                      createMessage.error('下载失败');
-                      afterClose();
-                      return;
-                    }
-                    if (res.percent >= 100) {
-                      canDownload.value = false;
-                      afterClose();
-                    }
-                    downloadOption.value = res;
-                    console.log(res);
-                  });
-                }, 1000);
+              getProcess({caseId: record.caseId});
               }
             });
           } else {
@@ -467,6 +452,23 @@
           }
         });
       }
+      function getProcess(params) {
+        timer.value = setTimeout(() => {
+          caseProcess(params).then((processres) => {
+            console.log('processres', processres, params);
+            downloadOption.value = processres;
+            if (processres.percent >= 100) {
+              canDownload.value = false;
+              afterClose();
+              window.open(processres.url);
+              closeModal();
+              cancelDownload();
+            } else {
+              getProcess(params);
+            }
+          });
+        }, 1000);
+      }
       function handleEdit(record: Recordable) {
         window.open(record.thumbEdit + '&&token=' + token.value);
       }

+ 0 - 1
src/views/customer/device.vue

@@ -26,7 +26,6 @@
 </template>
 <script lang="ts">
   import { defineComponent, h, reactive, toRefs, onMounted } from 'vue';
-  import { isBoolean } from 'lodash';
   import {
     BasicTable,
     useTable,

+ 1 - 0
src/views/invoice/index.vue

@@ -144,6 +144,7 @@
         ...record,
       });
     }
+    // 导出当前发票所有记录
     function exportExcel() {
         createConfirm({
           iconType: 'warning',

+ 1 - 1
src/views/statistics/components/VisitSource.vue

@@ -1,5 +1,5 @@
 <template>
-  <Card title="访问来源" :loading="loading">
+  <Card title="警种分布" :loading="loading">
     <template #extra>
       <div class="condition">
         <div class="selct" style="display: inline-block" v-if="district.length">

+ 7 - 1
src/views/statistics/components/lineEcharts2.vue

@@ -30,6 +30,7 @@
         </div>
         <div class="selct" style="display: inline-block; margin-right: 0px">
           <RangePicker
+            :locale="locale"
             @change="handleTime"
             valueFormat="YYYY-MM-DD"
             :getCalendarContainer="(trigger) => trigger.parentNode"
@@ -39,6 +40,7 @@
         </div>
       </div>
     </template>
+    {{ locale }}
     <div ref="chartRef" :style="{ height, width }"></div>
   </Card>
 </template>
@@ -52,9 +54,13 @@
   const { RangePicker } = DatePicker;
   import ApiTreeSelect from '/@/components/Form/src/components/ApiTreeSelect.vue';
   import { ref, Ref, onMounted } from 'vue';
-  // import { district, jyType } from '/@/views/statistics/scene/data';
   import { useECharts } from '/@/hooks/web/useECharts';
   import type { Dayjs } from 'dayjs';
+  import dayjs from 'dayjs';
+  import 'dayjs/locale/zh-cn';
+  import 'moment/dist/locale/zh-cn'
+  import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
+  dayjs.locale('zh-cn');
   const props = defineProps({
     loading: Boolean,
     hiddens: Boolean,

+ 14 - 1
src/views/statistics/scene/exportModal.vue

@@ -70,6 +70,9 @@
           label: '警种',
           componentProps: {
             options: jyType,
+            multiple: true,
+            treeNodeFilterProp: 'label',
+            showSearch: true,
             listHeight: 200,
           },
           colProps: {
@@ -84,7 +87,7 @@
             style: { maxWidth: '297px' },
             placeholder: '全部',
             api: sceneGroupCount,
-            mode: 'multiple',
+            multiple: true,
             immediate: false,
             resultField: 'list',
             labelField: 'name',
@@ -129,12 +132,22 @@
             field: 'districtCodeList',
             componentProps: {
               treeData: data.district || [],
+              disabled: data.district && data.district.length == 0,
             },
           },
           {
             field: 'jyType',
             componentProps: {
               options: data.jyType || [],
+              disabled: data.jyType && data.jyType.length == 0,
+            },
+          },
+          {
+            field: 'ryNo',
+            componentProps: {
+              options: data.ryNo || [],
+              onSearch: onSearch,
+              filterOption: onFilterOption,
             },
           },
         ]);

+ 2 - 1
src/views/statistics/scene/index.vue

@@ -17,6 +17,7 @@
           style="min-width: 100px; margin-right: 30px"
           placeholder="全部相机"
           :options="options"
+          allowClear
           :getPopupContainer="(trigger) => trigger.parentNode"
           @change="handleChange"
         />
@@ -287,7 +288,7 @@
       loading.value = false;
     }
   }
-  function handleChange(val, item) {
+  function handleChange(val, item = {}) {
     console.log('val', val, item);
     pageAuth.value = item.pageAuth;
     loading1.value += 1;