浏览代码

reactor:自贡录音文件只有中心能听部门不能;宜宾所有都能听;

zhangchong 6 月之前
父节点
当前提交
4a837f20a5

+ 13 - 9
src/components/OrderDetail/index.vue

@@ -37,12 +37,16 @@
 									{{ state.ruleForm.fromPhone }}
 									<el-button
 										plain
-										title="录音文件"
+										title="查看录音文件"
 										size="small"
 										type="primary"
 										class="ml8"
 										@click="recordFile(state.ruleForm)"
-										v-if="state.ruleForm?.recordingAbsolutePath"
+										v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.ruleForm?.recordingAbsolutePath && userInfos.isCenter
+												: state.ruleForm?.recordingAbsolutePath
+										"
 										>录音文件</el-button
 									>
 									<el-button
@@ -585,7 +589,7 @@
 	<!-- 播放录音 -->
 	<play-record ref="playRecordRef" />
 	<!--  自贡流程办理  -->
-	<z-g-process ref="zgProcessRef" @orderProcessSuccess="orderProcessSuccess"/>
+	<z-g-process ref="zgProcessRef" @orderProcessSuccess="orderProcessSuccess" />
 </template>
 
 <script setup lang="ts" name="orderDetail">
@@ -797,9 +801,9 @@ const callPhone = (phoneNumber: any) => {
 	}
 	// 移除号码中的非数字字符
 	finalNumber = finalNumber.replace(/\D/g, '');
-	if(['YiBin'].includes(themeConfig.value.appScope)){
+	if (['YiBin'].includes(themeConfig.value.appScope)) {
 		callCenterOutbound(finalNumber);
-	}else{
+	} else {
 		callCenterOutbound(finalNumber);
 	}
 };
@@ -841,9 +845,9 @@ const onSubmit = (val: string, annexName: string = '办理附件', classify: str
 			classify,
 		},
 	};
-	if(['工单办理','工单代办','工单退回'].includes(val) ){
+	if (['工单办理', '工单代办', '工单退回'].includes(val)) {
 		zgProcessRef.value.openDialog(params);
-	}else{
+	} else {
 		processAuditRef.value.openDialog(params);
 	}
 };
