Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

yusm 6 bulan lalu
induk
melakukan
90f6bd1dd5

+ 29 - 33
fhKeeper/formulahousekeeper/customerBuler-crm/package-lock.json

@@ -12,6 +12,8 @@
         "@zmjs/form-design": "file:../plugIn/form-design-master/update",
         "animate.css": "^4.1.1",
         "axios": "^1.6.7",
+        "browserslist": "^4.24.2",
+        "caniuse-lite": "^1.0.30001680",
         "echarts": "^5.5.0",
         "element-plus": "^2.5.6",
         "pinia": "^2.1.7",
@@ -1270,10 +1272,9 @@
       }
     },
     "node_modules/browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
-      "dev": true,
+      "version": "4.24.2",
+      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.2.tgz",
+      "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
       "funding": [
         {
           "type": "opencollective",
@@ -1289,10 +1290,10 @@
         }
       ],
       "dependencies": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "caniuse-lite": "^1.0.30001669",
+        "electron-to-chromium": "^1.5.41",
+        "node-releases": "^2.0.18",
+        "update-browserslist-db": "^1.1.1"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -1311,10 +1312,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001616",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz",
-      "integrity": "sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==",
-      "dev": true,
+      "version": "1.0.30001680",
+      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz",
+      "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==",
       "funding": [
         {
           "type": "opencollective",
@@ -1476,10 +1476,9 @@
       }
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.756",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.756.tgz",
-      "integrity": "sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw==",
-      "dev": true
+      "version": "1.5.63",
+      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz",
+      "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA=="
     },
     "node_modules/element-plus": {
       "version": "2.7.2",
@@ -1562,10 +1561,9 @@
       }
     },
     "node_modules/escalade": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
-      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
-      "dev": true,
+      "version": "3.2.0",
+      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
       "engines": {
         "node": ">=6"
       }
@@ -2021,10 +2019,9 @@
       "dev": true
     },
     "node_modules/node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
-      "dev": true
+      "version": "2.0.18",
+      "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.18.tgz",
+      "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
     },
     "node_modules/normalize-path": {
       "version": "3.0.0",
@@ -2105,9 +2102,9 @@
       }
     },
     "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+      "version": "1.1.1",
