浏览代码

reactor:新增来电人身份类型;

zhangchong 9 月之前
父节点
当前提交
c55b5e8fca

+ 1 - 1
src/components/OrderDetail/index.vue

@@ -287,7 +287,7 @@
 		<div v-show="state.activeName === '1'">
 			<history-order :ruleForm="state.ruleForm" :orderId="state.orderId" ref="historyOrderRef" readonly :maxHeight="500" />
 		</div>
-		<!-- 回访记录 -->
+		<!-- 回访详情 -->
 		<div v-show="state.activeName === '2'">
 			<el-form
 				label-width="120px"

+ 1 - 1
src/components/ProTable/components/ColSetting.vue

@@ -12,7 +12,7 @@
 		>
 			<el-table-column prop="label" align="center" label="列名(拖动排序)" class-name="allow-drag cursor-move"> </el-table-column>
 			<el-table-column v-slot="scope" prop="isShow" align="center" label="显示" width="70">
-				<el-checkbox v-model="scope.row.isShow" @change="update"></el-checkbox>
+				<el-checkbox v-model="scope.row.isShow" @change="update" :disabled="['selection', 'radio', 'index', 'expand', 'sort'].includes(scope.row.type)"></el-checkbox>
 			</el-table-column>
 			<el-table-column v-slot="scope" prop="isShow" align="center" label="宽度" min-width="100">
 				<el-input-number v-model="scope.row.width" @change="update"></el-input-number>

+ 10 - 1
src/views/statistics/department/delay.vue

