zhangchong 2 rokov pred
rodič
commit
0fad9be864

+ 13 - 11
src/components/TimeLine/index.vue

@@ -90,17 +90,19 @@
 						/>
 					</el-button>
 				</div>
-				<div v-if="item.traces && item.traces.length" class="item-childen mt20" v-show="isOpen(item.code)">
-					<!-- 嵌套组件 -->
-					<TimeLine
-						:data="item.traces"
-						class="sub-time-line"
-						:expandedKeys="props.expandedKeys"
-						:current="state.curNameId"
-						:defaultExpandAll="props.defaultExpandAll"
-						@node-click="(e:any)=>emit('node-click', e)"
-					/>
-				</div>
+				<el-collapse-transition>
+					<div v-if="item.traces && item.traces.length" class="item-childen mt20" v-show="isOpen(item.code)">
+						<!-- 嵌套组件 -->
+						<TimeLine
+							:data="item.traces"
+							class="sub-time-line"
+							:expandedKeys="props.expandedKeys"
+							:current="state.curNameId"
+							:defaultExpandAll="props.defaultExpandAll"
+							@node-click="(e:any)=>emit('node-click', e)"
+						/>
+					</div>
+				</el-collapse-transition>
 			</el-timeline-item>
 		</el-timeline>
 	</div>

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