@@ -1000,8 +1004,8 @@ defineExpose({
 :deep(.el-collapse-item__wrap) {
 	border-bottom: none;
 }
-.checkbox{
-	:deep(.el-checkbox){
+.checkbox {
+	:deep(.el-checkbox) {
 		margin-right: 5px;
 	}
 }

+ 26 - 7
src/views/business/visit/components/Visit-detail.vue

@@ -71,7 +71,18 @@
 							<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" v-if="state.orderDetail.fromPhone">
 								<el-form-item label="来电号码" class="mb5">
 									{{ state.orderDetail.fromPhone }}
-									<el-button plain title="人工回访录音" size="small" type="primary" class="ml8" @click="recordFile" v-if="state.recordingAbsolutePath"
+									<el-button
+										plain
+										title="人工回访录音"
+										size="small"
+										type="primary"
+										class="ml8"
+										@click="recordFile"
+										v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.recordingAbsolutePath && userInfos.isCenter
+												: state.recordingAbsolutePath
+										"
 										>人工回访录音</el-button
 									>
 								</el-form-item>
@@ -122,7 +133,11 @@
 											type="primary"
 											class="ml8"
 											@click="recordFile"
-											v-if="state.recordingAbsolutePath"
+											v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.recordingAbsolutePath && userInfos.isCenter
+												: state.recordingAbsolutePath
+										"
 											>人工回访录音</el-button
 										>
 									</el-form-item>
@@ -252,7 +267,11 @@
 											type="primary"
 											class="ml8"
 											@click="recordFile"
-											v-if="state.recordingAbsolutePath"
+											v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.recordingAbsolutePath && userInfos.isCenter
+												: state.recordingAbsolutePath
+										"
 											>人工回访录音</el-button
 										>
 									</el-form-item>
@@ -678,9 +697,9 @@ const callPhone = (phoneNumber: string) => {
 	}
 	// 移除号码中的非数字字符
 	finalNumber = finalNumber.replace(/\D/g, '');
-	if(['YiBin'].includes(themeConfig.value.appScope)){
+	if (['YiBin'].includes(themeConfig.value.appScope)) {
 		callCenterOutbound(phoneNumber);
-	}else{
+	} else {
 		callCenterOutbound(finalNumber);
 	}
 };
@@ -820,8 +839,8 @@ defineExpose({
 		padding: 10px 15px 20px 15px;
 	}
 }
-.checkbox{
-	:deep(.el-checkbox){
+.checkbox {
+	:deep(.el-checkbox) {
 		margin-right: 5px;
 	}
 }

+ 20 - 1
src/views/judicial/order/components/orderDetail.vue

@@ -33,7 +33,11 @@
 										type="primary"
 										class="ml8"
 										@click="recordFile(state.ruleForm)"
-										v-if="state.ruleForm?.recordingAbsolutePath"
+										v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.ruleForm?.recordingAbsolutePath && userInfos.isCenter
+												: state.ruleForm?.recordingAbsolutePath
+										"
 										>录音文件</el-button
 									>
 								</el-form-item>
@@ -113,6 +117,8 @@
 			</el-collapse-item>
 		</el-collapse>
 	</el-dialog>
+	<!-- 播放录音 -->
+	<play-record ref="playRecordRef" />
 </template>
 
 <script setup lang="ts" name="orderDetail">
@@ -121,9 +127,13 @@ import { transformFile } from '@/utils/tools';
 import { ElMessage } from 'element-plus';
 import { formatDate } from '@/utils/formatTime';
 import { getJudicial } from '@/api/judicial/order';
+import { useUserInfo } from '@/stores/userInfo';
+import { useThemeConfig } from '@/stores/themeConfig';
+import { storeToRefs } from 'pinia';
 
 // 引入组件
 const AnnexList = defineAsyncComponent(() => import('@/components/AnnexList/index.vue')); // 附件列表
+const PlayRecord = defineAsyncComponent(() => import('@/components/PlayRecord/index.vue')); // 播放录音
 
 type ButtonType = '' | 'default' | 'success' | 'warning' | 'info' | 'text' | 'primary' | 'danger';
 const props = defineProps({
@@ -142,6 +152,10 @@ const props = defineProps({
 
 // 定义子组件向父组件传值/事件
 const emit = defineEmits(['updateList']);
+const storesUserInfo = useUserInfo();
+const storesThemeConfig = useThemeConfig();
+const { themeConfig } = storeToRefs(storesThemeConfig);
+const { userInfos } = storeToRefs(storesUserInfo); // 用户信息
 // 定义变量内容
 const state = reactive<any>({
 	dialogVisible: false, // 弹窗显示隐藏
@@ -199,6 +213,11 @@ const closeDialog = () => {
 const onOrderDetail = () => {
 	openDialog(props.order);
 };
+// 查看录音文件 播放录音
+const playRecordRef = ref<RefType>();
+const recordFile = (obj: any) => {
+	playRecordRef.value.openDialog(obj.callId);
+};
 // 暴露变量
 defineExpose({
 	openDialog,

+ 8 - 1
src/views/quality/done/components/Quality-inspection.vue

@@ -21,7 +21,11 @@
 						<el-button
 							plain
 							title="工单录音文件"
-							v-if="state.ruleForm?.order?.recordingAbsolutePath"
+							v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.ruleForm?.recordingAbsolutePath && userInfos.isCenter
+												: state.ruleForm?.recordingAbsolutePath
+										"
 							size="small"
 							type="primary"
 							class="ml8"
@@ -189,6 +193,7 @@ import { qualityUpdate, qualityDetail } from '@/api/quality';
 import { templateList } from '@/api/quality/template';
 import { useThemeConfig } from '@/stores/themeConfig';
 import { storeToRefs } from 'pinia';
+import { useUserInfo } from '@/stores/userInfo';
 
 // 引入组件
 const PlayRecord = defineAsyncComponent(() => import('@/components/PlayRecord/index.vue')); // 播放录音
@@ -306,6 +311,8 @@ const closeItem = () => {
 const playRecordRef = ref<RefType>();
 const storesThemeConfig = useThemeConfig();
 const { themeConfig } = storeToRefs(storesThemeConfig);
+const storesUserInfo = useUserInfo();
+const { userInfos } = storeToRefs(storesUserInfo); // 用户信息
 const recordFile = (obj: any, type: string) => {
 	switch (type) {
 		case 'order':

+ 8 - 1
src/views/quality/index/components/Quality-inspection.vue

@@ -21,7 +21,11 @@
 						<el-button
 							plain
 							title="工单录音文件"
-							v-if="state.orderDetail.recordingAbsolutePath"
+							v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.ruleForm?.recordingAbsolutePath && userInfos.isCenter
+												: state.ruleForm?.recordingAbsolutePath
+										"
 							size="small"
 							type="primary"
 							class="ml8"
@@ -188,6 +192,7 @@ import Other from '@/utils/other';
 import { qualityUpdate, qualityDetail } from '@/api/quality';
 import { useThemeConfig } from '@/stores/themeConfig';
 import { storeToRefs } from 'pinia';
+import { useUserInfo } from '@/stores/userInfo';
 
 // 引入组件
 const PlayRecord = defineAsyncComponent(() => import('@/components/PlayRecord/index.vue')); // 播放录音
@@ -300,6 +305,8 @@ const closeItem = () => {
 const playRecordRef = ref<RefType>();
 const storesThemeConfig = useThemeConfig();
 const { themeConfig } = storeToRefs(storesThemeConfig);
+const storesUserInfo = useUserInfo();
+const { userInfos } = storeToRefs(storesUserInfo); // 用户信息
 const recordFile = (obj: any, type: string) => {
 	switch (type) {
 		case 'order':

+ 8 - 1
src/views/todo/edit/components/Edit-order.vue

@@ -41,7 +41,11 @@
 							type="primary"
 							class="ml8"
 							@click="recordFile(state.ruleForm)"
-							v-if="state.ruleForm?.recordingAbsolutePath"
+							v-if="
+											['ZiGong'].includes(themeConfig.appScope)
+												? state.ruleForm?.recordingAbsolutePath && userInfos.isCenter
+												: state.ruleForm?.recordingAbsolutePath
+										"
 							>录音文件</el-button
 						>
 					</el-form-item>
@@ -439,6 +443,7 @@ import { useAppConfig } from '@/stores/appConfig';
 import { storeToRefs } from 'pinia';
 import { orderRepeatEvent } from '@/api/business/repeatEvent';
 import { useThemeConfig } from '@/stores/themeConfig';
+import { useUserInfo } from '@/stores/userInfo';
 
 const OrderRepeatSelect = defineAsyncComponent(() => import('@/views/todo/seats/accept/Order-repeat-select.vue')); // 选择重复工单
 const CommonAdvice = defineAsyncComponent(() => import('@/components/CommonAdvice/index.vue')); // 常用意见
@@ -480,6 +485,8 @@ const appConfigStore = useAppConfig();
 const { AppConfigInfo } = storeToRefs(appConfigStore); // 系统配置信息
 const storesThemeConfig = useThemeConfig();
 const { themeConfig } = storeToRefs(storesThemeConfig);
+const storesUserInfo = useUserInfo();
+const { userInfos } = storeToRefs(storesUserInfo); // 用户信息
 // 查看工单详情
 const getOrderDetail = async (id: string) => {
 	state.loading = true;