@@ -3,6 +3,13 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电人身份" prop="IdentityType">
+          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="延期部门" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -106,9 +113,11 @@ const columns = ref<any[]>([
 const ruleFormRef = ref<RefType>(); // 表单ref
 const state = reactive<any>({
 	queryParams: {
-		// 查询条件
 		OrgName: null, // 关键词
 		crTime: defaultDate, // 时间默认今天开始到今天结束
+    IdentityType:'',
+    StartTime:null,
+    EndTime:null
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 8 - 0
src/views/statistics/department/handle.vue

@@ -3,6 +3,13 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电人身份" prop="IdentityType">
+          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="部门名称" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -418,6 +425,7 @@ const state = reactive<any>({
 	tableData: [], //表单
 	loading: false, // 加载
 	totalCount: 0, // 总计
+  IdentityType:'',
 });
 /** 搜索按钮操作 */
 const handleQuery = () => {

+ 10 - 0
src/views/statistics/department/overdue.vue

@@ -3,6 +3,13 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电人身份" prop="IdentityType">
+          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="超期部门" prop="Keyword">
 					<el-input v-model="state.queryParams.Keyword" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -159,8 +166,11 @@ const state = reactive<any>({
 		PageSize: 10,
 		Keyword: null, // 关键词
 		crTime: defaultDate, // 时间默认今天开始到今天结束
+    StartTime:null,
+    EndTime:null,
 		SortField: null,
 		SortRule: null,
+    IdentityType:''
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 40 - 0
src/views/statistics/department/satisfied.vue

@@ -3,6 +3,13 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电人身份" prop="IdentityType">
+          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="部门名称" prop="OrgName">
 					<el-input v-model="state.queryParams.OrgName" placeholder="部门名称" clearable @keyup.enter="handleQuery" class="keyword-input" />
 				</el-form-item>
@@ -55,6 +62,36 @@
 				:exportMethod="departmentSatisfactionExport"
 				:exportParams="requestParams"
 			>
+<!--        <template #description>
+          <el-popover :width="500" trigger="click">
+            <template #reference>
+              <el-button circle title="口径说明"><SvgIcon name="ele-QuestionFilled" /></el-button>
+            </template>
+            <el-descriptions title="" :column="1" border style="max-height: 400px; overflow: auto">
+              <el-descriptions-item label="部门类别">部门的类型</el-descriptions-item>
+              <el-descriptions-item label="小计"
+              >已回访的工单数量(非常满意+满意+视为满意)/(非常满意+满意+视为满意+不满意+非常不满意)</el-descriptions-item
+              >
+              <el-descriptions-item label="总满意率">(非常满意+满意+视为满意)/(非常满意+满意+视为满意+不满意+非常不满意)</el-descriptions-item>
+              <el-descriptions-item label="非常满意"> 已回访-部门评价-办件结果为非常满意 </el-descriptions-item>
+              <el-descriptions-item label="非常满意率"> 非常满意/小计 </el-descriptions-item>
+              <el-descriptions-item label="满意"> 已回访-部门评价-办件结果为满意 </el-descriptions-item>
+              <el-descriptions-item label="满意率"> 满意/小计 </el-descriptions-item>
+              <el-descriptions-item label="视为满意"> 甄别申请-不满意件-修改为满意件 </el-descriptions-item>
+              <el-descriptions-item label="视为满意率"> 满意/小计 </el-descriptions-item>
+              <el-descriptions-item label="一般"> 已回访-部门评价-办件结果为一般 </el-descriptions-item>
+              <el-descriptions-item label="一般率"> 一般/小计 </el-descriptions-item>
+              <el-descriptions-item label="不满意"> 已回访-部门评价-办件结果为不满意 </el-descriptions-item>
+              <el-descriptions-item label="不满意率"> 满意/小计 </el-descriptions-item>
+              <el-descriptions-item label="非常不满意"> 已回访-部门评价-办件结果为非常不满意 </el-descriptions-item>
+              <el-descriptions-item label="非常不满意率"> 非常不满意率/小计 </el-descriptions-item>
+              <el-descriptions-item label="未做评价"> 已回访-部门评价-办件结果为未做评价 </el-descriptions-item>
+              <el-descriptions-item label="未做评价率"> 未做评价/小计 </el-descriptions-item>
+              <el-descriptions-item label="未接通"> 已回访-部门评价-办件结果为未接通 </el-descriptions-item>
+              <el-descriptions-item label="未做评价率"> 未接通/小计 </el-descriptions-item>
+            </el-descriptions>
+          </el-popover>
+        </template>-->
 			</ProTable>
 		</el-card>
 	</div>
@@ -269,6 +306,9 @@ const state = reactive<any>({
 		OrgName: null,
 		LineNum: null,
 		crTime: defaultDate, // 时间默认今天开始到今天结束
+    StartTime:null,
+    EndTime:null,
+    IdentityType:''
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 3 - 6
src/views/statistics/order/acceptType.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="TypeId">
 					<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
         <el-form-item label="热线号码" prop="Gateway">
@@ -97,11 +99,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 10 - 0
src/views/statistics/order/departmentAcceptType.vue

@@ -3,6 +3,13 @@
 		<!-- 搜索  -->
 		<el-card shadow="never">
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
+        <el-form-item label="来电人身份" prop="IdentityType">
+          <el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
+          </el-select>
+        </el-form-item>
 				<el-form-item label="归档类型" prop="TypeCode">
 					<el-select v-model="state.queryParams.TypeCode" placeholder="部门名称" @change="handleQuery">
 						<el-option label="全部" value="0" />
@@ -223,7 +230,10 @@ const state = reactive<any>({
 	queryParams: {
 		// 查询条件
 		TypeCode: '0', // 关键词
+    IdentityType:'',
 		crTime: defaultDate,
+    StartTime:null,
+    EndTime:null
 	},
 	tableData: [], //表单
 	loading: false, // 加载

+ 3 - 6
src/views/statistics/order/detailAcceptTime.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -72,11 +74,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/detailAcceptTypeList.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="TypeId">
 					<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="热线号码" prop="Gateway">
@@ -82,11 +84,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/detailAreaTime.vue

@@ -5,7 +5,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery" clearable>
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -73,11 +75,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/detailHotSpotTime.vue

@@ -5,7 +5,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -73,11 +75,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/detailSource.vue

@@ -5,7 +5,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -74,11 +76,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/detailSourceTime.vue

@@ -5,7 +5,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -73,11 +75,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/source.vue

@@ -5,7 +5,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -89,11 +91,6 @@ const state = reactive<any>({
 	loading: false, // 加载
 	total: 0, // 总数
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-	{ key: '市民', value: '1' },
-	{ key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/subRegional.vue

@@ -37,7 +37,9 @@
 				</el-form-item>
 				<el-form-item label="来电人身份" prop="TypeId">
 					<el-select v-model="state.queryParams.TypeId" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="热线号码" prop="Line">
@@ -102,11 +104,6 @@ const state = reactive({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-	{ key: '全部', value: '' },
-	{ key: '市民', value: '1' },
-	{ key: '企业', value: '2' },
-];
 const valueFormat = computed(() => {
 	return state.queryParams.dateType === 'date' ? 'YYYY-MM-DD' : state.queryParams.dateType === 'month' ? 'YYYY-MM' : 'YYYY';
 });

+ 3 - 6
src/views/statistics/order/timeAccept.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -85,11 +87,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/timeArea.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -85,11 +87,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/timeHotspot.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -85,11 +87,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-  { key: '全部', value: '' },
-  { key: '市民', value: '1' },
-  { key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;

+ 3 - 6
src/views/statistics/order/timeSource.vue

@@ -4,7 +4,9 @@
 			<el-form :model="state.queryParams" ref="ruleFormRef" @submit.native.prevent inline>
 				<el-form-item label="来电人身份" prop="IdentityType">
 					<el-select v-model="state.queryParams.IdentityType" placeholder="请选择来电人身份" @change="handleQuery">
-						<el-option v-for="item in identityTypeOptions" :value="item.value" :key="item.value" :label="item.key" />
+            <el-option value="" label="全部" />
+            <el-option value="1" label="市民" />
+            <el-option value="2" label="全部" />
 					</el-select>
 				</el-form-item>
 				<el-form-item label="时间段" prop="crTime">
@@ -85,11 +87,6 @@ const state = reactive<any>({
 	total: 0, // 总数
 	callForwardingSource: [],
 });
-const identityTypeOptions = [
-	{ key: '全部', value: '' },
-	{ key: '市民', value: '1' },
-	{ key: '企业', value: '2' },
-];
 /** 搜索按钮操作 */
 const handleQuery = () => {
 	// state.queryParams.PageIndex = 1;