Lijy 5 hónapja
szülő
commit
356a9de144
47 módosított fájl, 461 hozzáadás és 132 törlés
  1. 5 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/components/TaskModal/index.vue
  2. 14 6
      fhKeeper/formulahousekeeper/customerBuler-crm/src/components/detailcompinents/relatedTasks.vue
  3. 10 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/personnelSearch/personnelSearch.vue
  4. 2 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/textTranslation/textTranslation.vue
  5. 8 3
      fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/treeSelect/treeSelect.vue
  6. 7 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/attachment.vue
  7. 4 1
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/deteleTables.vue
  8. 12 5
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/information.vue
  9. 6 1
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/operationRecord.vue
  10. 7 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/relatedTasks.vue
  11. 10 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/index.vue
  12. 10 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/attachment.vue
  13. 4 1
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/deteleTables.vue
  14. 13 3
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/information.vue
  15. 7 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/operationRecord.vue
  16. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/relatedBusiness.vue
  17. 5 0
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/index.vue
  18. 58 15
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/corpreport/index.vue
  19. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/attachment.vue
  20. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/deteleTables.vue
  21. 6 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/information.vue
  22. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/operationRecord.vue
  23. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedBusiness.vue
  24. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedContacts.vue
  25. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedOrders.vue
  26. 17 6
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/index.vue
  27. 3 3
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/api.ts
  28. 7 3
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/attachment.vue
  29. 4 1
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/deteleTables.vue
  30. 12 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/information.vue
  31. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/operationRecord.vue
  32. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/rebate.vue
  33. 8 1
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/index.vue
  34. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/attachment.vue
  35. 12 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/information.vue
  36. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/operationRecord.vue
  37. 3 0
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/relatedBusiness.vue
  38. 3 0
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/relatedSalesOrder.vue
  39. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/deteleTables.vue
  40. 14 4
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/index.vue
  41. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/tasks/index.vue
  42. 6 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/attachment.vue
  43. 11 6
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/information.vue
  44. 8 3
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/operationRecord.vue
  45. 10 2
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/deteleTables.vue
  46. 18 6
      fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/index.vue
  47. 31 0
      fhKeeper/formulahousekeeper/customerBuler-crm/src/utils/translationProcessing.ts

+ 5 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/TaskModal/index.vue

@@ -46,10 +46,11 @@
           </el-select>
         </el-form-item>
         <el-form-item label="执行人:">
-          <el-select v-model="form.executorId" placeholder="请选择" clearable multiple filterable
+          <!-- <el-select v-model="form.executorId" placeholder="请选择" clearable multiple filterable
             :disabled="disabledList && disabledList.includes('executorId')">
             <el-option v-for="item in executorValueData" :key="item.id" :value="item.id" :label="item.name" />
-          </el-select>
+          </el-select> -->
+          <personnel-search v-model="form.executorId" :size="''" multiple placeholder="请选择" :disabled="disabledList && disabledList.includes('executorId')"></personnel-search>
         </el-form-item>
         <el-form-item label="重复提醒:">
           <el-switch v-model="form.isRepeat" :active-value="1" :inactive-value="0" @change="changeRepeat" />
@@ -136,6 +137,8 @@ import { FormInstance, dayjs } from 'element-plus';
 import { getFromValue } from '@/utils/tools';
 import { Props, Emits } from './type';
 import { URL_GETALL } from '@/pages/contacts/api';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
