Просмотр исходного кода

reactor: 市州通用-【部门满意度统计表】展示方式优化等需求;

zhangchong 4 месяцев назад
Родитель
Сommit
d124b5f68b

+ 11 - 0
src/api/statistics/department.ts

@@ -163,6 +163,17 @@ export const departmentSatisfaction = (params: object) => {
     params,
   });
 }
+/**
+ * @description 部门满意度统计-基础数据
+ * @param {object} params
+ */
+export const departmentSatisfactionBase = (params?: object) => {
+  return request({
+    url: `/api/v1/BiOrder/visit-org-satisfaction-statisticsBaseData`,
+    method: 'get',
+    params,
+  });
+}
 /**
  * @description 部门满意度统计导出
  * @param {object} data

+ 19 - 1
src/views/statistics/department/detailSatisfied.vue

@@ -9,6 +9,11 @@
 						<el-option :value="2" label="企业" />
 					</el-select>
 				</el-form-item>
+				<el-form-item label="回访方式" prop="VisitType">
+					<el-select v-model="state.queryParams.VisitType" placeholder="请选择回访方式" clearable @change="handleQuery">
+						<el-option v-for="item in state.visitType" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
 				<!--        <el-form-item label="超期类型" prop="ExpiredType">
 					<el-select v-model="state.queryParams.ExpiredType" placeholder="请选择超期类型" clearable @change="handleQuery">
 						<el-option  value="1" label="系统中超期"></el-option>
@@ -131,7 +136,7 @@
 <script setup lang="tsx" name="statisticsDepartmentSatisfiedDetail">
 import { onMounted, reactive, ref, defineAsyncComponent, computed } from 'vue';
 import { FormInstance } from 'element-plus';
-import { departmentSatisfactionDetail, departmentSatisfactionDetailExport } from '@/api/statistics/department';
+import { departmentSatisfactionBase, departmentSatisfactionDetail, departmentSatisfactionDetailExport } from '@/api/statistics/department';
 import { formatDate } from '@/utils/formatTime';
 import { defaultDate } from '@/utils/constants';
 import { useRoute } from 'vue-router';
@@ -155,10 +160,12 @@ const state = reactive<any>({
     TypeCode:0,
 		SortField:null,
 		SortRule:null,
+		visitType:null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
+	visitType:[],
 });
 // 排序
 const sortChange = (val: any) => {
@@ -192,6 +199,7 @@ const queryList = () => {
     TypeCode: state.queryParams.TypeCode,
 		SortField: state.queryParams.SortField,
 		SortRule: state.queryParams.SortRule,
+		VisitType: state.queryParams.VisitType,
 	};
 	departmentSatisfactionDetail(requestParams.value)
 		.then((res: any) => {
@@ -240,8 +248,18 @@ const isChecked = computed(() => {
 });
 const toolbarRef = ref<RefType>();
 const tableRef = ref<RefType>();
+// 获取查询基础数据
+const getBaseData = async () => {
+	try {
+		const { result } = await departmentSatisfactionBase();
+		state.visitType = result.visitType;
+	} catch (e) {
+		console.log(e);
+	}
+}
 onMounted(() => {
 	queryList();
+	getBaseData();
 	if (tableRef.value && toolbarRef.value) {
 		tableRef.value.connect(toolbarRef.value);
 	}

+ 19 - 1
src/views/statistics/department/detailSatisfiedOrg.vue

@@ -9,6 +9,11 @@
 						<el-option :value="2" label="企业" />
 					</el-select>
 				</el-form-item>
+				<el-form-item label="回访方式" prop="VisitType">
+					<el-select v-model="state.queryParams.VisitType" placeholder="请选择回访方式" clearable @change="handleQuery">
+						<el-option v-for="item in state.visitType" :value="item.key" :key="item.key" :label="item.value" />
+					</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>
@@ -148,7 +153,7 @@
 <script setup lang="tsx" name="statisticsDepartmentSatisfiedOrg">
 import { onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { departmentSatisfactionOrg, departmentSatisfactionOrgExport } from '@/api/statistics/department';
+import { departmentSatisfactionBase, departmentSatisfactionOrg, departmentSatisfactionOrgExport } from '@/api/statistics/department';
 import { useRoute, useRouter } from 'vue-router';
 import XEUtils from 'xe-utils';
 
@@ -161,11 +166,13 @@ const state = reactive<any>({
 		PageSize: 10,
 		TypeId: '1', //
 		TypeCode: 0,
+		VisitType:null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
 	totalCount: {},
+	visitType:[],
 });
 /** 搜索按钮操作 */
 const handleQuery = () => {
@@ -186,6 +193,7 @@ const queryList = () => {
 		OrgCode: routeQueryParams.OrgCode,
 		DateValue: routeQueryParams.DateValue,
 		TypeCode: state.queryParams.TypeCode,
+		VisitType: state.queryParams.VisitType,
 	};
 	departmentSatisfactionOrg(requestParams.value)
 		.then((res: any) => {
@@ -234,7 +242,17 @@ const linkDetail = (key: string, row: any) => {
 		} as any,
 	});
 };
