瀏覽代碼

feat:新增wex分机组配置;

zhangchong 1 年之前
父節點
當前提交
833d6155a1

+ 4 - 1
src/layout/navBars/breadcrumb/telControl.vue

@@ -568,19 +568,22 @@ const initWebsocket = () => {
 		return;
 	}
 	let telNo: string | number;
+  let groupName:string|number = '';
 	if (telStatusInfo.value.isDutyOn) {
 		// 如果已签入
 		telNo = telStatusInfo.value.telsNo;
+    groupName = telStatusInfo.value.groupName;
 	} else {
 		// 如果未签入
 		telNo = state.dutyForm.telNo;
+    groupName = state.groupName;
 	}
 	// 设置变量
 	VoiceInterfaceObject.SetSendModel({
 		GongHao: userInfos.value.staffNo,
 		FenJi: telNo,
 		DepartmentID: 'Default',
-		AgentGroupName: state.groupName,
+		AgentGroupName: groupName,
 	});
 	// 初始化参数
 	const wsParams = {

+ 7 - 2
src/stores/telStatus.ts

@@ -37,6 +37,7 @@ export const useTelStatus = defineStore('telStatus', {
 			isHold: false, // 是否保持中
 			phoneControlState: TelStates.dutyOff, //当前状态 默认签出
 			telsNo: "", // 分机号
+			groupName: "", // 分机组名称
 			telGongHao: "", // 电话工号
 			telArea: "", // 电话区号
 			telGuid: "", // 电话guid
@@ -85,8 +86,11 @@ export const useTelStatus = defineStore('telStatus', {
 				isRest: RestStates.unRest,
 				isMeeting: false,
 				isTalkingDeal: false,
-				telType: "",
-				fromTel: "",
+				telArea: "", // 电话区号
+				telGuid: "", // 电话guid
+				telIVR: "", // 电话IVR
+				telType: "",//来电 外呼 转接
+				fromTel: "",// 来电号码
 			};
 		},
 		// 签出重置所有状态
@@ -99,6 +103,7 @@ export const useTelStatus = defineStore('telStatus', {
 				isHold:false, // 是否保持中
 				phoneControlState: TelStates.dutyOff, //当前状态 默认签出
 				telsNo: "", // 分机号
+				groupName: "", // 分机组名称
 				telGongHao: "", // 电话工号
 				telArea: "", // 电话区号
 				telGuid: "", // 电话guid

+ 1 - 0
src/types/pinia.d.ts

@@ -127,6 +127,7 @@ declare interface TelsStateInfos {
 		isMeeting: boolean; // 是否会议中
 		isHold:boolean; // 是否保持中
 		phoneControlState: TelStates;  // 电话控件状态
+		groupName: string | number; // 分机组名称
 		telsNo: string | number; // 电话号码
 		telGongHao: string | number; // 电话工号
 		telArea: string | number; // 电话区号

+ 2 - 2
src/utils/PhoneScript.ts

@@ -114,8 +114,8 @@ export const VoiceInterfaceObject: any = {
 	Back_Login: function (returnVal: { Params: string }) {
 		if (returnVal.Params == '0') {
 			WebsocketInterface('KeepAlive');
-			// 设置分机号
-			useTelStatusStore.setCallInfo({ telsNo: SystemAttr.CurrentUser.FenJi });
+			// 设置分机号和坐席组
+			useTelStatusStore.setCallInfo({ telsNo: SystemAttr.CurrentUser.FenJi, groupName: SystemAttr.CurrentUser.AgentGroupName });
 			// 设置签入状态
 			useTelStatusStore.setDutyState(true);
 			// 设置电话状态

+ 23 - 6
src/views/device/group/index.vue

@@ -41,8 +41,8 @@
     <!-- 配置分机组 -->
     <el-dialog v-model="state.dialogVisible" draggable :title="dialogTitle" width="500px">
       <el-form :model="state.ruleForm" label-width="100px" ref="ruleFormRef">
-        <el-form-item label="分机组" prop="obj" :rules="[{ required: true, message: '请选择分机组', trigger: 'change' }]">
-          <el-select v-model="state.ruleForm.obj" placeholder="请选择分机组" class="w100" value-key="groupId">
+        <el-form-item label="分机组" prop="obj" :rules="[{ required: false, message: '请选择分机组', trigger: 'change' }]">
+          <el-select v-model="state.ruleForm.obj" placeholder="请选择分机组,为空则清除之前配置" class="w100" value-key="groupId" clearable>
             <el-option v-for="item in state.groupList" :key="item.groupId" :label="item.groupName" :value="item" />
           </el-select>
         </el-form-item>
@@ -112,15 +112,32 @@ const queryList = () => {
         });
   }
 };
-// 修改分机组
-const onEditGroup = async (row:any)=>{
+// 配置分机组
+const onEditGroup = async (row:any) => {
   try {
     state.currentRow = row;
     const response = await getGroupList();
     state.groupList = response.result ?? [];
+
+    let obj = {
+      groupId: '',
+      groupName: '',
+      zuoGroupName: '',
+    };
+
+    if(row.groupName){
+      obj = {
+        groupId: row.groupId,
+        groupName: row.groupName,
+        zuoGroupName: row.grouzuoGroupNamepName,
+      };
+    } else {
+      ruleFormRef.value?.resetFields();
+    }
+    state.ruleForm.obj = obj;
     state.dialogVisible = true;
-  }catch (e) {
-    console.log(e);
+  } catch (e) {
+    console.error('Error in onEditGroup:', e);
   }
 }
 // 保存分机组

+ 1 - 1
src/views/system/parameter/component/Parameter-add.vue

@@ -68,7 +68,7 @@ const state = reactive<any>({
 let loading = ref<boolean>(false);  // 加载状态
 // 打开弹窗
 const ruleFormRef = ref<RefType>();
-const openDialog = async (typeId: string) => {
+const openDialog = async () => {
 	ruleFormRef.value?.resetFields();
 	try {
 		state.dialogVisible = true;