+      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
     },
     "node_modules/picomatch": {
       "version": "2.3.1",
@@ -2844,10 +2841,9 @@
       "dev": true
     },
     "node_modules/update-browserslist-db": {
-      "version": "1.0.15",
-      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz",
-      "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==",
-      "dev": true,
+      "version": "1.1.1",
+      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
+      "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
       "funding": [
         {
           "type": "opencollective",
@@ -2863,8 +2859,8 @@
         }
       ],
       "dependencies": {
-        "escalade": "^3.1.2",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.2.0",
+        "picocolors": "^1.1.0"
       },
       "bin": {
         "update-browserslist-db": "cli.js"

+ 2 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/package.json

@@ -15,6 +15,8 @@
     "@zmjs/form-design": "file:../plugIn/form-design-master/update",
     "animate.css": "^4.1.1",
     "axios": "^1.6.7",
+    "browserslist": "^4.24.2",
+    "caniuse-lite": "^1.0.30001680",
     "echarts": "^5.5.0",
     "element-plus": "^2.5.6",
     "pinia": "^2.1.7",

+ 56 - 12
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/personnelSearch/personnelSearch.vue

@@ -35,9 +35,9 @@ const getSelectedLabel = computed(() => {
     return item ? item.label : props.placeholder
   }
 
-  if(props.multiple) {
-    if(Array.isArray(selectedValue.value)) {
-      if(selectedValue.value.length <= 0) {
+  if (props.multiple) {
+    if (Array.isArray(selectedValue.value)) {
+      if (selectedValue.value.length <= 0) {
         return props.placeholder
       }
       const item = getPersonnelListItems(selectedValue.value);
@@ -51,7 +51,7 @@ const getSelectedLabel = computed(() => {
 })
 
 function tagClose(_evt: MouseEvent) {
-  if(Array.isArray(selectedValue.value)) {
+  if (Array.isArray(selectedValue.value)) {
     selectedValue.value.shift()
     updateValue(selectedValue.value)
   }
@@ -84,7 +84,7 @@ function filterMethods(val: string) {
   if (val == '') {
     personnelArray.value = personnelList.value
     selectLoading.value = false
-    return
+    return personnelArray.value
   }
   getUserList(val)
 }
@@ -101,17 +101,51 @@ onMounted(() => {
     personnelArray.value = personnelList.value
   }
 })
-
-console.log(props, userInfo.value, '<==== 看看数据')
 </script>
 
 <template>
-  <el-select v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
+  <!-- <el-select v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
     :loading="selectLoading" :placeholder="placeholder" :disabled="disabled" clearable filterable collapse-tags
     :style="`width: ${width}`"
     :class="`custom-select ${userInfo.userNameNeedTranslate != 1 && !controlTranslation.visibleFlag ? 'setUpInput' : ''}`"
     @change="updateValue" @visible-change="visibleChange"
     :filter-method="(val: string) => { selectLoading = true, filterMethod(val) }">
+    搜索内容显示
+    <template #prefix v-if="!multiple">
+      <div style="height: 100%;display: flex;align-items: center;">
+        单选
+        <div v-if="!controlTranslation.visibleFlag" class="selectSingleChoice">
+          <template v-if="getSelectedLabel == placeholder">
+            {{ placeholder }}
+          </template>
+<template v-else>
+            <span style="color: #303133;">
+              <TextTranslation translationTypes="userName" :translationValue="getSelectedLabel"></TextTranslation>
+            </span>
+          </template>
+</div>
+</div>
+</template>
+<template #tag v-if="multiple">
+      多选
+      <template v-if="Array.isArray(selectedValue) && selectedValue.length > 0">
+        <el-tag type="info" :size="size" closable @close="tagClose">
+          <TextTranslation translationTypes="userName" :translationValue="getSelectedLabel"></TextTranslation>
+        </el-tag>
+        <el-tag type="info" :size="size" v-if="selectedValue.length > 1">+{{ selectedValue.length }}</el-tag>
+      </template>
+<template v-else>
+        <span style="color: #A8ABB2">{{ placeholder }}</span> 
+      </template>
+</template>
+主题内容显示
+<el-option v-for="item in personnelArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
+</el-select> -->
+  <el-select-v2 v-model="selectedValue" :ref="`selectRef${timeRef}`" :multiple="multiple" :size="size"
+    :loading="selectLoading" :placeholder="placeholder" :disabled="disabled" clearable filterable collapse-tags
+    :style="`width: ${width}`" :options="personnelArray"
+    :class="`custom-select ${!controlTranslation.visibleFlag ? 'setUpInput' : ''}`" @change="updateValue"
+    @visible-change="visibleChange" :filter-method="filterMethod">
     <!-- 搜索内容显示 -->
     <template #prefix v-if="!multiple">
       <div style="height: 100%;display: flex;align-items: center;">
@@ -137,12 +171,17 @@ console.log(props, userInfo.value, '<==== 看看数据')
         <el-tag type="info" :size="size" v-if="selectedValue.length > 1">+{{ selectedValue.length }}</el-tag>
       </template>
       <template v-else>
-        <span style="color: #A8ABB2">{{ placeholder }}</span> 
+        <span style="color: #A8ABB2">{{ placeholder }}</span>
       </template>
     </template>
-    <!-- 主题内容显示 -->
-    <el-option v-for="item in personnelArray" :key="item.value" :label="item.label" :value="item.value"></el-option>
-  </el-select>
+    <!-- 基础 -->
+    <template #default="{ item }">
+      <div class="flex items-center">
+        <TextTranslation translationTypes="userName" :translationValue="item.label"></TextTranslation>
+      </div>
+    </template>
+  </el-select-v2>
+  <span class="aabbcc">aabbcc</span>
 </template>
 
 <style lang="scss" scoped>
@@ -150,6 +189,7 @@ console.log(props, userInfo.value, '<==== 看看数据')
   :deep(.el-select__placeholder.is-transparent) {
     color: transparent !important;
   }
+
   :deep(.el-select__placeholder) {
     span {
       display: none;
@@ -160,4 +200,8 @@ console.log(props, userInfo.value, '<==== 看看数据')
 .setUpInput :deep(.el-input__inner) {
   color: #fff !important;
 }
+
+.aabbcc {
+  color: $modena;
+}
 </style>

+ 8 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/textTranslation/textTranslation.vue

@@ -1,9 +1,9 @@
 <template>
-  <template v-if="userInfo.userNameNeedTranslate == 1">
-    <ww-open-data :type='translationTypes' :openid='translationValue'></ww-open-data>
+  <template v-if="!translationVal">
+    {{ translationValue }}
   </template>
   <template v-else>
-    {{ translationValue }}
+    <ww-open-data :type="translationTypes" :openid="translationValue"></ww-open-data>
   </template>
 </template>
 <script lang="ts" setup>
@@ -19,5 +19,9 @@ interface Props {
 const props = defineProps<Props>();
 const { userInfo } = storeToRefs(useStore());
 
-console.log(props, '<==== 看看数据')
+const translationVal = ref(false);
+
+onMounted(() => {
+  translationVal.value = userInfo.value.userNameNeedTranslate == 0 ? false : true;
+})
 </script>

+ 1 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/home.vue

@@ -60,7 +60,7 @@ const agentConfig = () => {
             console.log(window, 'window')
             //  wx.agentConfig成功回调后,WWOpenData 才会注入到 window 对象上面
             if (window.WWOpenData) {
-              window.WWOpenData.bind(document.querySelector('TranslationOpenDataText'))
+              window.WWOpenData.bind(document.querySelector('ww-open-data'))
               if (WWOpenData.initCanvas) {
                 WWOpenData.initCanvas()
                 console.log('我企业微信 canvas 应该执行了吧')

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/vite.config.ts

@@ -10,7 +10,13 @@ const target = "http://127.0.0.1:10010";
 // const target = 'http://47.101.180.183:10010';
 
 export default defineConfig({
-  plugins: [vue()],
+  plugins: [vue({
+    template: {
+      compilerOptions: {
+        isCustomElement: (tag) => tag === 'ww-open-data'
+      }
+    }
+  })],
   server: {
     host: '0.0.0.0',
     port: 19123,
@@ -33,7 +39,9 @@ export default defineConfig({
   css: {
     preprocessorOptions: {
       scss: {
-        additionalData: '@import "@/styles/global.scss";'
+        // additionalData: '@import "@/styles/global.scss";'
+        additionalData: '@use "@/styles/global.scss" as *;', // 使用 @use 语法
+        api: "modern-compiler"
       }
     }
   },