Browse Source

更换插件

ZaiZai 2 years ago
parent
commit
4d22c5b9ab
68 changed files with 410 additions and 270 deletions
  1. 0 1
      package.json
  2. 3 3
      src/App.vue
  3. 1 1
      src/api/modules/oss.js
  4. 13 0
      src/api/modules/upload.js
  5. 1 1
      src/api/request/httpApi.js
  6. 1 1
      src/api/request/index.js
  7. 3 3
      src/components/tree/hc-tree-1.vue
  8. 11 12
      src/components/tree/hc-tree.vue
  9. 1 0
      src/config/index.js
  10. 1 1
      src/global/components/hc-context-menu/index.vue
  11. 1 1
      src/global/components/hc-drag-modal/index.vue
  12. 2 2
      src/global/components/hc-menu-simple/index.vue
  13. 4 4
      src/global/components/hc-report-experts/index.vue
  14. 2 2
      src/global/components/hc-report-modal/index.vue
  15. 2 1
      src/global/components/hc-sms-auth/index.vue
  16. 2 2
      src/global/components/hc-tabs-simple/index.vue
  17. 1 1
      src/global/components/hc-tasks-user/index.vue
  18. 3 2
      src/global/components/hc-uploads/formItem.vue
  19. 6 6
      src/global/components/hc-uploads/index.vue
  20. 5 5
      src/layout/modules/HelpInfoBar.vue
  21. 4 4
      src/layout/modules/UserInfoBar.vue
  22. 11 0
      src/plugins/uploadFile.js
  23. 75 0
      src/plugins/useOsTheme.js
  24. 3 3
      src/router/index.js
  25. 5 5
      src/router/routers.js
  26. 43 43
      src/store/index.js
  27. 4 4
      src/store/modules/app.js
  28. 7 6
      src/store/modules/user.js
  29. 0 1
      src/test/index.vue
  30. 18 3
      src/utils/storage.js
  31. 37 27
      src/utils/tools.js
  32. 4 4
      src/views/archives/appraisal.vue
  33. 10 10
      src/views/archives/bookmark.vue
  34. 4 5
      src/views/archives/components/destory-dialog.vue
  35. 3 3
      src/views/archives/components/hc-tree.vue
  36. 5 6
      src/views/archives/components/meta-info.vue
  37. 4 4
      src/views/archives/meta-data.vue
  38. 4 4
      src/views/archives/rolling.vue
  39. 4 4
      src/views/archives/tuning.vue
  40. 3 4
      src/views/config/index.vue
  41. 8 9
      src/views/custody/backup.vue
  42. 3 3
      src/views/custody/components/hc-tree.vue
  43. 0 1
      src/views/custody/components/tab-expire.vue
  44. 0 1
      src/views/custody/components/tab-reform.vue
  45. 0 1
      src/views/custody/components/tab-spite.vue
  46. 31 2
      src/views/file/collection.vue
  47. 2 2
      src/views/file/components/HcFileUpload.vue
  48. 2 2
      src/views/file/components/HcFileUploadLarge.vue
  49. 3 3
      src/views/file/components/hc-tree.vue
  50. 1 1
      src/views/file/records.vue
  51. 1 1
      src/views/login/index.vue
  52. 1 1
      src/views/transfer/components/conclusion/table-opinion.vue
  53. 1 1
      src/views/transfer/components/conclusion/table-score.vue
  54. 1 1
      src/views/transfer/components/conclusion/table-stats.vue
  55. 1 1
      src/views/transfer/components/examination/table-opinion.vue
  56. 3 3
      src/views/transfer/components/hc-tree.vue
  57. 1 1
      src/views/transfer/components/submit-report/table-opinion.vue
  58. 1 1
      src/views/transfer/components/submit-report/table-score.vue
  59. 1 1
      src/views/transfer/components/submit-report/table-stats.vue
  60. 1 1
      src/views/transfer/components/table-classify.vue
  61. 1 1
      src/views/transfer/components/table-collect.vue
  62. 4 4
      src/views/user/index.vue
  63. 3 3
      src/views/using/components/hc-tree.vue
  64. 3 4
      src/views/using/components/query/hc-tree.vue
  65. 9 9
      src/views/using/components/table-classify.vue
  66. 1 1
      src/views/using/components/table-collect.vue
  67. 16 17
      src/views/using/query.vue
  68. 0 5
      yarn.lock

+ 0 - 1
package.json

@@ -24,7 +24,6 @@
         "split.js": "^1.6.5",
         "vue": "^3.2.47",
         "vue-router": "^4.1.6",