@@ -1575,7 +1575,7 @@ onUnmounted(() => {
 	box-shadow: 0px 1px 8px 0px rgba(0, 15, 49, 0.1);
 	border-bottom-left-radius: 90px;
 	border-bottom-right-radius: 90px;
-	padding: 0 52px;
+	padding: 0 18px;
 	color: var(--hotline-color-text-main);
 	height: 100%;
 

+ 15 - 16
src/layout/navBars/breadcrumb/user.vue

@@ -1,6 +1,6 @@
 <template>
 	<!--  :style="{ flex: layoutUserFlexNum }" -->
-	<div class="layout-navbars-breadcrumb-user pr15">
+	<div class="layout-navbars-breadcrumb-user">
 		<!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
 			<div class="layout-navbars-breadcrumb-user-icon"  title="组件大小">
 				<i class="iconfont icon-ziti"></i>
@@ -401,13 +401,13 @@ const onSearchClick = () => {
 	searchRef.value.openSearch();
 };
 // 组件大小改变
-const onComponentSizeChange = (size: string) => {
-	Local.remove('themeConfig');
-	themeConfig.value.globalComponentSize = size;
-	Local.set('themeConfig', themeConfig.value);
-	initComponentSize();
-	window.location.reload();
-};
+// const onComponentSizeChange = (size: string) => {
+// 	Local.remove('themeConfig');
+// 	themeConfig.value.globalComponentSize = size;
+// 	Local.set('themeConfig', themeConfig.value);
+// 	initComponentSize();
+// 	window.location.reload();
+// };
 // 初始化全局组件大小
 const initComponentSize = () => {
 	switch (Local.get('themeConfig').globalComponentSize) {
@@ -424,11 +424,11 @@ const initComponentSize = () => {
 };
 const ruleFormRef = ref();
 //  锁频
-const onLockScreen = () => {
-	ruleFormRef.value?.resetFields();
-	ruleFormRef.value?.resetFields();
-	isShowDialog.value = true;
-};
+// const onLockScreen = () => {
+// 	ruleFormRef.value?.resetFields();
+// 	ruleFormRef.value?.resetFields();
+// 	isShowDialog.value = true;
+// };
 // 确定锁频
 const confirmLock = () => {
 	ruleFormRef.value.validate((valid: boolean) => {
@@ -487,9 +487,8 @@ onMounted(() => {
 .layout-navbars-breadcrumb-user {
 	display: flex;
 	align-items: center;
-	justify-content: flex-end;
-	margin-left: 40px;
-
+	justify-content: center;
+	width: 100px;
 	&-link {
 		height: 100%;
 		display: flex;

+ 9 - 9
src/theme/media/login.scss

@@ -28,6 +28,15 @@
 		left: 50% !important;
 		transform: translate(-50%, -50%) translate3d(0, 0, 0) !important;
 	}
+	// 电话控件不显示
+	.phoneControls{
+		display: none !important;
+		width: 0 !important;
+	}
+	.seizeSeat-box{
+		display: block !important;
+		width: 100% !important;
+	}
 }
 
 /* 页面宽度小于576px
@@ -49,15 +58,6 @@
 			display: flex !important;
 		}
 	}
-	// 电话控件不显示
-	.phoneControls{
-		display: none !important;
-		width: 0 !important;
-	}
-	.seizeSeat-box{
-		display: block !important;
-		width: 100% !important;
-	}
 }
 
 /* 页面宽度小于375px

+ 5 - 5
src/views/business/order/accept/orderAdd.vue

@@ -1,9 +1,9 @@
 <template>
 	<div class="order-add-container layout-padding">
-		<el-row :gutter="20" class="h100">
+		<el-row :gutter="15" class="h100">
 			<!-- 左边工单信息 -->
-			<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" class="left-content mb20 h100">
-				<el-scrollbar class="box pd20">
+			<el-col :span="12" class="left-content mb20 h100">
+				<el-scrollbar class="box pd20 h100">
 					<!-- <div class="flex-center-between mb20">
 						<p class="table-title">工单信息</p>
 					</div> -->
@@ -405,8 +405,8 @@
 				</el-scrollbar>
 			</el-col>
 			<!-- 右侧内容 -->
-			<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" class="right-content h100">
-				<el-scrollbar>
+			<el-col :span="12" class="right-content h100">
+				<el-scrollbar class="h100">
 					<div class="right-content-box box pd20">
 						<!-- <el-tabs v-model="state.activeName">
 							<el-tab-pane label="历史工单" name="first"> </el-tab-pane>

+ 3 - 3
src/views/business/order/accept/orderEdit.vue

@@ -1,8 +1,8 @@
 <template>
 	<div class="order-edit-container layout-padding">
-		<el-row :gutter="20" class="h100">
+		<el-row :gutter="15" class="h100">
 			<!-- 左边工单信息 -->
-			<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" class="left-content mb20 h100">
+			<el-col :span="12" class="left-content mb20 h100">
 				<el-scrollbar class="box pd20">
 					<!-- <div class="flex-center-between mb20">
 						<p class="table-title">工单信息</p>
@@ -18,7 +18,7 @@
 						<p class="border-title mb10">来电信息</p>
 						<el-row :gutter="0">
 							<!-- 来源渠道 -->
-							<el-col :xs="24" :sm="24" :md="24" :lg="12" :xl="12">
+							<el-col :span="12">
 								<!-- 手动创建 -->
 								<template v-if="state.createFrom == 'manual'">
 									<el-form-item label="来源渠道" prop="channel" :rules="[{ required: true, message: '请选择来源渠道', trigger: 'change' }]">

+ 138 - 114
src/views/business/order/index.vue

@@ -15,126 +15,150 @@
 							<el-input v-model="state.queryParams.Content" placeholder="诉求详情" clearable @keyup.enter="getList" />
 						</el-form-item>
 					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="受理类型" prop="AcceptType">
-							<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" multiple clearable class="w100">
-								<el-option v-for="item in state.acceptTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="来源渠道" prop="Channel">
-							<el-select v-model="state.queryParams.Channel" placeholder="请选择来源渠道" multiple clearable class="w100">
-								<el-option v-for="item in state.channelOptions" :value="item.key" :key="item.key" :label="item.value" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="热点分类" prop="HotspotId">
-							<el-tree-select
-								class="w100"
-								v-model="state.queryParams.HotspotId"
-								filterable
-								clearable
-								multiple
-								:render-after-expand="false"
-								show-checkbox
-								placeholder="请选择热点分类"
-								:props="HotspotProps"
-								lazy
-								:load="load"
-								node-key="id"
-								check-strictly
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="部门" prop="OrgCode">
-							<el-cascader
-								:options="state.orgsOptions"
-								filterable
-								:show-all-levels="false"
-								:props="{ checkStrictly: true, value: 'id', label: 'orgName', emitPath: false, multiple: true }"
-								placeholder="请选择所属部门"
-								clearable
-								class="w100"
-								v-model="state.queryParams.OrgCode"
-								ref="cascaderRef"
-								@change="getselKnowledgeList"
-							>
-								<template #default="{ node, data }">
-									<span>{{ data.orgName }}</span>
-									<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-								</template>
-							</el-cascader>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="受理坐席" prop="NameOrNo">
-							<el-input v-model="state.queryParams.NameOrNo" placeholder="坐席姓名/坐席工号" clearable @keyup.enter="getList" />
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="受理时间" prop="crTime">
-							<el-date-picker
-								v-model="state.queryParams.crTime"
-								type="daterange"
-								unlink-panels
-								range-separator="至"
-								start-placeholder="开始日期"
-								end-placeholder="结束日期"
-								:shortcuts="shortcuts"
-								@change="timeStartChangeCr"
-								value-format="YYYY-MM-DD[T]HH:mm:ss"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="转接来源" prop="TransferPhone">
-							<el-input v-model="state.queryParams.TransferPhone" placeholder="请填写转接来源" clearable @keyup.enter="getList" />
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="紧急程度" prop="EmergencyLevel">
-							<el-select v-model="state.queryParams.EmergencyLevel" placeholder="请选择受理类型" multiple clearable class="w100">
-								<el-option v-for="item in state.emergencyLevelOptions" :value="item.key" :key="item.key" :label="item.value" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="办理期限" prop="exTime">
-							<el-date-picker
-								v-model="state.queryParams.exTime"
-								type="daterange"
-								unlink-panels
-								range-separator="至"
-								start-placeholder="开始日期"
-								end-placeholder="结束日期"
-								:shortcuts="shortcuts"
-								@change="timeStartChangeEx"
-								value-format="YYYY-MM-DD[T]HH:mm:ss"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="电话号码" prop="PhoneNo">
-							<el-input v-model="state.queryParams.PhoneNo" placeholder="来电号码/联系电话" clearable @keyup.enter="getList" />
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
-						<el-form-item label="推送分类" prop="PushTypeCode">
-							<el-select v-model="state.queryParams.PushTypeCode" placeholder="请选择推送分类" clearable class="w100">
-								<el-option v-for="item in state.pushTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
-							</el-select>
-						</el-form-item>
-					</el-col>
-					<el-col :span="8" v-show="!searchCol">
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="受理类型" prop="AcceptType">
+								<el-select v-model="state.queryParams.AcceptType" placeholder="请选择受理类型" multiple clearable class="w100">
+									<el-option v-for="item in state.acceptTypeOptions" :value="item.key" :key="item.key" :label="item.value" />
+								</el-select>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="来源渠道" prop="Channel">
+								<el-select v-model="state.queryParams.Channel" placeholder="请选择来源渠道" multiple clearable class="w100">
+									<el-option v-for="item in state.channelOptions" :value="item.key" :key="item.key" :label="item.value" />
+								</el-select>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="热点分类" prop="HotspotId">
+								<el-tree-select
+									class="w100"
+									v-model="state.queryParams.HotspotId"
+									filterable
+									clearable
+									multiple
+									:render-after-expand="false"
+									show-checkbox
+									placeholder="请选择热点分类"
+									:props="HotspotProps"
+									lazy
+									:load="load"
+									node-key="id"
+									check-strictly
+								/>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="部门" prop="OrgCode">
+								<el-cascader
+									:options="state.orgsOptions"
+									filterable
+									:show-all-levels="false"
+									:props="{ checkStrictly: true, value: 'id', label: 'orgName', emitPath: false, multiple: true }"
+									placeholder="请选择所属部门"
+									clearable
+									class="w100"
+									v-model="state.queryParams.OrgCode"
+									ref="cascaderRef"
+									@change="getselKnowledgeList"
+								>
+									<template #default="{ node, data }">
+										<span>{{ data.orgName }}</span>
+										<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+									</template>
+								</el-cascader>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="受理坐席" prop="NameOrNo">
+								<el-input v-model="state.queryParams.NameOrNo" placeholder="坐席姓名/坐席工号" clearable @keyup.enter="getList" />
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="受理时间" prop="crTime">
+								<el-date-picker
+									v-model="state.queryParams.crTime"
+									type="daterange"
+									unlink-panels
+									range-separator="至"
+									start-placeholder="开始日期"
+									end-placeholder="结束日期"
+									:shortcuts="shortcuts"
+									@change="timeStartChangeCr"
+									value-format="YYYY-MM-DD[T]HH:mm:ss"
+								/>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="转接来源" prop="TransferPhone">
+								<el-input v-model="state.queryParams.TransferPhone" placeholder="请填写转接来源" clearable @keyup.enter="getList" />
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="紧急程度" prop="EmergencyLevel">
+								<el-select v-model="state.queryParams.EmergencyLevel" placeholder="请选择受理类型" multiple clearable class="w100">
+									<el-option v-for="item in state.emergencyLevelOptions" :value="item.key" :key="item.key" :label="item.value" />
+								</el-select>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="办理期限" prop="exTime">
+								<el-date-picker
+									v-model="state.queryParams.exTime"
+									type="daterange"
+									unlink-panels
+									range-separator="至"
+									start-placeholder="开始日期"
+									end-placeholder="结束日期"
+									:shortcuts="shortcuts"
+									@change="timeStartChangeEx"
+									value-format="YYYY-MM-DD[T]HH:mm:ss"
+								/>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="电话号码" prop="PhoneNo">
+								<el-input v-model="state.queryParams.PhoneNo" placeholder="来电号码/联系电话" clearable @keyup.enter="getList" />
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
+							<el-form-item label="推送分类" prop="PushTypeCode">
+								<el-select v-model="state.queryParams.PushTypeCode" placeholder="请选择推送分类" clearable class="w100">
+									<el-option v-for="item in state.pushTypeOptions" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
+								</el-select>
+							</el-form-item>
+						</el-col>
+					</transition>
+					<transition name="el-zoom-in-top">
+						<el-col :span="8" v-show="!searchCol">
 						<el-form-item label="工单状态" prop="Status">
 							<el-select v-model="state.queryParams.Status" placeholder="请选择工单状态" multiple clearable class="w100">
 								<el-option v-for="item in state.orderStatusOptions" :value="item.key" :key="item.key" :label="item.value" />
 							</el-select>
 						</el-form-item>
 					</el-col>
+					</transition>
 					<el-col :span="8">
 						<div class="flex-end w100">
 							<el-button type="primary" @click="getList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>

+ 2 - 4
src/views/knowledge/knowledge/index.vue

@@ -2,8 +2,7 @@
 	<div class="knowledge-knowledge-container layout-padding">
 		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-row :gutter="20" class="h100">
-				<!-- 左侧组织树 -->
-				<el-col :xs="6" :sm="6" :md="4" :lg="4" :xl="4" class="orgTree">
+				<el-col :xs="6" :sm="6" :md="6" :lg="4" :xl="4" class="orgTree">
 					<div class="h100 pr10">
 						<el-tabs v-model="state.activeName" stretch>
 							<el-tab-pane label="部门" name="0">
@@ -78,8 +77,7 @@
 						</div>
 					</div>
 				</el-col>
-				<!-- 右侧表格 -->
-				<el-col :xs="18" :sm="18" :md="20" :lg="20" :xl="20" class="rightContent">
+				<el-col :xs="18" :sm="18" :md="18" :lg="20" :xl="20" class="rightContent">
 					<el-scrollbar class="pr10" ref="rightScrollRef">
 						<div class="flex-column">
 							<el-tabs v-model="state.queryParams.Status" @tab-change="handleClick">

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

@@ -3,7 +3,7 @@
 		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-row :gutter="20" class="h100">
 				<!-- 左侧组织树 -->
-				<el-col :xs="6" :sm="6" :md="4" :lg="4" :xl="4" class="orgTree">
+				<el-col :xs="6" :sm="6" :md="6" :lg="4" :xl="4" class="orgTree">
 					<el-scrollbar height="100%" class="pr10">
 						<template v-if="state.dictypeList.length">
 							<el-tree
@@ -26,11 +26,10 @@
 					</el-scrollbar>
 				</el-col>
 				<!-- 右侧表格 -->
-
-				<el-col :xs="18" :sm="18" :md="20" :lg="20" :xl="20" class="rightContent">
+				<el-col :xs="18" :sm="18" :md="18" :lg="20" :xl="20" class="rightContent">
 					<el-scrollbar class="pr10">
 						<div class="flex-column">
-							<div class="flex-between mb20">
+							<div class="flex-between mb10">
 								<el-form :model="state.queryParams" ref="ruleFormRef" :inline="true" @submit.native.prevent>
 									<el-form-item label="关键字" prop="keyword">
 										<el-input v-model="state.queryParams.keyword" placeholder="字典值名称/字典值" clearable @keyup.enter="handleQuery" />

+ 2 - 2
src/views/system/user/index.vue

@@ -3,7 +3,7 @@
 		<div class="layout-padding-auto layout-padding-view pd20">
 			<el-row :gutter="20" class="h100">
 				<!-- 左侧组织树 -->
-				<el-col :xs="6" :sm="6" :md="4" :lg="4" :xl="4" class="orgTree">
+				<el-col :xs="6" :sm="6" :md="6" :lg="4" :xl="4" class="orgTree">
 					<div class="h100 pr10">
 						<el-input v-model="filterOrg" placeholder="请输入部门名称" class="input-with-select mt10 mb10" clearable> </el-input>
 						<el-scrollbar style="height: calc(100% - 40px);'">
@@ -30,7 +30,7 @@
 					</div>
 				</el-col>
 				<!-- 右侧表格 -->
-				<el-col :xs="18" :sm="18" :md="20" :lg="20" :xl="20" class="rightContent">
+				<el-col :xs="18" :sm="18" :md="18" :lg="20" :xl="20" class="rightContent">
 					<el-scrollbar class="pr10" ref="rightScrollRef">
 						<div class="flex-column">
 							<el-form :model="state.queryParams" ref="ruleFormRef" :inline="true" @submit.native.prevent>