+// 获取查询基础数据
+const getBaseData = async () => {
+	try {
+		const { result } = await departmentSatisfactionBase();
+		state.visitType = result.visitType;
+	} catch (e) {
+		console.log(e);
+	}
+}
 onMounted(() => {
 	queryList();
+	getBaseData();
 });
 </script>

+ 18 - 1
src/views/statistics/department/satisfied.vue

@@ -163,6 +163,11 @@
 						<el-option v-for="item in state.callForwardingSource" :value="item.dicDataValue" :key="item.dicDataValue" :label="item.dicDataName" />
 					</el-select>
 				</el-form-item>
+				<el-form-item label="回访方式" prop="VisitType">
+					<el-select v-model="state.queryParams.VisitType" placeholder="请选择回访方式" clearable @change="handleQuery">
+						<el-option v-for="item in state.visitType" :value="item.key" :key="item.key" :label="item.value" />
+					</el-select>
+				</el-form-item>
 				<el-form-item label="来电主体" prop="TypeCode">
 					<el-select v-model="state.queryParams.TypeCode" placeholder="请选择来电主体" @change="handleQuery">
 						<el-option :value="0" label="全部" />
@@ -187,7 +192,7 @@
 <script setup lang="tsx" name="statisticsDepartmentSatisfied">
 import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
 import { FormInstance } from 'element-plus';
-import { departmentSatisfaction, departmentSatisfactionExport } from '@/api/statistics/department';
+import { departmentSatisfaction, departmentSatisfactionBase, departmentSatisfactionExport } from '@/api/statistics/department';
 import { defaultDate } from '@/utils/constants';
 import { useRouter } from 'vue-router';
 import { callPeriodBase } from '@/api/statistics/call';
@@ -211,12 +216,14 @@ const state = reactive<any>({
 		EndTime: null,
 		TypeId: '1',
 		TypeCode: 0,
+		VisitType:null,
 	},
 	tableData: [], //表单
 	loading: false, // 加载
 	total: 0, // 总数
 	totalCount: {},
 	callForwardingSource: [],
+	visitType:[],
 });
 const storesThemeConfig = useThemeConfig();
 const { themeConfig } = storeToRefs(storesThemeConfig);
@@ -312,6 +319,15 @@ const getBaseInfo = async () => {
 		console.log(e);
 	}
 };
+// 获取查询基础数据
+const getBaseData = async () => {
+	try {
+		const { result } = await departmentSatisfactionBase();
+		state.visitType = result.visitType;
+	} catch (e) {
+		console.log(e);
+	}
+}
 // 跳转列表明细
 const onDetailList = () => {
 	router.push({
@@ -326,5 +342,6 @@ onMounted(() => {
 		tableRef.value.connect(toolbarRef.value);
 	}
 	getBaseInfo();
+	getBaseData();
 });
 </script>