+
 const props = defineProps<Props>()
 const emits = defineEmits<Emits>();
 watch(() => props.saveLoading, (val) => {

+ 14 - 6
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/detailcompinents/relatedTasks.vue

@@ -17,7 +17,15 @@
                 </el-table-column>
                 <el-table-column prop="priorityStr" sortable label="优先级" width="130" />
                 <el-table-column prop="statusStr" label="状态" width="130" />
-                <el-table-column prop="executorNamesStr" label="执行人" width="130" />
+                <el-table-column prop="executorNamesStr" label="执行人" width="130">
+                    <template #default="scope">
+                        <template v-for="(item, index) in (scope.row.executorNames || [])">
+                            <TextTranslation translationTypes="userName" :translationValue="item">
+                            </TextTranslation>
+                            <span v-if="index < (scope.row.executorNames || []).length - 1">,</span>
+                        </template>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="startTimes" sortable label="开始时间" width="130" />
                 <el-table-column prop="endTimes" sortable label="截至时间" width="130" />
             </el-table>
@@ -106,11 +114,11 @@ function receiveAssignment(item: any) {
     information.value = item.information
     const dataVal = item.data
     for (let i in dataVal) {
-        dataVal[i].executorNamesStr = (dataVal[i].executorNames || []).join(','),
-            dataVal[i].startTimes = dataVal[i].startDate ? formatDate(new Date(dataVal[i].startDate)) : '',
-            dataVal[i].endTimes = dataVal[i].endDate ? formatDate(new Date(dataVal[i].endDate)) : '',
-            dataVal[i].priorityStr = PRIORITY.find(item => item.value == dataVal[i].priority)?.label || '',
-            dataVal[i].statusStr = STATUS.find(item => item.value == dataVal[i].status)?.label || ''
+        dataVal[i].executorNamesStr = (dataVal[i].executorNames || []).join(',')
+        dataVal[i].startTimes = dataVal[i].startDate ? formatDate(new Date(dataVal[i].startDate)) : ''
+        dataVal[i].endTimes = dataVal[i].endDate ? formatDate(new Date(dataVal[i].endDate)) : ''
+        dataVal[i].priorityStr = PRIORITY.find(item => item.value == dataVal[i].priority)?.label || ''
+        dataVal[i].statusStr = STATUS.find(item => item.value == dataVal[i].status)?.label || ''
     }
     relatedTaskstable.value = dataVal
 }

+ 10 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/personnelSearch/personnelSearch.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { ref, reactive, onMounted, inject, watchEffect, computed } from 'vue';
+import { ref, reactive, onMounted, inject, watchEffect, watch, computed } from 'vue';
 import { debounce } from 'lodash';
 import { storeToRefs } from 'pinia';
 import { Emits, optionsType } from '../type';
@@ -8,7 +8,7 @@ import { generateUniqueId } from '@/utils/tools'
 import { post, get, uploadFile } from "@/utils/request";
 
 const props = defineProps({
-  modelValue: { type: [String, Number, Array, Object, Boolean], required: true },
+  modelValue: { type: null, required: true },
   multiple: { type: Boolean, required: false, default: false },
   size: { type: String as () => assemblySize, required: true, default: () => 'small' },
   placeholder: { type: String, required: false, default: () => '请选择' },
@@ -30,9 +30,15 @@ const controlTranslation = reactive({
 
 const selectedValue = ref(props.modelValue); // 响应式绑定 v-model 的值
 
+watch(() => props.modelValue, (newValue, _oldValue) => {
+  if(newValue != selectedValue.value) {
+    selectedValue.value = newValue
+  }
+});
+
 const getSelectedLabel = computed(() => {
   if (!props.multiple) {
-    const item = getPersonnelListItems(selectedValue.value);
+    const item = getPersonnelListItems(selectedValue.value || props.modelValue);
     return item ? item.label : props.placeholder
   }
 
@@ -41,7 +47,7 @@ const getSelectedLabel = computed(() => {
       if (selectedValue.value.length <= 0) {
         return props.placeholder
       }
-      const item = getPersonnelListItems(selectedValue.value);
+      const item = getPersonnelListItems(selectedValue.value || props.modelValue);
       return item ? item.label : props.placeholder
     } else {
       return props.placeholder

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

@@ -1,9 +1,9 @@
 <template>
   <template v-if="!translationVal">
-    {{ translationValue }}
+    {{ translationValue }} a
   </template>
   <template v-else>
-    <ww-open-data :type="translationTypes" :openid="translationValue"></ww-open-data>
+    <ww-open-data :type="translationTypes" :openid="translationValue"></ww-open-data> a
   </template>
 </template>
 <script lang="ts" setup>

+ 8 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/components/translationComponent/treeSelect/treeSelect.vue

@@ -1,5 +1,5 @@
 <script lang="ts" setup>
-import { ref, reactive, onMounted, inject, watchEffect, computed } from 'vue';
+import { ref, reactive, onMounted, inject, watchEffect, computed, watch } from 'vue';
 import type { CascaderProps, CascaderNode } from 'element-plus'
 import { cloneDeep, debounce } from 'lodash';
 import { post } from "@/utils/request";
@@ -10,7 +10,7 @@ import { updateDepTreeData, generateUniqueId } from '@/utils/tools'
 const emit = defineEmits<Emits>();
 
 const props = defineProps({
-  modelValue: { type: [String, Number, Array, Object, Boolean], required: true },
+  modelValue: { type: null, required: true },
   size: { type: String as () => assemblySize, required: true, default: () => 'small' },
   placeholder: { type: String, required: false, default: () => '请选择' },
   multiple: { type: Boolean, required: false, default: false }, // 多选
@@ -41,8 +41,13 @@ const selectLoading = ref(false);
 const treeSelectRef = ref();
 const searchCriteria = ref<string[]>([])
 
+watch(() => props.modelValue, (newValue, _oldValue) => {
+  if(newValue != treeSelectVal.value) {
+    treeSelectVal.value = newValue
+  }
+});
+
 const getSelectedLabel = computed(() => {
-  console.log(treeSelectVal.value, '<==== 执行')
   if (!props.multiple) {
     return treeSelectVal.value ? findLabelById(treeSelectArray.value, treeSelectVal.value) : props.placeholder
   }

+ 7 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/attachment.vue

@@ -13,9 +13,14 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 200px;">
-                <el-table-column prop="name" label="附件名称" width="180" />
+                <el-table-column prop="name" label="附件名称" />
                 <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="userName" label="上传人" width="120" />
+                <el-table-column prop="userName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="newCreateTime" label="上传时间" width="180" />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">

+ 4 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/deteleTables.vue

@@ -21,7 +21,10 @@
                     <el-table-column v-for="(item, index) in tableColumn" :prop="item.prop" :label="item.label" :key="index"
                         :width="item.width">
                         <template #default="scope">
-                            <span>{{ scope.row[item.prop] }}</span>
+                            <template v-if="['inchargerName', 'creatorName'].includes(item.prop)">
+                                <TextTranslation translationTypes="userName" :translationValue="scope.row[item.prop]"></TextTranslation>
+                            </template>
+                            <span v-else>{{ scope.row[item.prop] }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">

+ 12 - 5
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/information.vue

@@ -22,7 +22,8 @@
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-22 text-right text-gray-500">联系人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">{{ information.contactsName }}
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
+                    {{ information.contactsName }}
                 </div>
             </div>
             <div class="formItem flex pt-3 pb-1">
@@ -32,7 +33,9 @@
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-22 text-right text-gray-500">负责人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">{{ information.inchargerName }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
+                    <TextTranslation translationTypes="userName" :translationValue="information.inchargerName"></TextTranslation>
+                </div>
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-22 text-right text-gray-500">预计成交日期:</div>
@@ -41,7 +44,9 @@
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-22 text-right text-gray-500">创建人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">{{ information.creatorName }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
+                    <TextTranslation translationTypes="userName" :translationValue="information.creatorName"></TextTranslation>
+                </div>
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-22 text-right text-gray-500">创建时间:</div>
@@ -88,9 +93,10 @@
             <div class="scroll-bar m-6">
                 <div class="flex mb-4">
                     <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-                    <el-select v-model="transferValue" placeholder="请选择" class="flex1">
+                    <!-- <el-select v-model="transferValue" placeholder="请选择" class="flex1">
                         <el-option v-for="item in transferOptions" :key="item.id" :label="item.name" :value="item.id" />
-                    </el-select>
+                    </el-select> -->
+                    <personnel-search v-model="transferValue" :size="''" placeholder="请选择"></personnel-search>
                 </div>
                 <div class="pl-3 text-[#e94a4a]">转移后,将看不到此商机</div>
             </div>
@@ -128,6 +134,7 @@ import { formatDateTime } from '@/utils/times';
 import { confirmAction } from '@/utils/tools';
 import { useStore } from '@/store/index'
 import { URL_GETALL } from '@/pages/contacts/api';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const { userInfo } = useStore()
 const globalPopup = inject<GlobalPopup>('globalPopup')

+ 6 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/operationRecord.vue

@@ -6,7 +6,12 @@
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
                 <el-table-column prop="newCreatTime" label="操作时间" width="160" />
-                <el-table-column prop="userName" label="操作人" width="120" />
+                <el-table-column prop="userName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="name" label="操作内容" />
             </el-table>
         </div>

+ 7 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/component/relatedTasks.vue

@@ -12,12 +12,17 @@
                     <template #default="scope">
                         <el-button link type="primary" size="large">{{
                             scope.row.taskName
-                        }}</el-button>
+                            }}</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column prop="priority" label="优先级" width="130" />
                 <el-table-column prop="status" label="状态" width="130" />
-                <el-table-column prop="executor" label="执行人" width="130" />
+                <el-table-column prop="executor" label="执行人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.executor">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="startTime" label="开始时间" width="130" />
                 <el-table-column prop="endTime" label="截至时间" width="130" />
             </el-table>

+ 10 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/business/index.vue

@@ -25,9 +25,10 @@
               </el-select>
             </el-form-item>
             <el-form-item label="负责人">
-              <el-select v-model="businessOpportunityForm.inchargerId" placeholder="请选择" clearable>
+              <!-- <el-select v-model="businessOpportunityForm.inchargerId" placeholder="请选择" clearable>
                 <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-              </el-select>
+              </el-select> -->
+              <personnel-search v-model="businessOpportunityForm.inchargerId" :size="''" placeholder="请选择"></personnel-search>
             </el-form-item>
             <el-form-item label="创建时间">
               <el-date-picker v-model="businessOpportunityForm.startTime" type="date" placeholder="请选择"
@@ -72,6 +73,9 @@
               <template #default="scope">
                 <div class="table-text-textnowrap" v-if="item.eventName"
                   @click="dealWithTableColumn(scope.row, item.eventName)">{{ scope.row[item.prop] }}</div>
+                <template v-else-if="['inchargerName', 'creatorName'].includes(item.prop)">
+                  <TextTranslation translationTypes="userName" :translationValue="scope.row[item.prop]"></TextTranslation>
+                </template>
                 <template v-else>{{ scope.row[item.prop] }}</template>
               </template>
             </el-table-column>
@@ -134,9 +138,10 @@
       <div class="scroll-bar m-6">
         <div class="flex mb-4">
           <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-          <el-select v-model="transferPersonnel" placeholder="请选择" class="flex1">
+          <!-- <el-select v-model="transferPersonnel" placeholder="请选择" class="flex1">
             <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-          </el-select>
+          </el-select> -->
+          <personnel-search v-model="transferPersonnel" :size="''" placeholder="请选择"></personnel-search>
         </div>
         <div class="pl-3 text-[#e94a4a]">转移后,将看不到此商机</div>
       </div>
@@ -195,6 +200,7 @@ import TaskModal from '@/components/TaskModal/index.vue'
 import DeteleBusiness from './component/deteleTables.vue'
 import StageSetting from './component/stageSetting.vue'
 import { GETTABLELISTPRODUCT } from "../order/api";
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const route = useRoute()
 const router = useRouter()

+ 10 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/attachment.vue

@@ -13,9 +13,14 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 200px;">
-                <el-table-column prop="documentName" label="附件名称" width="180" />
+                <el-table-column prop="documentName" label="附件名称" />
                 <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="creatorName" label="上传人" width="120" />
+                <el-table-column prop="creatorName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="indate" label="上传时间" width="180" />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">
@@ -33,7 +38,8 @@
                 <div class="flex justify-between items-center border-b pb-3 dialog-header">
                     <h4 :id="titleId">{{ '文件重命名' }}</h4>
                     <div>
-                        <el-button type="primary" @click="saveEditClue()" :loading="allLoading.saveLoading">保存</el-button>
+                        <el-button type="primary" @click="saveEditClue()"
+                            :loading="allLoading.saveLoading">保存</el-button>
                         <el-button @click="allVisible.renameDialogVisible = false">取消</el-button>
                     </div>
                 </div>
@@ -76,7 +82,7 @@ const allVisible = reactive({
 })
 
 function saveEditClue() {
-    if(!fileFormVal.value.name) {
+    if (!fileFormVal.value.name) {
         globalPopup?.showWarning('请输入文件名称')
         return
     }

+ 4 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/deteleTables.vue

@@ -21,7 +21,10 @@
                     <el-table-column v-for="(item, index) in tableColumns" :prop="item.prop" :label="item.label" :key="index"
                         :width="item.width">
                         <template #default="scope">
-                            <span>{{ scope.row[item.prop] }}</span>
+                            <template v-if="['creatorName', 'ownerName'].includes(item.prop)">
+                                <TextTranslation translationTypes="userName" :translationValue="scope.row[item.prop]"></TextTranslation>
+                            </template>
+                            <span v-else>{{ scope.row[item.prop] }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">

+ 13 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/information.vue

@@ -11,7 +11,14 @@
         <div class="form flex flex-wrap justify-between">
             <div v-for="item in formItems" :key="item.label" class="formItem flex pt-2 pb-1" :style="{ width: item.width }">
                 <div :class="item.labelClass">{{ item.label }}:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>{{ item.value }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>
+                    <template v-if="['ownerName', 'creatorName'].includes(item.key)">
+                        <TextTranslation translationTypes="userName" :translationValue="item.value"></TextTranslation>
+                    </template>
+                    <template v-else>
+                        {{ item.value }}
+                    </template>
+                </div>
             </div>
         </div>
 
@@ -48,10 +55,11 @@
             <div class="scroll-bar m-6">
                 <div class="flex mb-4">
                     <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-                    <el-select v-model="transferValue" placeholder="请选择" class="flex1">
+                    <!-- <el-select v-model="transferValue" placeholder="请选择" class="flex1">
                         <el-option v-for="item in transferOptions" :key="item.value" :label="item.label"
                             :value="item.value" />
-                    </el-select>
+                    </el-select> -->
+                    <personnel-search v-model="transferValue" :size="''" placeholder="请选择" :clearable="false"></personnel-search>
                 </div>
                 <div class="pl-3 text-[#e94a4a]">转移后,将看不到此联系人</div>
             </div>
@@ -65,6 +73,8 @@ import { getFromValue, getTemplateKey } from '@/utils/tools';
 import { GETGENERATEFOEM, GETPERSONNEL, URL_TRANSFERCONTACTS, URL_UPLOAD } from '../api';
 import { get, post } from '@/utils/request';
 
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
+
 const globalPopup = inject<GlobalPopup>('globalPopup')
 const emits = defineEmits(['refreshData']);
 const props = defineProps<{

+ 7 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/operationRecord.vue

@@ -5,8 +5,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
-                <el-table-column prop="operateDate" label="操作时间" width="150" />
-                <el-table-column prop="operateName" label="操作人" width="120" />
+                <el-table-column prop="operateDate" label="操作时间" width="160" />
+                <el-table-column prop="operateName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.operateName">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="msg" label="操作内容" />
             </el-table>
         </div>

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/component/relatedBusiness.vue

@@ -16,11 +16,19 @@
                     </template>
                 </el-table-column>
                 <el-table-column prop="customerName" label="客户名称" width="140" />
-                <el-table-column prop="inchargerName" label="负责人" width="130" />
+                <el-table-column prop="inchargerName" label="负责人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="amountOfMoney" label="商机金额" width="130" />
                 <el-table-column prop="expectedTransactionDate" label="预计成交时间" width="170" />
                 <el-table-column prop="stageValue" label="商机阶段" width="130" />
-                <el-table-column prop="creatorName" label="创建人" width="130" />
+                <el-table-column prop="creatorName" label="创建人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="创建时间" width="130" />
                 <el-table-column prop="editTime" label="修改时间" width="130" />
             </el-table>

+ 5 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/contacts/index.vue

@@ -8,6 +8,7 @@
             <el-form-item v-for="(item, index) in filterItems" :key="index" :label="item.label">
               <el-input v-if="item.type === 'input'" v-model="filterForm[item.key as keyof FilterForm]" clearable
                 placeholder="请输入"></el-input>
+              <personnel-search v-model="filterForm[item.key as keyof FilterForm]" :size="''" placeholder="请选择" v-else-if="['ownerId', 'creatorId'].includes(item.key) && item.type != 'input'"></personnel-search>
               <el-select v-else v-model="filterForm[item.key as keyof FilterForm]" placeholder="请选择" clearable>
                 <el-option v-for="option in item.options" :key="option.id" :label="option.name" :value="option.id" />
               </el-select>
@@ -44,6 +45,9 @@
                   <el-button link type="primary" size="large" @click="toDetali(scope.row)">{{ scope.row.name
                   }}</el-button>
                 </template>
+                <template v-if="['creatorName', 'ownerName'].includes(column.prop)">
+                  <TextTranslation translationTypes="userName" :translationValue="scope.row[column.prop]"></TextTranslation>
+                </template>
                 <template v-if="column.event === 'getSex'">
                   {{ getSex(scope.row.sex) }}
                 </template>
@@ -136,6 +140,7 @@ import { ElTable, UploadRequestOptions } from "element-plus";
 import DeteleTables from './component/deteleTables.vue'
 import TaskModal from '@/components/TaskModal/index.vue'
 import { createTask } from "@/components/TaskModal/taskFunction";
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const router = useRouter()
 const globalPopup = inject<GlobalPopup>('globalPopup')

+ 58 - 15
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/corpreport/index.vue

@@ -13,10 +13,16 @@ import {
   exportFile
 } from './api';
 import { downloadFile } from '@/utils/tools';
+import { dealWithTranslation } from '@/utils/translationProcessing'
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
+import treeSelect from '@/components/translationComponent/treeSelect/treeSelect.vue'
+import { useStore } from '@/store/index'
+import { storeToRefs } from 'pinia';
 
+const { userInfo } = storeToRefs(useStore());
 const isLoading = ref(false);
 const dataSource = ref([]);
-const form = reactive({ type: 1, date: undefined, member: undefined });
+const form = reactive({ type: 1, date: undefined, member: '' });
 const memberOptions: any = ref([]);
 // 0 客户总量  1 客户转化率
 const dataType = ref<0 | 1>(0);
@@ -76,6 +82,19 @@ const queryOverall = async (payload?: RequestProps) => {
     name: form.type === 1 ? d.name : d.departmentName
   }));
 
+  const sourceData = data.map((d: any) => ({
+    name: form.type === 1 ? d.name : d.departmentName,
+    ['成交客户数']: d.customerDeal,
+    ['新增客户数']: d.customertotal
+  }))
+
+  const sourceDataTypes = sourceData.map((item: any) => {
+    return {
+      type: form.type === 1 ? 'userName' : 'departmentName',
+      id: item.name
+    }
+  })
+
   // @ts-ignore
   chartOptions.series = [
     { type: 'bar', barWidth: 20 },
@@ -84,11 +103,12 @@ const queryOverall = async (payload?: RequestProps) => {
   // @ts-ignore
   chartOptions.dataset.dimensions = ['name', '成交客户数', '新增客户数'];
   // @ts-ignore
-  chartOptions.dataset.source = data.map((d) => ({
-    name: form.type === 1 ? d.name : d.departmentName,
-    ['成交客户数']: d.customerDeal,
-    ['新增客户数']: d.customertotal
-  }));
+  chartOptions.dataset.source = userInfo.userNameNeedTranslate == 1 ? dealWithTranslation(sourceDataTypes, sourceData) : sourceData
+  // chartOptions.dataset.source = data.map((d) => ({
+  //   name: form.type === 1 ? d.name : d.departmentName,
+  //   ['成交客户数']: d.customerDeal,
+  //   ['新增客户数']: d.customertotal
+  // }));
   chartOptions.legend = {};
 };
 
@@ -103,15 +123,28 @@ const queryConversion = async (payload?: RequestProps) => {
     dealRate: d.dealRate * 100
   }));
 
+  const sourceData = data.map((d: any) => ({
+    name: form.type === 1 ? d.name : d.departmentName,
+    ['客户转化率(%)']: d.dealRate * 100
+  }))
+
+  const sourceDataTypes = sourceData.map((item: any) => {
+    return {
+      type: form.type === 1 ? 'userName' : 'departmentName',
+      id: item.name
+    }
+  })
+
   // @ts-ignore
   chartOptions.series = [{ type: 'bar', barWidth: 20 }];
   // @ts-ignore
   chartOptions.dataset.dimensions = ['name', '客户转化率(%)'];
   // @ts-ignore
-  chartOptions.dataset.source = data.map((d) => ({
-    name: form.type === 1 ? d.name : d.departmentName,
-    ['客户转化率(%)']: d.dealRate * 100
-  }));
+  chartOptions.dataset.source = userInfo.userNameNeedTranslate == 1 ? dealWithTranslation(sourceDataTypes, sourceData) : sourceData
+  // chartOptions.dataset.source = data.map((d) => ({
+  //   name: form.type === 1 ? d.name : d.departmentName,
+  //   ['客户转化率(%)']: d.dealRate * 100
+  // }));
   chartOptions.legend = undefined;
 };
 
@@ -144,13 +177,13 @@ watchEffect(async () => {
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select v-model="form.type" @change="form.member = undefined" style="width: 112px">
+          <el-select v-model="form.type" @change="form.member = ''" style="width: 112px">
             <el-option label="按部门" :value="0" />
             <el-option label="按员工" :value="1" />
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-select
+          <!-- <el-select
             style="width: 208px"
             clearable
             v-model="form.member"
@@ -162,7 +195,13 @@ watchEffect(async () => {
               :label="date.name"
               :value="date.id"
             />
-          </el-select>
+          </el-select> -->
+          <template v-if="form.type == 1">
+            <personnel-search v-model="form.member" :size="''" placeholder="选择员工" width="240px"></personnel-search>
+          </template>
+          <template v-if="form.type == 0">
+            <tree-select v-model="form.member" :size="''" checkStrictly placeholder="选择部门" width="240px"></tree-select>
+          </template>
         </el-form-item>
         <el-form-item>
           <!-- :loading="isLoading" -->
@@ -180,7 +219,7 @@ watchEffect(async () => {
         @tab-change="
           () => {
             form.date = undefined;
-            form.member = undefined;
+            form.member = '';
             form.type = 1;
             dataSource = [];
           }
@@ -194,7 +233,11 @@ watchEffect(async () => {
       <Echarts :option="chartOptions"></Echarts>
     </div>
     <el-table :data="dataSource">
-      <el-table-column prop="name" label="名称" />
+      <el-table-column prop="name" label="名称">
+        <template #default="scope">
+          <TextTranslation translationTypes="userName" :translationValue="scope.row.name"></TextTranslation>
+        </template>
+      </el-table-column>
       <el-table-column prop="dealRate" label="客户转化率(%)" v-if="dataType === 1" />
       <template v-else>
         <el-table-column prop="customertotal" label="新增客户数" />

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/attachment.vue

@@ -13,9 +13,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 200px;">
-                <el-table-column prop="name" label="附件名称" width="180" />
+                <el-table-column prop="name" label="附件名称" />
                 <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="userName" label="上传人" width="120" />
+                <el-table-column prop="userName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="上传时间" width="180" sortable />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/deteleTables.vue

@@ -24,8 +24,16 @@
                     <el-table-column prop="email" label="邮箱" width="200"></el-table-column>
                     <el-table-column prop="customerIndustryValue" label="客户行业" width="180"></el-table-column>
                     <el-table-column prop="customerLevelValue" label="客户级别" width="180"></el-table-column>
-                    <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-                    <el-table-column prop="creatorName" label="创建人" width="180"></el-table-column>
+                    <el-table-column prop="inchargerName" label="负责人" width="190">
+                        <template #default="scope">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="creatorName" label="创建人" width="180">
+                        <template #default="scope">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                        </template>
+                    </el-table-column>
                     <el-table-column prop="newCreateTime" label="创建时间" width="180"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">
                         <template #default="scope">

+ 6 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/information.vue

@@ -58,13 +58,13 @@
       <div class="formItem flex pt-2 pb-1">
         <div class="w-22 text-right text-gray-500">负责人:</div>
         <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
-          {{ information.inchargerName }}
+          <TextTranslation translationTypes="userName" :translationValue="information.inchargerName"></TextTranslation>
         </div>
       </div>
       <div class="formItem flex pt-2 pb-1">
         <div class="w-22 text-right text-gray-500">创建人:</div>
         <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
-          {{ information.creatorName }}
+          <TextTranslation translationTypes="userName" :translationValue="information.creatorName"></TextTranslation>
         </div>
       </div>
       <div class="formItem flex pt-2 pb-1">
@@ -105,14 +105,15 @@
       <div class="scroll-bar m-6">
         <div class="flex mb-4">
           <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-          <el-select v-model="transferValue" placeholder="请选择" class="flex1">
+          <!-- <el-select v-model="transferValue" placeholder="请选择" class="flex1">
             <el-option
               v-for="item in transferOptions"
               :key="item.id"
               :label="item.name"
               :value="item.id"
             />
-          </el-select>
+          </el-select> -->
+          <personnel-search v-model="transferValue" :size="''" placeholder="请选择"></personnel-search>
         </div>
         <div class="pl-3 text-[#e94a4a]">转移后,将看不到此客户</div>
       </div>
@@ -152,6 +153,7 @@ import { useStore } from '@/store/index';
 import { get, post } from '@/utils/request';
 import { GETPERSONNEL, URL_CLAIM, URL_EDITSAVE, URL_TEMPLALE } from '../api';
 import { formatDate } from '@/utils/times';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const emits = defineEmits(['refreshData']);
 const { userInfo } = useStore();

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/operationRecord.vue

@@ -5,8 +5,12 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
-                <el-table-column prop="creatTime" label="操作时间" width="140" />
-                <el-table-column prop="userName" label="操作人" width="120" />
+                <el-table-column prop="creatTime" label="操作时间" width="150" />
+                <el-table-column prop="userName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="name" label="操作内容" />
             </el-table>
         </div>

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedBusiness.vue

@@ -16,11 +16,19 @@
                     </template>
                 </el-table-column>
                 <el-table-column prop="customerName" label="客户名称" width="130" />
-                <el-table-column prop="inchargerName" label="负责人" width="130" />
+                <el-table-column prop="inchargerName" label="负责人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="amountOfMoney" label="商机金额" width="130" />
                 <el-table-column prop="expectedTransactionDate" label="预计成交时间" width="200" />
                 <el-table-column prop="stageValue" label="商机阶段" width="140" />
-                <el-table-column prop="creatorName" label="创建人" width="130" />
+                <el-table-column prop="creatorName" label="创建人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="创建时间" width="130" />
             </el-table>
         </div>

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedContacts.vue

@@ -29,8 +29,16 @@
                         <template v-if="scope.row.sex == 0">女</template>
                     </template>
                 </el-table-column>
-                <el-table-column prop="ownerName" label="负责人" width="130" />
-                <el-table-column prop="creatorName" label="创建人" width="130" />
+                <el-table-column prop="ownerName" label="负责人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.ownerName"></TextTranslation>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="creatorName" label="创建人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="创建时间" width="130" />
             </el-table>
         </div>

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/component/relatedOrders.vue

@@ -22,8 +22,16 @@
                 <el-table-column prop="unReceivedPayment" label="未回款(¥)" width="130" />
                 <el-table-column prop="typeName" label="订单类型" width="130" />
                 <el-table-column prop="placeTime" label="下单时间" width="200" />
-                <el-table-column prop="inchargerName" label="负责人" width="130" />
-                <el-table-column prop="creatorName" label="创建人" width="130" />
+                <el-table-column prop="inchargerName" label="负责人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                    </template>
+                </el-table-column>
+                <el-table-column prop="creatorName" label="创建人" width="130">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="创建时间" width="200" />
             </el-table>
         </div>

+ 17 - 6
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/customer/index.vue

@@ -30,9 +30,10 @@
               </el-select>
             </el-form-item>
             <el-form-item label="负责人">
-              <el-select v-model="customerCriteriaForm.inchargerId" placeholder="请选择" clearable>
+              <!-- <el-select v-model="customerCriteriaForm.inchargerId" placeholder="请选择" clearable>
                 <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-              </el-select>
+              </el-select> -->
+              <personnel-search v-model="customerCriteriaForm.inchargerId" :size="''" placeholder="请选择"></personnel-search>
             </el-form-item>
             <el-form-item label="创建时间">
               <el-date-picker v-model="customerCriteriaForm.startTime" type="date" placeholder="请选择" :clearable="false"
@@ -79,8 +80,16 @@
             <el-table-column prop="email" label="邮箱" width="200"></el-table-column>
             <el-table-column prop="customerIndustryValue" label="客户行业" width="180"></el-table-column>
             <el-table-column prop="customerLevelValue" label="客户级别" width="180" sortable="custom"></el-table-column>
-            <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-            <el-table-column prop="creatorName" label="创建人" width="180"></el-table-column>
+            <el-table-column prop="inchargerName" label="负责人" width="190">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+              </template>
+            </el-table-column>
+            <el-table-column prop="creatorName" label="创建人" width="180">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+              </template>
+            </el-table-column>
             <el-table-column prop="newCreateTime" label="创建时间" width="180"></el-table-column>
             <el-table-column label="操作" fixed="right" width="200" v-permission="['customerEdit', 'tasksAdd', 'customerDelete']">
               <template #default="scope">
@@ -135,9 +144,10 @@
       <div class="scroll-bar m-6">
         <div class="flex mb-4">
           <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-          <el-select v-model="transferPersonnel" placeholder="请选择" class="flex1">
+          <!-- <el-select v-model="transferPersonnel" placeholder="请选择" class="flex1">
             <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-          </el-select>
+          </el-select> -->
+          <personnel-search v-model="transferPersonnel" :size="''" placeholder="请选择"></personnel-search>
         </div>
         <div class="pl-3 text-[#e94a4a]">转移后,将看不到此客户</div>
       </div>
@@ -188,6 +198,7 @@ import { tableShowOverflowTooltip } from '@/utils/globalVariables'
 
 import TaskModal from '@/components/TaskModal/index.vue'
 import DeteleBusiness from './component/deteleTables.vue'
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 // 定义类型
 interface fixedDataInterface {

+ 3 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/api.ts

@@ -27,9 +27,9 @@ export const tableColumns: TableColumn[] = [
     { prop: 'orderName', label: '订单名称', event: 'toDetali', width: '150' },
     { prop: 'customName', label: '客户名称', width: '200' },
     { prop: 'businessOpportunityName', label: '商机名称', width: '200' },
-    { prop: 'price', label: '订单金额(¥)', width: '120' },
-    { prop: 'receivedPayment', label: '已回款(¥)', width: '100' },
-    { prop: 'unReceivedPayment', label: '未回款(¥)', width: '100' },
+    { prop: 'price', label: '订单金额(¥)', width: '140' },
+    { prop: 'receivedPayment', label: '已回款(¥)', width: '140' },
+    { prop: 'unReceivedPayment', label: '未回款(¥)', width: '140' },
     { prop: 'receivedStatus', label: '回款状态', width: '100' },
     { prop: 'typeName', label: '订单类型', width: '200' },
     { prop: 'placeTime', label: '下单时间', width: '200' },

+ 7 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/attachment.vue

@@ -13,9 +13,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 200px;">
-                <el-table-column prop="attachmentName" label="附件名称" width="180" />
-                <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="creatorName" label="上传人" width="120" />
+                <el-table-column prop="attachmentName" label="附件名称" />
+                <el-table-column prop="size" label="附件大小" width="120"/>
+                <el-table-column prop="creatorName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="indate" label="上传时间" width="180" />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">

+ 4 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/deteleTables.vue

@@ -21,7 +21,10 @@
                     <el-table-column v-for="(item, index) in tableColumns" :prop="item.prop" :label="item.label"
                         :key="index" :width="item.width">
                         <template #default="scope">
-                            <span>{{ scope.row[item.prop] }}</span>
+                            <template v-if="['customSignerName', 'companySignerName', 'inchargerName', 'creatorName'].includes(item.prop)">
+                                <TextTranslation translationTypes="userName" :translationValue="scope.row[item.prop]"></TextTranslation>
+                            </template>
+                            <span v-else>{{ scope.row[item.prop] }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">

+ 12 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/information.vue

@@ -10,8 +10,14 @@
         <div class="form flex flex-wrap justify-between">
             <div v-for="item in formItems" :key="item.label" class="formItem flex" :style="`width: ${item.width}`">
                 <div :class="item.labelClass">{{ item.label }}:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>{{
-                    item.value }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>
+                    <template v-if="['customSignerName', 'companySignerName', 'inchargerName', 'creatorName'].includes(item.key)">
+                        <TextTranslation translationTypes="userName" :translationValue="item.value"></TextTranslation>
+                    </template>
+                    <template v-else>
+                        {{ item.value }}
+                    </template>
+                </div>
             </div>
         </div>
 
@@ -29,10 +35,11 @@
             <div class="scroll-bar m-6">
                 <div class="flex mb-4">
                     <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-                    <el-select v-model.trim="transferValue" placeholder="请选择" class="flex1">
+                    <personnel-search v-model="transferValue" :size="''" placeholder="请选择"></personnel-search>
+                    <!-- <el-select v-model.trim="transferValue" placeholder="请选择" class="flex1">
                         <el-option v-for="item in transferOptions" :key="item.value" :label="item.label"
                             :value="item.value" />
-                    </el-select>
+                    </el-select> -->
                 </div>
                 <div class="pl-3 text-[#e94a4a]">转移后,将看不到此联系人</div>
             </div>
@@ -65,6 +72,7 @@ import { getFromValue, getTemplateKey } from '@/utils/tools';
 import { get, post } from '@/utils/request';
 import { GETGENERATEFOEM, GETPERSONNEL, URL_OEDERUPDATE, URL_PRODUTWITHORDER, URL_TRANSFER, paymentStatus } from '../api';
 import { formatDate } from '@/utils/times';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const globalPopup = inject<GlobalPopup>('globalPopup')
 const emits = defineEmits(['refreshData']);

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/operationRecord.vue

@@ -5,8 +5,12 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
-                <el-table-column prop="auditTime" label="操作时间" width="150" />
-                <el-table-column prop="auditorName" label="操作人" width="120" />
+                <el-table-column prop="auditTime" label="操作时间" width="160" />
+                <el-table-column prop="auditorName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.auditorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="auditorContent" label="操作内容" />
             </el-table>
         </div>

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/component/rebate.vue

@@ -8,8 +8,12 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
-                <el-table-column prop="createTime" label="回款时间" width="170" />
-                <el-table-column prop="creatorName" label="操作人" width="120" />
+                <el-table-column prop="createTime" label="回款时间" width="190" />
+                <el-table-column prop="creatorName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="money" label="回款金额" width="120" />
                 <el-table-column prop="unReceivedPayment" label="未回款金额" width="120" />
                 <el-table-column :label="'操作'" :width="'120px'" fixed="right">

+ 8 - 1
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/order/index.vue

@@ -9,6 +9,9 @@
               <el-form-item :label="item.label" v-if="item.type != 'date'">
                 <el-input v-if="item.type === 'input'" v-model="filterForm[item.key as keyof FilterForm]" clearable
                   placeholder="请输入"></el-input>
+                <template v-else-if="['inchargerId'].includes(item.key)">
+                  <personnel-search v-model="filterForm[item.key as keyof FilterForm]" :size="''" placeholder="请选择"></personnel-search>
+                </template>
                 <el-select v-else v-model="filterForm[item.key as keyof FilterForm]" placeholder="请选择" clearable>
                   <el-option v-for="option in item.options" :key="option.id" :label="option.name" :value="option.id" />
                 </el-select>
@@ -37,7 +40,7 @@
         <div class="flex justify-end pb-3">
           <!-- 操作按钮 -->
           <el-button type="primary" v-permission="['orderAdd']" @click="editOrder(false)">新建订单</el-button>
-          <el-button type="primary" :disabled="batchTableData.length <= 0">批量转移</el-button>
+          <!-- <el-button type="primary" :disabled="batchTableData.length <= 0">批量转移</el-button> -->
           <el-button type="primary" v-permission="['orderDelete']" @click="batchDeteleItem()" :disabled="batchTableData.length <= 0">批量删除</el-button>
           <el-button type="primary" v-permission="['orderRecycle']" @click="showVisible('deteleOrderVisible')">回收站</el-button>
           <el-button type="primary" v-permission="['orderImport']" @click="showVisible('importVisible')">导入</el-button>
@@ -56,6 +59,9 @@
                   }}</el-button> -->
                   <div class="table-text-textnowrap" @click.prevent="toDetali(scope.row)">{{ scope.row[column.prop] }}</div>
                 </template>
+                <template v-if="['customSignerName', 'companySignerName', 'inchargerName', 'creatorName'].includes(column.prop)">
+                  <TextTranslation translationTypes="userName" :translationValue="scope.row[column.prop]"></TextTranslation>
+                </template>
                 <template v-if="column.prop === 'receivedStatus'">
                   <div>{{ selectData.RemittanceStatus[scope.row.receivedStatus].name }}</div>
                 </template>
@@ -148,6 +154,7 @@ import { URL_FETALL } from "../customer/api";
 import RelatedProducts from '@/components/relatedProducts/relatedProducts.vue'
 import DeteleTables from './component/deteleTables.vue'
 import TaskModal from '@/components/TaskModal/index.vue'
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 
 const router = useRouter()

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/attachment.vue

@@ -13,9 +13,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 200px;">
-                <el-table-column prop="attachmentName" label="附件名称" width="180" />
+                <el-table-column prop="attachmentName" label="附件名称"/>
                 <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="creatorName" label="上传人" width="120" />
+                <el-table-column prop="creatorName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="indate" label="上传时间" width="180" />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">

+ 12 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/information.vue

@@ -39,11 +39,17 @@
             </div>
             <div class="formItem flex pt-2 pb-1">
                 <div class="w-22 text-right text-gray-500">负责人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">{{ info.inchargerName }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
+                    <TextTranslation translationTypes="userName" :translationValue="info.inchargerName"></TextTranslation>
+                    <!-- {{ info.inchargerName }} -->
+                </div>
             </div>
             <div class="formItem flex pt-2 pb-1">
                 <div class="w-22 text-right text-gray-500">创建人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">{{ info.creatorName }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1">
+                    <TextTranslation translationTypes="userName" :translationValue="info.creatorName"></TextTranslation>
+                    <!-- {{ info.creatorName }} -->
+                </div>
             </div>
             <div class="formItem flex pt-2 pb-1">
                 <div class="w-22 text-right text-gray-500">创建时间:</div>
@@ -72,9 +78,10 @@
             <div class="scroll-bar m-6">
                 <div class="flex mb-4">
                     <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-                    <el-select v-model="transferValue" placeholder="请选择" class="flex1">
+                        <personnel-search v-model="transferValue" :size="''" placeholder="请选择"></personnel-search>
+                    <!-- <el-select v-model="transferValue" placeholder="请选择" class="flex1">
                         <el-option v-for="item in transferOptions" :key="item.id" :label="item.name" :value="item.id" />
-                    </el-select>
+                    </el-select> -->
                 </div>
                 <div class="pl-3 text-[#e94a4a]">转移后,将看不到此产品</div>
             </div>
@@ -106,6 +113,7 @@ import { ADDPRODUCT, GETDOEMCODE, GETINCHARGER, GETPERSONNEL, GETTEMPLATE, MOD }
 import { useStore } from '@/store/index'
 import { post, get } from '@/utils/request';
 import { GenerateForm } from '@zmjs/form-design';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const props = defineProps<{
     data: any

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/operationRecord.vue

@@ -5,8 +5,12 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 278px;">
-                <el-table-column prop="auditTime" label="操作时间" width="140" />
-                <el-table-column prop="auditorName" label="操作人" width="120" />
+                <el-table-column prop="auditTime" label="操作时间" width="160" />
+                <el-table-column prop="auditorName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.auditorName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="auditorContent" label="操作内容" />
             </el-table>
         </div>

+ 3 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/relatedBusiness.vue

@@ -11,6 +11,9 @@
                     <template #default="scope">
                         <div class="table-text-textnowrap" v-if="item.eventName"
                             @click="dealWithTableColumn(scope.row, item.eventName)">{{ scope.row[item.prop] }}</div>
+                        <template v-else-if="['inchargerName', 'creatorName'].includes(item.prop)">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row[item.prop]"></TextTranslation>
+                        </template>
                         <template v-else>{{ scope.row[item.prop] }}</template>
                     </template>
                 </el-table-column>

+ 3 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/component/relatedSalesOrder.vue

@@ -13,6 +13,9 @@
                                 scope.row[column.prop]
                                 }}</el-button>
                         </template>
+                        <template v-else-if="['inchargerName', 'creatorName'].includes(column.prop)">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row[column.prop]"></TextTranslation>
+                        </template>
                     </template>
                 </el-table-column>
             </el-table>

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/deteleTables.vue

@@ -24,8 +24,16 @@
                     <el-table-column prop="price" label="标准价格(元)" width="180"></el-table-column>
                     <el-table-column prop="inventory" label="库存" width="180"></el-table-column>
                     <el-table-column prop="status" label="状态" width="180"></el-table-column>
-                    <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-                    <el-table-column prop="creatorName" label="创建人" width="180"></el-table-column>
+                    <el-table-column prop="inchargerName" label="负责人" width="190">
+                        <template #default="scope">
+                          <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                        </template>
+                      </el-table-column>
+                      <el-table-column prop="creatorName" label="创建人" width="180">
+                        <template #default="scope">
+                          <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+                        </template>
+                      </el-table-column>
                     <el-table-column prop="createTime" label="创建时间" width="180"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">
                         <template #default="scope">

+ 14 - 4
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/product/index.vue

@@ -21,9 +21,10 @@
               </el-select>
             </el-form-item>
             <el-form-item label="负责人">
-              <el-select v-model="filterProductForm.userId" placeholder="请选择" filterable clearable>
+              <personnel-search v-model="filterProductForm.userId" :size="''" placeholder="请选择"></personnel-search>
+              <!-- <el-select v-model="filterProductForm.userId" placeholder="请选择" filterable clearable>
                 <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-              </el-select>
+              </el-select> -->
             </el-form-item>
             <el-form-item label="创建时间">
               <el-date-picker v-model="filterProductForm.startTime" type="date" placeholder="请选择" :clearable="false"
@@ -72,8 +73,16 @@
                 {{ scope.row.status == 1 ? '上架' : '下架' }}
               </template>
             </el-table-column>
-            <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-            <el-table-column prop="creatorName" label="创建人" width="180"></el-table-column>
+            <el-table-column prop="inchargerName" label="负责人" width="190">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+              </template>
+            </el-table-column>
+            <el-table-column prop="creatorName" label="创建人" width="180">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.creatorName"></TextTranslation>
+              </template>
+            </el-table-column>
             <el-table-column prop="createTime" label="创建时间" width="180"></el-table-column>
             <el-table-column label="操作" fixed="right" width="200" v-permission="['productEdit', 'productDelete']">
               <template #default="scope">
@@ -145,6 +154,7 @@ import { post, get, uploadFile } from "@/utils/request";
 import { useRouter, useRoute } from "vue-router";
 import { GenerateForm } from '@zmjs/form-design';
 import DeteleTables from "./deteleTables.vue";
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 const router = useRouter()
 const globalPopup = inject<GlobalPopup>('globalPopup')

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/tasks/index.vue

@@ -63,7 +63,7 @@
             <el-table-column type="selection" width="55" />
             <el-table-column prop="taskName" label="任务名称" header-align="center" align="center" show-overflow-tooltip
               width="200" />
-            <el-table-column prop="priority" label="优先级" width="90" :sortable="true" header-align="center"
+            <el-table-column prop="priority" label="优先级" width="100" :sortable="true" header-align="center"
               align="center">
               <template #default="scope">
                 {{ PRIORITY.find(item => item.value == scope.row.priority)?.label }}
@@ -76,7 +76,15 @@
                 </el-text>
               </template>
             </el-table-column>
-            <el-table-column prop="executorNames" label="执行人" width="120" header-align="center" align="center" />
+            <el-table-column prop="executorNames" label="执行人" width="120" header-align="center" align="center">
+              <template #default="scope">
+                <template v-for="(item, index) in (scope.row.taskExecutors || [])">
+                    <TextTranslation translationTypes="userName" :translationValue="item">
+                    </TextTranslation>
+                    <span v-if="index < (scope.row.taskExecutors || []).length - 1">,</span>
+                </template>
+              </template>
+            </el-table-column>
             <el-table-column prop="startDate" label="开始时间" width="200" :sortable="true" header-align="center"
               align="center" value-format="YYYY-MM-DD" />
             <el-table-column prop="endDate" label="截止时间" width="200" :sortable="true" header-align="center"

+ 6 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/attachment.vue

@@ -13,9 +13,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-3">
             <el-table :data="attachmenttable" border style="width: 100%;height: 100%;">
-                <el-table-column prop="name" label="附件名称" width="200" />
+                <el-table-column prop="name" label="附件名称" />
                 <el-table-column prop="size" label="附件大小" width="120" />
-                <el-table-column prop="userName" label="上传人" width="120" />
+                <el-table-column prop="userName" label="上传人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName"></TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="createTime" label="上传时间" width="180" />
                 <el-table-column label="操作" width="180" fixed="right">
                     <template #default="scope">

+ 11 - 6
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/information.vue

@@ -52,14 +52,17 @@
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-20 text-right text-gray-500">负责人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>{{
-                    information.inchargerName }}
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>
+                    <TextTranslation translationTypes="userName" :translationValue="information.inchargerName"></TextTranslation>
+                    <!-- {{ information.inchargerName }} -->
                 </div>
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-20 text-right text-gray-500">创建人:</div>
-                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>{{
-                    information.createName }}</div>
+                <div class="flex-1 overflow-hidden text-ellipsis whitespace-nowrap ml-1" v-ellipsis-tooltip>
+                    <TextTranslation translationTypes="userName" :translationValue="information.createName"></TextTranslation>
+                    <!-- {{ information.createName }} -->
+                </div>
             </div>
             <div class="formItem flex pt-3 pb-1">
                 <div class="w-20 text-right text-gray-500">创建时间:</div>
@@ -107,9 +110,10 @@
             <div class="scroll-bar m-6">
                 <div class="flex mb-4">
                     <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-                    <el-select v-model="transferValue" placeholder="请选择" class="flex1">
+                    <!-- <el-select v-model="transferValue" placeholder="请选择" class="flex1">
                         <el-option v-for="item in transferOptions" :key="item.id" :label="item.name" :value="item.id" />
-                    </el-select>
+                    </el-select> -->
+                    <personnel-search v-model="transferValue" :size="''" placeholder="请选择"></personnel-search>
                 </div>
                 <div class="pl-3 text-[#e94a4a]">转移后,将看不到此线索</div>
             </div>
@@ -148,6 +152,7 @@ import { all } from 'axios';
 import { formatDateTime } from '@/utils/times';
 import { UPDATEINSET } from '@/pages/business/api';
 import { GETTABLELIST } from '@/pages/product/api';
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
 
 interface personnelInterface {
     id: string | number,

+ 8 - 3
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/detail/components/operationRecord.vue

@@ -5,8 +5,13 @@
         </div>
         <div class="flex-1 overflow-auto pt-5">
             <el-table :data="operationRecordtable" border style="width: 100%;height: 100%;">
-                <el-table-column prop="creatTime" label="操作时间" width="150" />
-                <el-table-column prop="userName" label="操作人" width="120" />
+                <el-table-column prop="creatTime" label="操作时间" width="180" />
+                <el-table-column prop="userName" label="操作人" width="120">
+                    <template #default="scope">
+                        <TextTranslation translationTypes="userName" :translationValue="scope.row.userName">
+                        </TextTranslation>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="name" label="操作内容" />
             </el-table>
         </div>
@@ -29,7 +34,7 @@ watchEffect(() => {
     operationRecordtable.value = props.data
 });
 // 生命周期钩子
-onMounted(() => {});
+onMounted(() => { });
 </script>
 <style scoped lang="scss">
 .operationRecord {

+ 10 - 2
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/deteleTables.vue

@@ -22,8 +22,16 @@
                     <el-table-column prop="email" label="邮箱" width="180"></el-table-column>
                     <el-table-column prop="customerIndustryValue" label="客户行业" width="180"></el-table-column>
                     <el-table-column prop="customerLevelValue" label="客户级别" width="180"></el-table-column>
-                    <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-                    <el-table-column prop="createName" label="创建人" width="180"></el-table-column>
+                    <el-table-column prop="inchargerName" label="负责人" width="190">
+                        <template #default="scope">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="createName" label="创建人" width="180">
+                        <template #default="scope">
+                            <TextTranslation translationTypes="userName" :translationValue="scope.row.createName"></TextTranslation>
+                        </template>
+                    </el-table-column>
                     <el-table-column prop="createTime" label="创建时间" width="180"></el-table-column>
                     <el-table-column label="操作" fixed="right" width="120">
                         <template #default="scope">

+ 18 - 6
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/thread/index.vue

@@ -29,9 +29,10 @@
               </el-select>
             </el-form-item>
             <el-form-item label="负责人">
-              <el-select v-model="filterCriteriaForm.inchargerId" placeholder="请选择" filterable clearable>
+              <!-- <el-select v-model="filterCriteriaForm.inchargerId" placeholder="请选择" filterable clearable>
                 <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-              </el-select>
+              </el-select> -->
+              <personnel-search v-model="filterCriteriaForm.inchargerId" :size="''" placeholder="请选择"></personnel-search>
             </el-form-item>
             <el-form-item label="创建时间">
               <el-date-picker v-model="filterCriteriaForm.startTime" type="date" placeholder="请选择" :clearable="false"
@@ -73,8 +74,16 @@
             <el-table-column prop="email" label="邮箱" width="180"></el-table-column>
             <el-table-column prop="customerIndustryValue" label="客户行业" width="180"></el-table-column>
             <el-table-column prop="customerLevelValue" label="客户级别" width="180" sortable="custom"></el-table-column>
-            <el-table-column prop="inchargerName" label="负责人" width="190"></el-table-column>
-            <el-table-column prop="createName" label="创建人" width="180"></el-table-column>
+            <el-table-column prop="inchargerName" label="负责人" width="190">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.inchargerName"></TextTranslation>
+              </template>
+            </el-table-column>
+            <el-table-column prop="createName" label="创建人" width="180">
+              <template #default="scope">
+                <TextTranslation translationTypes="userName" :translationValue="scope.row.createName"></TextTranslation>
+              </template>
+            </el-table-column>
             <el-table-column prop="createTime" label="创建时间" width="180"></el-table-column>
             <el-table-column label="操作" fixed="right" width="200" v-permission="['threadEdit', 'tasksAdd', 'threadDelete']">
               <template #default="scope">
@@ -127,9 +136,10 @@
       <div class="scroll-bar m-6">
         <div class="flex mb-4">
           <div class="w-20 flex items-center justify-end pr-4">转移至:</div>
-          <el-select v-model="transferForm.transferValue" placeholder="请选择" class="flex1">
+          <!-- <el-select v-model="transferForm.transferValue" placeholder="请选择" class="flex1">
             <el-option v-for="item in fixedData.Personnel" :key="item.id" :label="item.name" :value="item.id" />
-          </el-select>
+          </el-select> -->
+          <personnel-search v-model="transferForm.transferValue" :size="''" placeholder="请选择"></personnel-search>
         </div>
         <div class="pl-3 text-[#e94a4a]">转移后,将看不到此线索</div>
       </div>
@@ -178,6 +188,8 @@ import DeteleTables from "./deteleTables.vue";
 import { createTask } from "@/components/TaskModal/taskFunction";
 import { tableShowOverflowTooltip } from '@/utils/globalVariables'
 
+import personnelSearch from '@/components/translationComponent/personnelSearch/personnelSearch.vue';
+
 // 定义类型
 interface fixedDataInterface {
   id: string | number,

+ 31 - 0
fhKeeper/formulahousekeeper/customerBuler-crm/src/utils/translationProcessing.ts

@@ -0,0 +1,31 @@
+declare var WWOpenData: any; // wx 小程序对象
+/**
+ * echarts 转译处理
+ * @param items 需要转译的数据源
+ * @param allData 源数据
+ */
+export function dealWithTranslation(items: { type: 'userName' | 'departmentName', id: number | string }[], allData: any[]) {
+  if (WWOpenData.initCanvas) {
+    WWOpenData.initCanvas();
+  }
+  const myFunOne = async () => {
+    const result: any = await new Promise((resolve, reject) => {
+      if (WWOpenData.prefetch) {
+        WWOpenData.prefetch({ items }, (err: any, data: any) => {
+          if (err) {
+            return reject(err);
+          }
+          resolve(data);
+        });
+      }
+    });
+    for (var i in allData) {
+      if (result.items[i]) {
+        allData[i].name = result.items[i].data;
+      }
+    }
+    return allData
+  };
+
+  myFunOne();
+}