-        "vue-utils-plus": "^1.0.5",
         "vuedraggable": "^4.1.0"
     },
     "devDependencies": {

+ 3 - 3
src/App.vue

@@ -8,8 +8,8 @@
 import {nextTick, ref, watch} from "vue";
 import {useAppStore} from "~src/store";
 import AppConfig from "~com/AppConfig/index.vue";
-import {setMainColor} from "~src/utils/tools";
-import {getObjValue, ulog, useOsTheme} from "vue-utils-plus"
+import {setElementMainColor, ulog, getObjValue} from "js-fast-way"
+import {useOsTheme} from '~src/plugins/useOsTheme';
 import config from '~src/config/index';
 
 //初始变量
@@ -35,7 +35,7 @@ nextTick(()=> {
 const setUserTheme = (theme, appColor) => {
     const colorVal = getObjValue(appColor)
     //设置主色调
-    setMainColor(colorVal?.color)
+    setElementMainColor(colorVal?.color)
     const colorName = colorVal?.name || 'green'
     //设置主题
     let val = UserTheme.value

+ 1 - 1
src/api/modules/oss.js

@@ -6,7 +6,7 @@ export default {
         return httpApi({
             url: '/api/blade-resource/oss/endpoint/put-file',
             method: 'post',
-            data: form
+            data: form,
         }, msg);
     },
     //移除文件

+ 13 - 0
src/api/modules/upload.js

@@ -0,0 +1,13 @@
+import request from "~src/api/request/index";
+
+//上传文件
+export const useUploadFile = ({file, onProgress}) => request({
+    url: '/api/blade-resource/oss/endpoint/upload-file',
+    method: 'post',
+    data: file,
+    onUploadProgress: (progressEvent) => { //原生获取上传进度的事件
+        if(progressEvent.lengthComputable){
+            onProgress(progressEvent);
+        }
+    },
+});

+ 1 - 1
src/api/request/httpApi.js

@@ -1,5 +1,5 @@
 import request from "./index";
-import {getObjValue} from "vue-utils-plus"
+import { getObjValue } from "js-fast-way"
 
 //封装的请求
 export const httpApi = async (obj, message= true) => {

+ 1 - 1
src/api/request/index.js

@@ -3,7 +3,7 @@ import {Base64} from 'js-base64';
 import website from '~src/config';
 import router from '~src/router/index';
 import {getToken} from '~src/api/util/auth';
-import {toSerialize} from "vue-utils-plus"
+import {toSerialize} from "js-fast-way"
 
 //默认超时时间
 axios.defaults.timeout = 300000;

+ 3 - 3
src/components/tree/hc-tree-1.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import {getArchiveTreeLazyTree} from '~api/other';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
             let lastKey = keys[keys.length-1];
             for (const item of resData) {
                 //自动展开
-                if (isItem(keys,item?.id)) {
+                if (isArrItem(keys,item?.id)) {
                     defaultExpandedArr.push(item?.id)
                 }
                 //最后一个,选中点击
@@ -226,7 +226,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 11 - 12
src/components/tree/hc-tree.vue

@@ -1,5 +1,5 @@
 <template>
-  
+
           <el-radio-group v-model="radioKeys" @change="treeRadioChange">
             <ElTree class="hc-tree-node tree-line" :class="ui" ref="ElTreeRef" :props="ElTreeProps" :load="ElTreeLoadNode" lazy highlight-current accordion node-key="id"
                     :default-expanded-keys="defaultExpandedCids" @node-click="ElTreeClick" @node-contextmenu="ElTreeLabelContextMenu" :indent="0" >
@@ -9,13 +9,13 @@
                         <div class="label level-name" v-if="node.level === 1" >{{ node.label }}</div>
                         <div class="label" v-else>
                             <el-radio class="size-xl" :label="data['id']" @click.stop v-if="isRadio && showRadioFun(data)">{{ node.label }}</el-radio>
-                            <span v-else>{{ node.label }}</span>  
+                            <span v-else>{{ node.label }}</span>
                             <div class="menu-icon1" :class="node.showTreeMenu?'show':''" v-if="node.level !== 1 && menusData.length > 0">
                                 <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu($event,data,node)">
                                     <HcIcon name="apps" ui="text-2xl"/>
                                 </div>
                             </div>
-                            
+
                             <!--没有传入菜单使用默认的-->
                             <div class="menu-icon1" :class="node.showTreeMenu?'show':''" v-if="node.level !== 1 && menusData.length < 1">
                                 <div class="cu-tree-node-popover-menu-icon" @click.prevent.stop="ElTreeLabelContextMenu2($event,data,node)">
@@ -34,9 +34,9 @@
                 </template>
             </ElTree>
           </el-radio-group>
-   
- 
- 
+
+
+
 
     <!--右键菜单-->
     <HcContextMenu ref="contextMenuRef" :datas="menusData" @item-click="handleMenuSelect" v-if="menusData.length > 0" @closed="handleMenuClosed">
@@ -61,10 +61,9 @@
 
 <script setup>
 import {ref,nextTick,watch} from "vue";
-import { getArchiveTreeLazyTree,initTree } from '~api/other';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
-
 import {remove,syncProjectTree} from "~api/other";
+import {getArchiveTreeLazyTree,initTree} from '~api/other';
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 import EditNodeDialog from "~src/components/dialog/EditNodeDialog.vue"
 import SortNodeDialog from "~src/components/dialog/SortNodeDialog.vue"
 import {delMessage} from "~uti/tools";
@@ -201,7 +200,7 @@ const ElTreeLoadNode = async (node, resolve) => {
             let lastKey = keys[keys.length-1];
             for (const item of resData) {
                 //自动展开
-                if (isItem(keys,item?.id)) {
+                if (isArrItem(keys,item?.id)) {
                     defaultExpandedArr.push(item?.id)
                 }
                 //最后一个,选中点击
@@ -277,7 +276,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }
@@ -414,7 +413,7 @@ defineExpose({
 @import "../../styles/app/tree.scss";
 .el-radio-group {
     width: auto;
-   
+
 }
 .data-custom-tree-node {
     .label{

+ 1 - 0
src/config/index.js

@@ -17,6 +17,7 @@ export default {
     refreshTokenKey: 'archives-refresh-token',
     statusWhiteList: [],    //http的status默认放行列表
     role_id: "1610526744728031234",  //档案总管理角色组ID
+    isLog: 'auto',  //是否打印日志
     ...config,
     ossUrl: 'https://bladex-chongqing-info.oss-cn-hangzhou.aliyuncs.com', //oss地址
 

+ 1 - 1
src/global/components/hc-context-menu/index.vue

@@ -15,7 +15,7 @@
 <script setup>
 import {ref, useSlots, watch, nextTick, onMounted, onBeforeUnmount} from "vue";
 import {ClickOutside as vClickOutside} from 'element-plus'
-import {getRandom, deepClone} from "vue-utils-plus"
+import {getRandom, deepClone} from "js-fast-way"
 
 const props = defineProps({
     ui: {

+ 1 - 1
src/global/components/hc-drag-modal/index.vue

@@ -24,7 +24,7 @@
 
 <script setup>
 import { ref,nextTick,watch } from "vue"
-import { getRandom } from "vue-utils-plus"
+import { getRandom } from "js-fast-way"
 //参数
 const props = defineProps({
     ui: {

+ 2 - 2
src/global/components/hc-menu-simple/index.vue

@@ -23,7 +23,7 @@
 
 <script setup>
 import {nextTick, ref, watch} from "vue";
-import {getObjValue, getObjNullValue} from "vue-utils-plus"
+import {getObjValue, getObjVal} from "js-fast-way"
 const props = defineProps({
     ui: {
         type: String,
@@ -114,7 +114,7 @@ const handleMenuSelect = ({key}) => {
 //菜单关闭
 const handleMenuClosed = () => {
     const item = menuItemData.value;
-    if (getObjNullValue(item)) {
+    if (getObjVal(item)) {
         menuItemData.value.showMenuIcon = false
     }
 }

+ 4 - 4
src/global/components/hc-report-experts/index.vue

@@ -12,7 +12,7 @@
                 <el-table-column prop="position" label="职位" align="center" width="130"/>
                 <el-table-column prop="group" label="是否为组长" align="center" width="120">
                     <template #default="scope">
-                        {{getArrKeyValue(groupSelectData, 'value', 'label', scope.row.group)}}
+                        {{arrKeyValue(groupSelectData, 'value', 'label', scope.row.group)}}
                     </template>
                 </el-table-column>
                 <el-table-column prop="idCard" label="身份证" align="center"/>
@@ -54,8 +54,8 @@
 
 <script setup>
 import {onMounted, ref, watch} from "vue";
-import {getArrValue, getArrKeyValue, isValidate, deepClone} from "vue-utils-plus"
-const { isIdCard, isMobile, formValidate } = isValidate()
+import {getArrValue, deepClone, arrKeyValue, formValidate, isIdCard, isPhone} from "js-fast-way"
+
 const props = defineProps({
     modelValue: {
         type: Array,
@@ -127,7 +127,7 @@ const formRules = ref({
         validator: (rule, value, callback) => {
             if (!value) {
                 callback(new Error('请输入手机号'))
-            } else if (!isMobile(value)) {
+            } else if (!isPhone(value)) {
                 callback(new Error('身份证号码格式错误'))
             } else {
                 callback()

+ 2 - 2
src/global/components/hc-report-modal/index.vue

@@ -57,7 +57,7 @@
 <script setup>
 import {ref,watch,onMounted} from "vue";
 import tasksFlowApi from '~api/tasks/flow';
-import {getArrValue,getIndex,formValidate} from "vue-utils-plus"
+import {formValidate, getArrValue, arrIndex} from "js-fast-way"
 
 const props = defineProps({
     show: {
@@ -205,7 +205,7 @@ const handleProcessValue = (val) => {
     if (val > 0) {
         diyProcessUser.value = false
         const list = processData.value
-        const index = getIndex(list, 'id', val)
+        const index = arrIndex(list, 'id', val)
         linkUserJoinString.value = list[index]?.linkUserJoinString
     } else {
         linkUserJoinString.value = ''

+ 2 - 1
src/global/components/hc-sms-auth/index.vue

@@ -31,7 +31,8 @@ import {ref, watch} from "vue"
 import {useAppStore} from "~src/store";
 //import {sendNotice, saveSmsTimeout} from '~api/other';
 import config from '~src/config/index';
-import {formValidate} from "vue-utils-plus"
+
+import {formValidate} from "js-fast-way"
 //参数
 const props = defineProps({
     show: {

+ 2 - 2
src/global/components/hc-tabs-simple/index.vue

@@ -19,7 +19,7 @@
 
 <script setup>
 import {nextTick, ref, watch} from "vue";
-import {getIndex} from "vue-utils-plus"
+import {arrIndex} from "js-fast-way"
 const props = defineProps({
     datas: {
         type: Array,
@@ -51,7 +51,7 @@ nextTick(() => {
 
 //获取索引
 const getCurIndex = (datas,key) => {
-    curIndex.value = getIndex(datas, 'key', key)
+    curIndex.value = arrIndex(datas, 'key', key)
 }
 
 //事件

+ 1 - 1
src/global/components/hc-tasks-user/index.vue

@@ -105,7 +105,7 @@
 <script setup>
 import {ref, watch, onMounted} from "vue";
 import tasksFlowApi from '~api/tasks/flow';
-import {getArrValue,deepClone} from "vue-utils-plus"
+import {getArrValue, deepClone} from "js-fast-way"
 import Draggable from "vuedraggable";
 
 //参数

+ 3 - 2
src/global/components/hc-uploads/formItem.vue

@@ -29,8 +29,9 @@
 <script setup>
 import {ref, watch, onMounted} from "vue";
 import {getTokenHeader} from '~src/api/request/header';
-import {isSize} from "vue-utils-plus"
+import {isFileSize} from "js-fast-way"
 import {genFileId} from "element-plus";
+
 const props = defineProps({
     modelValue: {
         type: String,
@@ -115,7 +116,7 @@ const getFileName = (url) => {
 
 //上传前
 const beforeUpload = async (file) => {
-    if (isSize(file?.size,props.size)) {
+    if (isFileSize(file?.size,props.size)) {
         return true;
     } else {
         window?.$message?.warning('文件大小, 不能过' + props.size + 'M!');

+ 6 - 6
src/global/components/hc-uploads/index.vue

@@ -13,7 +13,7 @@
 <script setup>
 import {ref,watch,onMounted} from "vue";
 import {getTokenHeader} from '~src/api/request/header';
-import {getIndex, getObjValue, getObjNullValue, isSize} from "vue-utils-plus"
+import {isFileSize, getObjValue, getObjVal, arrIndex} from "js-fast-way"
 import {genFileId} from "element-plus";
 
 const props = defineProps({
@@ -84,7 +84,7 @@ const emit = defineEmits(['change', 'progress', 'del', 'preview'])
 const spinShow = ref(false)
 const beforeFileNum = ref(0)
 const beforeUpload = async (file) => {
-    if (isSize(file?.size, props.size)) {
+    if (isFileSize(file?.size, props.size)) {
         beforeFileNum.value ++;
         spinShow.value = true
         return true;
@@ -151,7 +151,7 @@ const uploadClearFiles = () => {
 const getUploadFileList = (fileListArr) => {
     let fileArr = [], fileList = fileListArr ??[];
     fileList.forEach(item => {
-        if (getObjNullValue(item?.response)) {
+        if (getObjVal(item?.response)) {
             const data = getObjValue(item?.response?.data)
             fileArr.push({
                 ...data,
@@ -174,7 +174,7 @@ const previewFileList = ref([])
 const uploadPreview = (file) => {
     let fileArr = getUploadFileUrl()
     const fileList = fileListData.value ?? [];
-    const index = getIndex(fileList, 'uid', file?.uid)
+    const index = arrIndex(fileList, 'uid', file?.uid)
     if (props.viewer) {
         previewFileList.value = fileArr
         initialIndex.value = index
@@ -188,7 +188,7 @@ const uploadPreview = (file) => {
 const getUploadFileUrl = () => {
     let fileArr = [], fileList = fileListData.value ?? [];
     fileList.forEach(item => {
-        if (getObjNullValue(item?.response)) {
+        if (getObjVal(item?.response)) {
             fileArr.push(item?.response?.data?.link)
         } else {
             fileArr.push(item?.url)
@@ -200,7 +200,7 @@ const getUploadFileUrl = () => {
 //删除文件
 const uploadRemove = (row) => {
     let link;
-    if (getObjNullValue(row?.response)) {
+    if (getObjVal(row?.response)) {
         link = row?.response?.data?.link
     } else {
         link = row?.url

+ 5 - 5
src/layout/modules/HelpInfoBar.vue

@@ -35,8 +35,8 @@ import { ref,watch,nextTick } from "vue";
 import { useRouter,useRoute } from 'vue-router'
 import { useAppStore } from "~src/store";
 import ScreenShot from "js-web-screen-shot";
-import { getStoreData }  from '~src/utils/storage'
-import { getOneObjValue, getObjValue } from "vue-utils-plus"
+import { getStoreValue }  from '~src/utils/storage'
+import {getObjValue, getToObjVal} from "js-fast-way"
 
 //初始变量
 const router = useRouter()
@@ -44,7 +44,7 @@ const useRoutes = useRoute()
 const useAppState = useAppStore()
 
 //相关变量
-const route = getObjValue(getStoreData('route'))
+const route = getObjValue(getStoreValue('route'))
 const bubbleVal = ref(useAppState.getBubble);
 const videoUrl = ref('')
 const excelUrl = ref('')
@@ -76,12 +76,12 @@ nextTick(() => {
 
 //取文档地址
 const getExcelUrl = (name) => {
-    excelUrl.value = getOneObjValue(route, name, 'excelUrl')
+    excelUrl.value = getToObjVal(route, name, 'excelUrl')
 }
 
 //取视频地址
 const getVideoUrl = (name) => {
-    videoUrl.value = getOneObjValue(route, name, 'videoUrl')
+    videoUrl.value = getToObjVal(route, name, 'videoUrl')
 }
 
 //处理屏幕截图的配置

+ 4 - 4
src/layout/modules/UserInfoBar.vue

@@ -25,8 +25,8 @@ import {useAppStore} from "~src/store";
 import website from "~src/config/index";
 import avatarPng from '~src/assets/images/avatar.png';
 import {RefreshToken,LogOut} from "~sto/user";
-import {getStoreData} from '~src/utils/storage'
-import {calcDate,isValueNull} from "vue-utils-plus"
+import {getStoreValue} from '~src/utils/storage'
+import {calcDate, isNullES} from "js-fast-way"
 
 //变量
 const router = useRouter()
@@ -48,9 +48,9 @@ onMounted(() => {
 //刷新token
 const getRefreshToken = () => {
     setInterval(() => {
-        const token = getStoreData("token",true) || {};
+        const token = getStoreValue("token",true) || {};
         const date = calcDate(token.datetime, new Date().getTime());
-        if (isValueNull(date)) return;
+        if (isNullES(date)) return;
         if (date.seconds >= website.tokenTime && !refreshLock.value) {
             refreshLock.value = true;
             console.log('刷新token')

+ 11 - 0
src/plugins/uploadFile.js

@@ -0,0 +1,11 @@
+
+class uploadFile {
+    constructor(x, y) {
+        this.x = x;
+        this.y = y;
+    }
+}
+
+export {
+    uploadFile
+}

+ 75 - 0
src/plugins/useOsTheme.js

@@ -0,0 +1,75 @@
+import {ref, onBeforeMount, onBeforeUnmount, getCurrentInstance} from 'vue'
+
+let usedCount = 0, darks, lights, managable = true
+
+const osTheme = ref(null)
+const supportMatchMedia = typeof window !== 'undefined' && window.matchMedia !== undefined
+
+//获取系统主题
+export const useOsTheme = () => {
+    if (process.env.NODE_ENV !== 'test' && !supportMatchMedia) {
+        return osTheme.value
+    }
+    if (process.env.NODE_ENV === 'test' && window.matchMedia === undefined) {
+        return osTheme.value
+    }
+    if (usedCount === 0) init()
+    if (managable && (managable = hasInstance())) {
+        onBeforeMount(() => {
+            usedCount += 1
+        })
+        onBeforeUnmount(() => {
+            usedCount -= 1
+            if (usedCount === 0) clean()
+        })
+    }
+    return osTheme.value
+}
+
+const handleDarkMqlChange = (e) => {
+    if (e.matches) {
+        osTheme.value = 'dark'
+    }
+}
+
+const handleLightMqlChange = (e) => {
+    if (e.matches) {
+        osTheme.value = 'light'
+    }
+}
+
+const init = () => {
+    darks = window.matchMedia('(prefers-color-scheme: dark)')
+    lights = window.matchMedia('(prefers-color-scheme: light)')
+    if (darks.matches) {
+        osTheme.value = 'dark'
+    } else if (lights.matches) {
+        osTheme.value = 'light'
+    } else {
+        osTheme.value = null
+    }
+    if (darks.addEventListener) {
+        darks.addEventListener('change', handleDarkMqlChange)
+        lights.addEventListener('change', handleLightMqlChange)
+    } else if (darks.addListener) {
+        darks.addListener(handleDarkMqlChange)
+        lights.addListener(handleLightMqlChange)
+    }
+}
+
+const clean = () => {
+    if ('removeEventListener' in darks) {
+        darks.removeEventListener('change', handleDarkMqlChange)
+        lights?.removeEventListener('change', handleLightMqlChange)
+    } else if ('removeListener' in darks) {
+        darks?.removeListener(handleDarkMqlChange)
+        lights?.removeListener(handleLightMqlChange)
+    }
+
+    darks = undefined
+    lights = undefined
+}
+
+export const hasInstance = () => {
+    return getCurrentInstance() !== null
+}

+ 3 - 3
src/router/index.js

@@ -5,7 +5,7 @@ import {getToken} from '~src/api/util/auth'
 import {getRouterData, getTokenRouter} from './routers'
 import NProgress from "nprogress";
 import "~src/styles/app/nprogress.scss";
-import {getStoreData} from "~uti/storage";
+import {getStoreValue} from "~uti/storage";
 import website from '~src/config/index'
 
 //设置路由数据
@@ -29,8 +29,8 @@ router.beforeResolve(async (to) => {
         return true
     } else {
         //判断角色组
-        const projectId = getStoreData('projectId')
-        const role_id = getStoreData('role_id')
+        const projectId = getStoreValue('projectId')
+        const role_id = getStoreValue('role_id')
         if (role_id === website.role_id) {
             //如果等于总管理,判断项目ID(总管理时,进入其他页面,必须先选择项目)
             if (!projectId) {

+ 5 - 5
src/router/routers.js

@@ -1,14 +1,14 @@
-import { getStoreData }  from '~src/utils/storage'
-import {getArrValue,isItem} from "vue-utils-plus"
+import { getStoreValue }  from '~src/utils/storage'
+import {isArrItem, getArrValue} from "js-fast-way"
 
 //获取路由菜单
 export const getRouterData = async (toName) => {
-    const routes = getArrValue(getStoreData('routes'))
-    return !!isItem(routes, toName);
+    const routes = getArrValue(getStoreValue('routes'))
+    return !!isArrItem(routes, toName);
 }
 
 //获取路由菜单
 export const getTokenRouter = (toName) => {
     const routes = ['/home/index', '/user/index', '/user/project', '/config/theme']
-    return !!isItem(routes, toName);
+    return !!isArrItem(routes, toName);
 }

+ 43 - 43
src/store/index.js

@@ -1,37 +1,37 @@
 import { defineStore } from 'pinia'
 import pinia from "~src/store/init"
 import appConfig from '~src/config/app';
-import {getStoreData, setStoreData, clearStoreAll}  from '~src/utils/storage'
+import {getStoreValue, setStoreValue, clearStoreAll}  from '~src/utils/storage'
 import {setToken, setRefreshToken, removeToken,removeRefreshToken} from '~src/api/util/auth'
 
 export const useAppStore = defineStore('main', {
     state: () =>({
         //主题信息
-        theme: getStoreData('theme') || appConfig.theme,    //用户可选择类型:auto,light, dark
-        themeVal: getStoreData('themeVal') || '',           //实际主题:light, dark
-        color: getStoreData('color') || appConfig.color,
-        homeTheme: getStoreData('homeTheme') || appConfig.homeTheme,
+        theme: getStoreValue('theme') || appConfig.theme,    //用户可选择类型:auto,light, dark
+        themeVal: getStoreValue('themeVal') || '',           //实际主题:light, dark
+        color: getStoreValue('color') || appConfig.color,
+        homeTheme: getStoreValue('homeTheme') || appConfig.homeTheme,
         //用户信息
-        token: getStoreData( 'token') || '',
-        refreshToken: getStoreData('refreshToken') || '',
-        tenantId: getStoreData('tenantId') || '',
-        userInfo: getStoreData('userInfo') || {},
-        role_id: getStoreData('role_id') || {},
+        token: getStoreValue( 'token') || '',
+        refreshToken: getStoreValue('refreshToken') || '',
+        tenantId: getStoreValue('tenantId') || '',
+        userInfo: getStoreValue('userInfo') || {},
+        role_id: getStoreValue('role_id') || {},
         //菜单信息
-        menus: getStoreData('menus') || [],
-        buttons: getStoreData('buttons') || {},
+        menus: getStoreValue('menus') || [],
+        buttons: getStoreValue('buttons') || {},
         //项目合同段数据
-        projectContract: getStoreData('projectContract') || [],
-        projectInfo: getStoreData('projectInfo') || {},
-        contractInfo: getStoreData('contractInfo') || {},
-        projectId: getStoreData('projectId') || '',
-        contractId: getStoreData('contractId') || '',
+        projectContract: getStoreValue('projectContract') || [],
+        projectInfo: getStoreValue('projectInfo') || {},
+        contractInfo: getStoreValue('contractInfo') || {},
+        projectId: getStoreValue('projectId') || '',
+        contractId: getStoreValue('contractId') || '',
         //其他配置信息
-        bubble: getStoreData('bubble') || false,
-        orderServiceTipModal: getStoreData('orderServiceTipModal') ?? 1, //0不弹出,1弹出
-        shotWebRtc: getStoreData('shotWebRtc') || 0, //WebRtc截图方式: 0关闭,1开启
-        fullScreen: getStoreData('fullScreen') || 0, //全屏截图:0关闭,1开启
-        isCollapse: getStoreData('isCollapse') || false, //菜单折叠
+        bubble: getStoreValue('bubble') || false,
+        orderServiceTipModal: getStoreValue('orderServiceTipModal') ?? 1, //0不弹出,1弹出
+        shotWebRtc: getStoreValue('shotWebRtc') || 0, //WebRtc截图方式: 0关闭,1开启
+        fullScreen: getStoreValue('fullScreen') || 0, //全屏截图:0关闭,1开启
+        isCollapse: getStoreValue('isCollapse') || false, //菜单折叠
         isScreenShort: false,
         barMenuName: '',
     }),
@@ -68,51 +68,51 @@ export const useAppStore = defineStore('main', {
         //主题信息
         setTheme(value) {
             this.theme = value
-            setStoreData('theme',value)
+            setStoreValue('theme',value)
         },
         setThemeVal(value) {
             this.themeVal = value
-            setStoreData('themeVal',value)
+            setStoreValue('themeVal',value)
         },
         setColor(value) {
             this.color = value
-            setStoreData('color',value)
+            setStoreValue('color',value)
         },
         setHomeTheme(value) {
             this.homeTheme = value
-            setStoreData('homeTheme',value)
+            setStoreValue('homeTheme',value)
         },
         //用户信息
         setTokenVal(value){
             this.token = value
             setToken(value)
-            setStoreData('token',value)
+            setStoreValue('token',value)
         },
         setRefreshTokenVal(value){
             this.refreshToken = value
             setRefreshToken(value)
-            setStoreData('refreshToken',value)
+            setStoreValue('refreshToken',value)
         },
         setTenantId(value){
             this.tenantId = value
-            setStoreData('tenantId',value)
+            setStoreValue('tenantId',value)
         },
         setUserInfo(value){
             this.userInfo = value
-            setStoreData('userInfo',value)
+            setStoreValue('userInfo',value)
         },
         setRoleId(value){
             this.role_id = value
-            setStoreData('role_id',value)
+            setStoreValue('role_id',value)
         },
         //菜单信息
         setMenus(value){
             this.menus = value
-            setStoreData('menus',value)
+            setStoreValue('menus',value)
         },
         setButtons(value){
             this.buttons = value
-            setStoreData('buttons',value)
+            setStoreValue('buttons',value)
         },
         getButtonsVal(value) {
             return this.buttons[value] || false;
@@ -120,47 +120,47 @@ export const useAppStore = defineStore('main', {
         //项目合同段数据
         setProjectContract(value) {
             this.projectContract = value
-            setStoreData('projectContract',value)
+            setStoreValue('projectContract',value)
         },
         setProjectInfo(value) {
             this.projectInfo = value
-            setStoreData('projectInfo',value)
+            setStoreValue('projectInfo',value)
         },
         setContractInfo(value) {
             this.contractInfo = value
-            setStoreData('contractInfo',value)
+            setStoreValue('contractInfo',value)
         },
         setProjectId(value) {
             this.projectId = value
-            setStoreData('projectId',value)
+            setStoreValue('projectId',value)
         },
         setContractId(value) {
             this.contractId = value
-            setStoreData('contractId',value)
+            setStoreValue('contractId',value)
         },
         //其他配置信息
         setBubble(value) {
             this.bubble = value
-            setStoreData('bubble',value)
+            setStoreValue('bubble',value)
         },
         setOrderServiceTipModal(value) {
             this.orderServiceTipModal = value
-            setStoreData('orderServiceTipModal',value)
+            setStoreValue('orderServiceTipModal',value)
         },
         setScreenShort(value) {
             this.isScreenShort = value
         },
         setShotWebRtc(value) {
             this.shotWebRtc = value
-            setStoreData('shotWebRtc',value)
+            setStoreValue('shotWebRtc',value)
         },
         setFullScreen(value) {
             this.fullScreen = value
-            setStoreData('fullScreen',value)
+            setStoreValue('fullScreen',value)
         },
         setCollapse(value) { //菜单折叠
             this.isCollapse = value
-            setStoreData('isCollapse',value)
+            setStoreValue('isCollapse',value)
         },
         //清除缓存和token
         clearStoreData() {

+ 4 - 4
src/store/modules/app.js

@@ -2,14 +2,14 @@ import pinia from "~src/store/init"
 import { useAppStore } from "~src/store";
 import { getButtons } from '~api/menu';
 import { getProjectAndContract } from '~api/user';
-import { getStoreData }  from '~src/utils/storage'
-import { ArrToOneObj, getArrValue } from "vue-utils-plus"
+import { getStoreValue }  from '~src/utils/storage'
+import {ArrToOneObj, getArrValue} from "js-fast-way"
 
 const store = useAppStore(pinia)
 
 //项目合同段初始化
 export const initProjectContract = async () => {
-    const value = getStoreData('projectContract')
+    const value = getStoreValue('projectContract')
     if (!value) {
         const { error, data } = await getProjectAndContract();
         if (error) return Promise.reject('error');
@@ -23,7 +23,7 @@ export const initProjectContract = async () => {
 
 //按钮初始化
 export const initButtons = async () => {
-    const value = getStoreData('buttons')
+    const value = getStoreValue('buttons')
     if (!value) {
         const { error, data } = await getButtons();
         if (error) return Promise.reject('error');

+ 7 - 6
src/store/modules/user.js

@@ -4,10 +4,11 @@ import {useAppStore} from "~src/store";
 import {getRoutes} from '~api/menu';
 import themeData from '~src/config/theme';
 import tokenData from "~src/router/modules/token";
-import {setStoreData} from "~src/utils/storage";
+import {setStoreValue} from "~src/utils/storage";
 import {userLogin,refreshToken,logout} from '~api/user';
 import {userConfigInfo, userConfigSave} from "~api/other";
-import {ArrToOneObj, getArrValue, getIndex, getObjValue, useOsTheme} from "vue-utils-plus"
+import {ArrToOneObj, getArrValue, getObjValue, arrIndex} from "js-fast-way"
+import {useOsTheme} from '~src/plugins/useOsTheme';
 
 //初始变量
 const store = useAppStore(pinia)
@@ -51,8 +52,8 @@ export const initUserConfigInfo = async () => {
         }
         //获取主色调和首页主题数据
         let themeColor = themeData.color, themeHome = themeData.home;
-        let colorIndex = getIndex(themeColor,'name',color)
-        let homeIndex = getIndex(themeHome,'name',homeTheme)
+        let colorIndex = arrIndex(themeColor,'name',color)
+        let homeIndex = arrIndex(themeHome,'name',homeTheme)
         //设置主色调
         if (colorIndex !== -1) {
             store.setColor(themeColor[colorIndex])
@@ -93,8 +94,8 @@ export const setRouterData = async () => {
     const routes = [...tokenData, ...routesArr] //合并
     //数据缓存
     store.setMenus(resData)
-    setStoreData('route', routesObj)
-    setStoreData('routes', routes)
+    setStoreValue('route', routesObj)
+    setStoreValue('routes', routes)
     return Promise.resolve(true);
 }
 

+ 0 - 1
src/test/index.vue

@@ -8,7 +8,6 @@
 
 <script setup>
 import {ref, onMounted, nextTick} from "vue";
-//import { getRandom } from "vue-utils-plus"
 
 onMounted(()=> {
 

+ 18 - 3
src/utils/storage.js

@@ -1,4 +1,19 @@
+import {setStoreData, getStoreData, delStoreData, clearStoreAll} from "js-fast-way"
 import website from '~src/config/index'
-import { utilsStore } from "vue-utils-plus";
-const { getStoreData, setStoreData, delStoreData, clearStoreAll } = utilsStore(website.key)
-export { getStoreData, setStoreData, delStoreData, clearStoreAll }
+
+//获取缓存
+export const getStoreValue = (key, debug = false, session = false) => {
+    return getStoreData(website.key + '-' + key, debug, session)
+}
+
+//保存缓存
+export const setStoreValue = (key, value, session = false) => {
+    return setStoreData(website.key + '-' + key, value, session)
+}
+
+//删除缓存
+export const delStoreValue = (key, session = false) => {
+    return delStoreData(website.key + '-' + key, session)
+}
+
+export {clearStoreAll}

+ 37 - 27
src/utils/tools.js

@@ -1,41 +1,25 @@
-import {toColor, clog, getIndex} from "vue-utils-plus"
+import {clog, arrIndex} from "js-fast-way"
+import config from "~src/config/index";
+
 import {useAppStore} from "~src/store";
 const store = useAppStore()
 
-//设置主色调
-export const setMainColor = (color) => {
-    color = color ?? '#1ECC95'
-    const el = document.documentElement
-    el.style.setProperty('--el-color-primary', color)
-    // 设置 css 渐变 变量
-    const numArr = [3,5,7,8,9]
-    numArr.forEach(item => {
-        let amount = 0
-        if (item === 3) {
-            amount = 0.9
-        } else if (item === 5) {
-            amount = 0.7
-        } else if (item >= 7) {
-            amount = amount = (10 - item) / 10
-        }
-        const val = toColor('#FFFFFF', color , amount)
-        el.style.setProperty(`--el-color-primary-light-${item}`, val)
-    })
-    //生成深主色颜色
-    const val = toColor('#000000', color , 0.9)
-    el.style.setProperty('--el-color-primary-dark-2', val)
-}
-
 //控制台打印
 export const HcLog = (name, tips, data) => {
     const title = store.barMenuName ?? '';
-    clog(name, tips, data, title)
+    if (config.isLog === 'auto') {
+        if (import.meta.env.DEV) {
+            clog(title, name, tips, data)
+        }
+    } else if (config.isLog === true) {
+        clog(title, name, tips, data)
+    }
 }
 
 //取数组中的值
 export const getRowsValue = (arr, key, key2, value) => {
     if (value) {
-        const index = getIndex(arr, key, value)
+        const index = arrIndex(arr, key, value)
         return arr[index][key2]
     } else {
         return ''
@@ -78,3 +62,29 @@ export const delMessage = (cbk) => {
         }
     })
 }
+
+//日期格式化
+export const dateFormat = (date, format) => {
+    format = format || 'yyyy-MM-dd hh:mm:ss';
+    if (date !== 'Invalid Date') {
+        let o = {
+            "M+": date.getMonth() + 1, //month
+            "d+": date.getDate(), //day
+            "h+": date.getHours(), //hour
+            "m+": date.getMinutes(), //minute
+            "s+": date.getSeconds(), //second
+            "q+": Math.floor((date.getMonth() + 3) / 3), //quarter
+            "S": date.getMilliseconds() //millisecond
+        }
+        if (/(y+)/.test(format)) {
+            format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
+        }
+        for (let k in o) {
+            if (new RegExp("(" + k + ")").test(format)) {
+                format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
+            }
+        }
+        return format;
+    }
+    return '';
+}

+ 4 - 4
src/views/archives/appraisal.vue

@@ -96,8 +96,8 @@ import HcTree from "~src/components/tree/hc-tree.vue"
 import ProjectTree from "./components/ProjectTree.vue"
 import DestoryDialog from './components/destory-dialog.vue'
 import projectScanningApi from "~api/other-file/projectScanning";
-import {getStoreData, setStoreData} from '~src/utils/storage'
-import {downloadBlob, getArrValue, deepClone} from "vue-utils-plus"
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
 
 //变量
 const useAppState = useAppStore()
@@ -291,7 +291,7 @@ const getClassIfyList = async () => {
     console.log(ElTreeData.value,'ElTreeData');
 }
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('scanningTreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 
 //项目树被点击
 const treeNodeInfo = ref({})
@@ -321,7 +321,7 @@ const nodeElTreeClick = ({node, data, keys, key}) => {
     // setTableColumns()
     // getTableData()
     //缓存展开的节点
-    setStoreData('scanningTreeExpandKeys', keys)
+    setStoreValue('scanningTreeExpandKeys', keys)
 }
 </script>
 

+ 10 - 10
src/views/archives/bookmark.vue

@@ -41,10 +41,10 @@
                                     </el-select>
                                 </el-form-item>
                         </el-col>
-                        
+
                     </el-row>
-                    
-                    <el-row  :gutter="20"> 
+
+                    <el-row  :gutter="20">
                         <el-col :span="12">
                                 <el-form-item label="目录名称">
                                     <el-input v-model="formInline.value.title" placeholder="请输入" />
@@ -124,8 +124,8 @@ import {useAppStore} from "~src/store";
 import HcTree from "~src/components/tree/hc-tree.vue"
 import projectScanningApi from "~api/other-file/projectScanning";
 import { getArchiveTreeLazyTree } from '~api/other';
-import {getStoreData, setStoreData} from '~src/utils/storage'
-import {downloadBlob, getArrValue, deepClone} from "vue-utils-plus"
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
 import {HcIsButton} from "~src/plugins/IsButtons";
 
 import {archiveTreeUpdate} from "~api/other";
@@ -240,16 +240,16 @@ const onmousedown = () => {
 
 
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('scanningTreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 
 //项目树被点击
 const nodeElTreeClick = ({node, data, keys, key}) => {
     console.log('点击',data);
     // treeNodeInfo.value = node
    formInline.value=data
-  
+
     //缓存展开的节点
-    setStoreData('scanningTreeExpandKeys', keys)
+    setStoreValue('scanningTreeExpandKeys', keys)
 }
 //设置树菜单数据
 const ElTreeMenu = ref([])
@@ -257,7 +257,7 @@ const TreeMark = ref(false)
 const setElTreeMenu = (contractType) => {
     let newArr = [];
     newArr=[
-      
+
         {icon: 'add-circle', label: '新增', key: "add"},
         {icon: 'draft', label: '编辑', key: "edit"},
         {icon: 'delete-bin', label: '删除', key: "del"},
@@ -298,4 +298,4 @@ const setTreeMenuDataClick = ({key,node,data}) => {
     font-size: 1.25rem;
 }
 
-</style>
+</style>

+ 4 - 5
src/views/archives/components/destory-dialog.vue

@@ -3,11 +3,11 @@
         <div class="modalbox">
             <h1 class="fsize">永久性销毁</h1>
             <p class="m20">请确认是否销毁您所勾选的【{{length}}】盒案卷信息,一旦销毁将无法复原</p>
-          
+
         </div>
-       
+
         <template #footer>
-            <el-alert title="改销毁为物理销毁,后台技术不会存储该数据,一经销毁再也找不回来数据" type="warning" :closable="false"  /> 
+            <el-alert title="改销毁为物理销毁,后台技术不会存储该数据,一经销毁再也找不回来数据" type="warning" :closable="false"  />
             <div class="dialog-footer" style="margin-top: 20px">
                 <el-button size="large" @click="cancelClick">
                     <HcIcon name="close"/>
@@ -27,7 +27,6 @@ import {ref, watch} from "vue"
 import {useAppStore} from "~src/store";
 //import {sendNotice, saveSmsTimeout} from '~api/other';
 import config from '~src/config/index';
-import {formValidate} from "vue-utils-plus"
 //参数
 const props = defineProps({
     show: {
@@ -89,4 +88,4 @@ const confirmClick = async () => {
      font-size: 1.25rem;
  }
 }
-</style>
+</style>

+ 3 - 3
src/views/archives/components/hc-tree.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -229,7 +229,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 5 - 6
src/views/archives/components/meta-info.vue

@@ -1,10 +1,10 @@
 <template>
     <el-drawer v-model="showModal"  v-if="showModal" title="元数据信息" class="hc-modal-border" draggable destroy-on-close @closed="cancelClick" :size="size"
     ref="drawerRef" :modal-class="uis" :class="`hc-drawer-box ${ui}`"   >
-        
+
        <metaTable  :isEdit="isEdit"/>
         <template #footer>
-          
+
             <div class="dialog-footer" style="margin-top: 20px" v-if="isEdit">
                 <el-button size="large" @click="cancelClick">
                     <HcIcon name="close"/>
@@ -27,7 +27,7 @@
             </div>
         </template>
     </el-drawer>
-      
+
 
 </template>
 
@@ -36,7 +36,6 @@ import {ref, watch,toRefs} from "vue"
 import {useAppStore} from "~src/store";
 //import {sendNotice, saveSmsTimeout} from '~api/other';
 import config from '~src/config/index';
-import {formValidate} from "vue-utils-plus"
 import MetaTable from './meta-table.vue'
 //参数
 const props = defineProps({
@@ -48,7 +47,7 @@ const props = defineProps({
         type: Boolean,
         default: false
     },
-  
+
 })
 
 //变量
@@ -100,4 +99,4 @@ const confirmClick = async () => {
  }
 }
 
-</style>
+</style>

+ 4 - 4
src/views/archives/meta-data.vue

@@ -114,8 +114,8 @@ import HcTree from "~src/components/tree/hc-tree.vue"
 import ProjectTree from "./components/ProjectTree.vue"
 import MetaInfo from './components/meta-info.vue'
 import projectScanningApi from "~api/other-file/projectScanning";
-import {getStoreData, setStoreData} from '~src/utils/storage'
-import {downloadBlob, getArrValue, deepClone} from "vue-utils-plus"
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
 
 //变量
 const useAppState = useAppStore()
@@ -370,7 +370,7 @@ const getClassIfyList = async () => {
     console.log(ElTreeData.value,'ElTreeData');
 }
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('scanningTreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 
 //项目树被点击
 const treeNodeInfo = ref({})
@@ -380,7 +380,7 @@ const isStorageNode = ref(0)
 const isBuiltDrawing = ref(0)
 const nodeElTreeClick = ({node, data, keys, key}) => {
     console.log('点击',data);
-    setStoreData('scanningTreeExpandKeys', keys)
+    setStoreValue('scanningTreeExpandKeys', keys)
 }
 </script>
 

+ 4 - 4
src/views/archives/rolling.vue

@@ -52,8 +52,8 @@ import {useAppStore} from "~src/store";
 import HcTree from "~src/components/tree/hc-tree.vue"
 import ProjectTree from "./components/ProjectTree.vue"
 import projectScanningApi from "~api/other-file/projectScanning";
-import {getStoreData, setStoreData} from '~src/utils/storage'
-import {downloadBlob, getArrValue, deepClone} from "vue-utils-plus"
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
+import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
 //变量
 const useAppState = useAppStore()
 const projectId = ref(useAppState.getProjectId);
@@ -194,7 +194,7 @@ const getClassIfyList = async () => {
     console.log(ElTreeData.value,'ElTreeData');
 }
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('scanningTreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 
 //项目树被点击
 const treeNodeInfo = ref({})
@@ -224,7 +224,7 @@ const nodeElTreeClick = ({node, data, keys, key}) => {
     // setTableColumns()
     // getTableData()
     //缓存展开的节点
-    setStoreData('scanningTreeExpandKeys', keys)
+    setStoreValue('scanningTreeExpandKeys', keys)
 }
 </script>
 

+ 4 - 4
src/views/archives/tuning.vue

@@ -263,11 +263,11 @@ import {useAppStore} from "~src/store";
 //import HcTree from "./components/hc-tree.vue"
 import HcTree from "~src/components/tree/hc-tree.vue"
 import ProjectTree from "./components/ProjectTree.vue"
-import {downloadBlob, getArrValue, deepClone} from "vue-utils-plus"
+import {downloadBlob, getArrValue, deepClone} from "js-fast-way"
 import {delMessage, rowsToId, rowsToIdNumArr} from "~uti/tools";
 
 import projectScanningApi from "~api/other-file/projectScanning";
-import {getStoreData, setStoreData} from '~src/utils/storage'
+import {getStoreValue, setStoreValue} from '~src/utils/storage'
 
 //变量
 const useAppState = useAppStore()
@@ -297,7 +297,7 @@ const treeNodeLoading = () => {
 }
 
 //自动展开缓存
-const TreeAutoExpandKeys = ref(getStoreData('scanningTreeExpandKeys') || [])
+const TreeAutoExpandKeys = ref(getStoreValue('scanningTreeExpandKeys') || [])
 
 //项目树被点击
 const treeNodeInfo = ref({})
@@ -307,7 +307,7 @@ const isStorageNode = ref(0)
 // const isBuiltDrawing = ref(0)
 const nodeElTreeClick = ({node, data, keys, key}) => {
     console.log('点击',data);
-    setStoreData('scanningTreeExpandKeys', keys)
+    setStoreValue('scanningTreeExpandKeys', keys)
 }
 //搜索表单
 const searchForm = ref({

+ 3 - 4
src/views/config/index.vue

@@ -107,9 +107,8 @@ import themeData from '~src/config/theme';
 import {userConfigSave} from "~api/other";
 import ImgTheme from "~src/assets/images/theme.png";
 import ImgColor from "~src/assets/images/color.png";
-import {setMainColor} from "~src/utils/tools";
-import {useOsTheme} from "vue-utils-plus"
-
+import {useOsTheme} from '~src/plugins/useOsTheme';
+import {setElementMainColor} from "js-fast-way"
 //初始变量
 const router = useRouter()
 const useRoutes = useRoute()
@@ -131,7 +130,7 @@ const ColorConfigClick = (item) => {
     useAppState.setColor(item)
     UserColorNmae.value = item?.name
     //设置主色调
-    setMainColor(item?.color)
+    setElementMainColor(item?.color)
     nextTick(() => {
         UserColor.value = item
     })

+ 8 - 9
src/views/custody/backup.vue

@@ -65,14 +65,14 @@
                         <div class="hc-backup-card-body" v-if="backupTabKey === 2">
                             <div class="hc-backup-card-btn">
                                 <el-button type="primary" hc-btn @click="balenewDataClick" :loading="balenewDataClickLoading">
-                                   
+
                                     <span>打包最新数据</span>
                                 </el-button>
                                 <el-button type="primary" hc-btn  @click="downUtilsClick" :loading="downUtilsClickLoading">
                                     <HcIcon name="download-2"/>
                                     <span>下载脱机载体工具</span>
                                 </el-button>
-                               
+
                             </div>
                             <HcTable :column="tableBasicColumn" :datas="tableBasicData" :isIndex="false" border/>
                             <div class="mt-5 hc-backup-table-box">
@@ -113,7 +113,6 @@
 import {ref, onMounted} from "vue";
 import {useAppStore} from "~src/store";
 import backupApi from "~api/backup/backupApi.js";
-import {getArrValue, deepClone, downloadBlob} from "vue-utils-plus"
 import { Loading } from "element-plus/es/components/loading/src/service";
 
 //变量
@@ -142,14 +141,14 @@ const downFileUrl=ref('')
 const getFileData=async()=>{
       const { error,response,data, res} = await backupApi.DownloadVersionInfo({
           projectId:projectId.value
-         
+
     })
     if (!error) {
         downFileUrl.value=data.fileUrl
         tableBasicData.value[0].size=data.fileSize
         tableBasicData.value[0].num=data.fileSize
         tableBasicData.value[0].baledate=data.uploadDate
-        
+
     }else{
         downUtilsClickLoading.value=false
     }
@@ -158,8 +157,8 @@ const downUtilsClick = () => {
     if (downFileUrl.value) {
          window.open(downFileUrl.value, '_blank')
     }
- 
-   
+
+
 }
 
 //打包最新数据
@@ -168,7 +167,7 @@ const balenewDataClick = async() => {
      balenewDataClickLoading.value=true
       const { error,response, res,data} = await backupApi.getpackData({
           projectId:projectId.value
-         
+
     })
     if (!error) {
            window.$message?.success(data)
@@ -176,7 +175,7 @@ const balenewDataClick = async() => {
     }else{
         balenewDataClickLoading.value=false
     }
-    
+
 }
 
 //表格

+ 3 - 3
src/views/custody/components/hc-tree.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -229,7 +229,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 0 - 1
src/views/custody/components/tab-expire.vue

@@ -9,7 +9,6 @@
 
 <script setup>
 import {ref, nextTick, watch} from "vue";
-import {getArrValue} from "vue-utils-plus"
 
 //参数
 const props = defineProps({

+ 0 - 1
src/views/custody/components/tab-reform.vue

@@ -12,7 +12,6 @@
 
 <script setup>
 import {ref, nextTick, watch} from "vue";
-import {getArrValue} from "vue-utils-plus"
 
 //参数
 const props = defineProps({

+ 0 - 1
src/views/custody/components/tab-spite.vue

@@ -9,7 +9,6 @@
 
 <script setup>
 import {ref, nextTick, watch} from "vue";
-import {getArrValue} from "vue-utils-plus"
 
 //参数
 const props = defineProps({

+ 31 - 2
src/views/file/collection.vue

@@ -303,6 +303,9 @@
             <template #footer>
                 <div class="lr-dialog-footer">
                     <div class="left flex items-center">
+                        <!--input ref="uploadFileRef" type="file" multiple
+                               accept="image/png,image/jpg,image/jpeg,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel,application/pdf,.doc,.docx,application/msword"
+                               @change="uploadFile" /-->
                         <HcFileUpload @change="uploadsChange" @progress="uploadsProgress">
                             <el-button type="primary" hc-btn :loading="uploadsLoading" :disabled="uploadSaveLoading">
                                 <HcIcon name="add-circle"/>
@@ -367,10 +370,11 @@ import HcTree from "~src/components/tree/hc-tree.vue"
 import HcFileUpload from "./components/HcFileUpload.vue"
 import notableform from '~src/assets/view/notableform.svg';
 import {delMessage, rowsToId, rowsToIdNumArr} from "~uti/tools";
-import {getArrValue, deepClone} from "vue-utils-plus"
+import archiveFileApi from "~api/archiveFile/archiveFile";
+import {useUploadFile} from "~api/upload";
+import {getArrValue, deepClone} from "js-fast-way"
 import tasksApi from '~api/tasks/data';
 import ossApi from "~api/oss";
-import archiveFileApi from "~api/archiveFile/archiveFile.js";
 
 //变量
 const useAppState = useAppStore()
@@ -392,6 +396,31 @@ onMounted(() => {
     setTableColumns()
 })
 
+//
+const uploadFile = async (event) => {
+    const files = event.target.files;
+    if (files.length > 0) {
+        for (let i = 0; i < files.length; i++) {
+            await uploadFileApi(files[i])
+        }
+    }
+    console.log(files)
+}
+
+const uploadFileApi = async (fileData) => {
+    const formData = new FormData();
+    formData.append('file', fileData);
+    useUploadFile({
+        file: formData,
+        onProgress: (e) => {
+            console.log(e)
+        },
+    }).then(res => {
+        console.log(res)
+    })
+}
+
+
 //树加载
 const treeLoading = ref(false)
 const treeNodeLoading = () => {

+ 2 - 2
src/views/file/components/HcFileUpload.vue

@@ -8,7 +8,7 @@
 <script setup>
 import {ref,watch,onMounted} from "vue";
 import {getTokenHeader} from '~src/api/request/header';
-import {isSize, deepClone, getObjValue} from "vue-utils-plus"
+import {isFileSize, deepClone, getObjValue} from "js-fast-way"
 const props = defineProps({
     datas: {
         type: Object,
@@ -57,7 +57,7 @@ const emit = defineEmits(['change', 'progress'])
 //上传前
 const beforeFileNum = ref(0)
 const beforeUpload = async (file) => {
-    if (isSize(file?.size, props.size)) {
+    if (isFileSize(file?.size, props.size)) {
         beforeFileNum.value ++;
         return true;
     } else {

+ 2 - 2
src/views/file/components/HcFileUploadLarge.vue

@@ -8,7 +8,7 @@
 <script setup>
 import {ref,watch,onMounted} from "vue";
 import {getTokenHeader} from '~src/api/request/header';
-import {isSize, deepClone, getObjValue} from "vue-utils-plus"
+import {isFileSize, deepClone, getObjValue} from "js-fast-way"
 import md5 from 'js-md5' //引入MD5加密
 import ossApi from "~api/oss";
 const props = defineProps({
@@ -454,7 +454,7 @@ const uploadFileHandle = (options) =>{
   }
 
   readFileMD5() // 开始执行代码
-  
+
 }
 /**
  * 并发执行

+ 3 - 3
src/views/file/components/hc-tree.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -230,7 +230,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 1 - 1
src/views/file/records.vue

@@ -266,7 +266,7 @@ import HcTree from "~src/components/tree/hc-tree.vue"
 import HcFileUpload from "./components/HcFileUploadLarge.vue"
 import notableform from '~src/assets/view/notableform.svg';
 import {delMessage, rowsToId, rowsToIdNumArr} from "~uti/tools";
-import {getArrValue, deepClone, downloadBlob} from "vue-utils-plus"
+import {getArrValue, deepClone, downloadBlob} from "js-fast-way"
 import tasksApi from '~api/tasks/data';
 import ossApi from "~api/oss";
 import archiveFileApi from "~api/archiveFile/archiveFileAuto.js";

+ 1 - 1
src/views/login/index.vue

@@ -65,7 +65,7 @@ import website from '~src/config/index'
 import router from '~src/router/index';
 import {useAppStore} from "~src/store";
 import {useAppLogin} from "~sto/user";
-import {formValidate} from "vue-utils-plus"
+import {formValidate} from "js-fast-way"
 import HcPicVue from './components/pic.vue'
 import HcHomeBg from './components/home-bg.vue'
 

+ 1 - 1
src/views/transfer/components/conclusion/table-opinion.vue

@@ -8,7 +8,7 @@
 
 <script setup>
 import {ref, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
 
 //参数

+ 1 - 1
src/views/transfer/components/conclusion/table-score.vue

@@ -21,7 +21,7 @@
 
 <script setup>
 import {ref, onMounted, watch} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
 
 //参数

+ 1 - 1
src/views/transfer/components/conclusion/table-stats.vue

@@ -40,7 +40,7 @@
 
 <script setup>
 import {ref, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 
 //参数
 const props = defineProps({

+ 1 - 1
src/views/transfer/components/examination/table-opinion.vue

@@ -17,7 +17,7 @@
 
 <script setup>
 import {ref, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
 
 //参数

+ 3 - 3
src/views/transfer/components/hc-tree.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -229,7 +229,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 1 - 1
src/views/transfer/components/submit-report/table-opinion.vue

@@ -14,7 +14,7 @@
 
 <script setup>
 import {ref, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
 
 //参数

+ 1 - 1
src/views/transfer/components/submit-report/table-score.vue

@@ -33,7 +33,7 @@
 
 <script setup>
 import {ref, onMounted, watch} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 import {delMessage} from "~uti/tools";
 
 //参数

+ 1 - 1
src/views/transfer/components/submit-report/table-stats.vue

@@ -35,7 +35,7 @@
 
 <script setup>
 import {ref, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 
 //参数
 const props = defineProps({

+ 1 - 1
src/views/transfer/components/table-classify.vue

@@ -20,7 +20,7 @@
 
 <script setup>
 import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 
 //参数
 const props = defineProps({

+ 1 - 1
src/views/transfer/components/table-collect.vue

@@ -47,7 +47,7 @@
 
 <script setup>
 import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue, getObjValue} from "vue-utils-plus"
+import {getArrValue, getObjValue} from "js-fast-way"
 import {rowsToId} from "~uti/tools";
 
 //参数

+ 4 - 4
src/views/user/index.vue

@@ -115,7 +115,7 @@ import userApi from "~api/userInfo/index"
 import {useRouter} from 'vue-router'
 import avatarPng from '~src/assets/images/avatar.png';
 import {getTokenHeader} from '~src/api/request/header';
-import {getIndex,formValidate,isMobile} from "vue-utils-plus"
+import {arrIndex, formValidate, isPhone} from "js-fast-way"
 import {HcIsButton} from "~src/plugins/IsButtons";
 import md5 from 'js-md5';
 
@@ -194,7 +194,7 @@ const setElTreeMenu = () => {
 
 //获取菜单对象数据
 const menuObjItem = () => {
-    const index = getIndex(menuOptions.value, 'key', menuKey.value)
+    const index = arrIndex(menuOptions.value, 'key', menuKey.value)
     menuItem.value = menuOptions.value[index]
 }
 //菜单被点击
@@ -234,7 +234,7 @@ const formUserRules = {
         validator: (rule, value, callback) => {
             if (!value) {
                 callback(new Error('请输入手机号'))
-            } else if (!isMobile(value)) {
+            } else if (!isPhone(value)) {
                 callback(new Error('手机号码格式错误'))
             } else {
                 callback()
@@ -285,7 +285,7 @@ const cancelUserClick = () => {
 //保存用户信息
 const saveUserInfoData = async () => {
     const { phone, user_id } = formUserModel.value
-    if (phone && isMobile(phone)) {
+    if (phone && isPhone(phone)) {
         saveUserLoading.value = true
         const { error, code } = await userApi.updateUserInfo({
             phone: phone,

+ 3 - 3
src/views/using/components/hc-tree.vue

@@ -33,7 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -150,7 +150,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -229,7 +229,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 3 - 4
src/views/using/components/query/hc-tree.vue

@@ -33,8 +33,7 @@
 <script setup>
 import {ref,nextTick,watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
-import {isItem,getArrValue,getObjValue,isValueNull} from "vue-utils-plus"
-
+import {isArrItem, getArrValue, getObjValue, isNullES} from "js-fast-way"
 //参数
 const props = defineProps({
     ui: {
@@ -150,7 +149,7 @@ const ElTreeLoadNode = async (node, resolve) => {
                 let lastKey = keys[keys.length-1];
                 for (const item of resData) {
                     //自动展开
-                    if (isItem(keys,item?.primaryKeyId)) {
+                    if (isArrItem(keys,item?.primaryKeyId)) {
                         defaultExpandedArr.push(item?.primaryKeyId)
                     }
                     //最后一个,选中点击
@@ -229,7 +228,7 @@ const handleMenuSelect = ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isValueNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 9 - 9
src/views/using/components/table-classify.vue

@@ -14,8 +14,8 @@
                                 <span>下载</span>
             </el-button>
         </div>
-          
-      
+
+
         <!-- <HcTable ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading"  class="tablebox" /> -->
           <HcTable1 ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection"  @row-click="tableRowClick">
                     <template #table-expand-header>
@@ -24,15 +24,15 @@
                                     <div class="rowbox">
                                 <h3>卷内文件</h3>
                             </div>
-                        </template> 
-                        
+                        </template>
+
                                 <HcTable ref="tableRef" :column="innertableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelection" @row-click="tableRowClick">
-                                   
+
                                 </HcTable>
-                        </HcCard> 
+                        </HcCard>
                     </template>
              </HcTable1>
-         
+
         <template #action>
          <div style="    display: flex;align-items: center;">
                <!-- <el-button type="primary" @click="oprensearchbox"  v-if="!searchboxshow">
@@ -51,7 +51,7 @@
 
 <script setup>
 import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue} from "vue-utils-plus"
+import {getArrValue} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -125,7 +125,7 @@ const innertableColumn = ref([
     {key:'key2', name: '题名',width:600},
     {key:'key3', name: '责任者'},
     {key:'key4', name: '页数'},
-   
+
 ])
 const tableData = ref([
     {

+ 1 - 1
src/views/using/components/table-collect.vue

@@ -57,7 +57,7 @@
 
 <script setup>
 import {ref, nextTick, watch, onMounted} from "vue";
-import {getArrValue, getObjValue} from "vue-utils-plus"
+import {getArrValue, getObjValue} from "js-fast-way"
 import {rowsToId} from "~uti/tools";
 
 //参数

+ 16 - 17
src/views/using/query.vue

@@ -39,25 +39,25 @@
                         <div class="hc-search-screening-item">
                             <div class="title">月份:</div>
                             <template v-for="item in months">
-                                <div class="screening-key" :class="isIndex(month,'key', item.key) ? 'cut': ''" @click="monthClick(item)">{{item.name}}</div>
+                                <div class="screening-key" :class="isArrIndex(month,'key', item.key) ? 'cut': ''" @click="monthClick(item)">{{item.name}}</div>
                             </template>
                         </div>
                         <div class="hc-search-screening-item">
                             <div class="title">期限:</div>
                             <template v-for="item in deadlines">
-                                <div class="screening-key" :class="isIndex(deadline,'key', item.key) ? 'cut': ''" @click="deadlineClick(item)">{{item.name}}</div>
+                                <div class="screening-key" :class="isArrIndex(deadline,'key', item.key) ? 'cut': ''" @click="deadlineClick(item)">{{item.name}}</div>
                             </template>
                         </div>
                         <div class="hc-search-screening-item">
                             <div class="title">密级:</div>
                             <template v-for="item in securitys">
-                                <div class="screening-key" :class="isIndex(security,'key', item.key) ? 'cut': ''" @click="securityClick(item)">{{item.name}}</div>
+                                <div class="screening-key" :class="isArrIndex(security,'key', item.key) ? 'cut': ''" @click="securityClick(item)">{{item.name}}</div>
                             </template>
                         </div>
                         <div class="hc-search-screening-item">
                             <div class="title">类别:</div>
                             <template v-for="item in classess">
-                                <div class="screening-key" :class="isIndex(classes,'key', item.key) ? 'cut': ''" @click="classesClick(item)">{{item.name}}</div>
+                                <div class="screening-key" :class="isArrIndex(classes,'key', item.key) ? 'cut': ''" @click="classesClick(item)">{{item.name}}</div>
                             </template>
                         </div>
                         <div class="hc-search-screening-item mb-4">
@@ -89,7 +89,7 @@
                         <template #action="{row,index}">
                             <el-button type="primary" size="small" @click.stop="consultFileClick(row)">查阅案卷</el-button>
                         </template>
-                    
+
                     </HcTable>
                     <template #action>
                         <HcPages :pages="searchForm" @change="pageChange"/>
@@ -161,25 +161,25 @@
                     </el-scrollbar>
                 </div>
                 <div class="hc-csc-data-box">
-                    <HcTable :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" :isIndex="false" v-if="tabTypeKey === 'tab1'">
+                    <HcTable :column="cscTableColumn1" :datas="cscTableData1" :loading="cscTableLoading" :isArrIndex="false" v-if="tabTypeKey === 'tab1'">
                         <template #name="{row}">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{row?.name}}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" :isIndex="false" v-if="tabTypeKey === 'tab2'">
+                    <HcTable :column="cscTableColumn2" :datas="cscTableData2" :loading="cscTableLoading" :isArrIndex="false" v-if="tabTypeKey === 'tab2'">
                         <template #name="{row}">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{row?.name}}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" :isIndex="false" v-if="tabTypeKey === 'tab3'">
+                    <HcTable :column="cscTableColumn3" :datas="cscTableData3" :loading="cscTableLoading" :isArrIndex="false" v-if="tabTypeKey === 'tab3'">
                         <template #name="{row}">
                             <div :class="row.id === 2 ? 'text-link' : 'text-hover'">{{row?.name}}</div>
                         </template>
                     </HcTable>
 
-                    <HcTable :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" :isIndex="false" v-if="tabTypeKey === 'tab4'">
+                    <HcTable :column="cscTableColumn4" :datas="cscTableData4" :loading="cscTableLoading" :isArrIndex="false" v-if="tabTypeKey === 'tab4'">
                         <template #name="{row}">
                             <div class="hc-csc-associated-row" :class="row.id === 2 ? 'text-link' : 'text-hover'">
                                 <el-tag effect="dark">{{row?.tag}}</el-tag>
@@ -251,10 +251,9 @@ import {useAppStore} from "~src/store";
 import MetaTable from "../transfer/components/meta-table.vue"
 //import HcNodeTree from "./components/query/hc-tree.vue"
 import HcNodeTree from "~src/components/tree/hc-tree-1.vue"
-import { getIndex, isIndex } from "vue-utils-plus"
+import {getArrValue, arrIndex, isArrIndex} from "js-fast-way"
 import website from '~src/config/index'
 import archiveQueryApi from "~api/using/query.js";
-import {getArrValue} from "js-fast-way"
 
 //变量
 const useAppState = useAppStore()
@@ -414,7 +413,7 @@ const setQueryFiltering = (arr, {key, name}) => {
         arr = [{key, name}]
     } else {
         //选中还是取消
-        const index = getIndex(arr, 'key', key)
+        const index = arrIndex(arr, 'key', key)
         if (index !== -1) {
             arr.splice(index, 1)
         } else {
@@ -422,7 +421,7 @@ const setQueryFiltering = (arr, {key, name}) => {
         }
         //如果存在所有,就删除所有。
         if (arr.length > 1) {
-            const isAll = getIndex(arr, 'key', 'all')
+            const isAll = arrIndex(arr, 'key', 'all')
             if (isAll !== -1) {
                 arr.splice(isAll, 1)
             }
@@ -510,7 +509,7 @@ const tableColumn = ref([
     {key:'action', name: '操作', width: 120},
 ])
 const tableData = ref([
-  
+
 ])
 const pdfUrl=ref('https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20221212/ce9799c7d18efc03efefd6f242439f2e.pdf')
 const tableLoading = ref(false)
@@ -520,7 +519,7 @@ const getTableData = async () => {
     const { error, code, data } = await archiveQueryApi.getarchiveQueryPage({
         ...searchForm.value,
         projectId: projectId.value,
-      
+
     })
     tableLoading.value = false
     if (!error && code === 200) {
@@ -555,7 +554,7 @@ const tableFileColumn = ref([
     {key:'action', name: '操作', width: 120},
 ])
 const tableFileData = ref([
-    
+
 ])
 const tableFileLoading = ref(false)
 const tableFileSelection = (rows) => {
@@ -579,7 +578,7 @@ const consultFileClick = (row) => {
     isCarrySpotChecksDrawer.value = true
     console.log(row,'row');
     pdfUrl.value=row['pdfFileUrl']||''
-   
+
 
 }
 const isCarrySpotChecksDrawer = ref(false)

+ 0 - 5
yarn.lock

@@ -1375,11 +1375,6 @@ vue-router@^4.1.6:
   dependencies:
     "@vue/devtools-api" "^6.4.5"
 
-vue-utils-plus@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmjs.org/vue-utils-plus/-/vue-utils-plus-1.0.5.tgz"
-  integrity sha512-gvOsRl+YvgeYz/6BezN5SrFMiKCbC7VUEnWiEi2gdYc1OJmO1fDYV1QCjX75wlXhIlLziKux/+WHIFc22JOGwQ==
-
 vue@^3.2.47:
   version "3.2.47"
   resolved "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz"