Bladeren bron

修改:修改页面内容的部分权限展示和内容样式展示

lm 2 dagen geleden
bovenliggende
commit
01b85a96f5

+ 7 - 4
src/baseComponents/CalendarTodoList/index.vue

@@ -63,7 +63,7 @@
                         <span class="event_popup_date">{{ formatPopupDate(cell.date) }} {{ hoverState.event.title.split(' ')[0] }}</span>
                         <span class="event_actions_right" v-if="hasSchoolManager">
                             <template v-if="hoverState.event.isCustomToDo">
-                                <span class="event_btn event_edit"  @click.stop="editEvent(hoverState.event)">编辑</span>
+                                <span class="event_btn event_edit"  @click.stop="editEvent(cell.date, hoverState.event)">编辑</span>
                                 <span class="event_btn event_delete" @click.stop="deleteEvent(hoverState.event)">删除</span>
                             </template>
                             <template v-else>
@@ -109,6 +109,9 @@ import CalendarDateSelectHeader from './CalendarDateSelectHeader.vue'
 import { ref, computed, onMounted, onUnmounted} from 'vue'
 import addIcon from '@/assets/icon/add.svg'
 
+import {formatTime} from '@/utils/timeRangeGet'
+
+
 interface ScheduleEventsItm {
     [dateKey:string]:{
         id:string,
@@ -197,7 +200,7 @@ const handleEventClick = (date: Date, ev: { id: string; title: string }, index:
 
 // 打开创建任务弹窗
 const openAddSchedule = (date: Date) => {
-    emit('addOrUpdateOption')
+    emit('addOrUpdateOption',formatTime(date).split(' ')[0])
 }
 
 const weekdays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
@@ -279,8 +282,8 @@ const selectDate = (d: Date) => {
 }
 
 // 编辑事件
-const editEvent = (ev: { id: string; title: string }) => {
-    emit('addOrUpdateOption',ev)
+const editEvent = (date: Date, ev: { id: string; title: string }) => {
+    emit('addOrUpdateOption',formatTime(date).split(' ')[0], ev)
 }
 
 // 删除事件

+ 11 - 0
src/baseComponents/FormDialog.vue

@@ -252,6 +252,17 @@
               :disabled-date="item.disabledDate"
               @change="(val)=>handleSelectChange(item.key,val,item.type)"
             />
+            <!-- 单独的时间选择 时:分  -->
+            <el-time-picker 
+              v-else-if="item.type=='timePickerNoRange'" 
+              v-model="formData[item.key]"
+              :placeholder="item.placeholder"
+              :disabled="item.disabled"
+              style="width: 100%;"
+              format="HH:mm"
+              value-format="HH:mm"
+              @change="(val)=>handleSelectChange(item.key,val,item.type)"
+            />
 
             <el-upload
               v-else-if="item.type=='file'"

+ 7 - 3
src/components/ConcactPeopleFormDialog/formDialog.ts

@@ -16,9 +16,13 @@ const officePhoneNoValidator =  (rule: any, value: string, callback: any) => {
   if (!value) {
     return callback();
   }
-  const reg = /^1[3-9]\d{9}$/;
-  if (!reg.test(value)) {
-    return callback(new Error('请输入正确的11位手机号'));
+  // 手机号正则:11位,1开头,第二位3-9
+  const mobileReg = /^1[3-9]\d{9}$/;
+  // 座机号正则:支持带区号和不带区号,区号可选,支持3-4位,号码7-8位,可选分机号
+  // 匹配格式如:010-12345678、0755-1234567、12345678、01012345678、010-12345678-123
+  const landlineReg = /^(\d{3,4}-?)?\d{7,8}(-\d{1,4})?$/;
+  if (!mobileReg.test(value) && !landlineReg.test(value)) {
+    return callback(new Error('请输入正确的手机号或座机号'));
   }
   callback();
 };

+ 2 - 0
src/components/settingCard/SettingCard.vue

@@ -356,6 +356,8 @@ watch(()=>props.defaultTableData,(val)=>{
         gap: 16px;
 
         .tag_item {
+            display: flex;
+            align-items: center;
             height: 32px;
             border-radius: 4px 4px 4px 4px;
             border: 1px solid #DCDFE6;

+ 8 - 2
src/views/appointmentAndTodo/appointmentRegister/index.vue

@@ -10,7 +10,7 @@
             <TimeNavLine v-for="(item,index) in appointmentList" 
                 :key="item.id" 
                 :navIcon="item.navIcon" 
-                :navTime="item.orderDatetime" 
+                :navTime="item.orderDatetime.split(' ')[1]" 
                 :timeDesc="item.timeDesc"
                 :timeDescClass="appointmentStatusToClass(item.timeDesc)"
                 :isFirst="index === 0"
@@ -211,12 +211,18 @@ watch(()=>props.orderStatusList,(newVal)=>{
     :deep(.follow_card){
         .audit_card{
             border-color: transparent;
+            .header_left {
+                font-size: 16px;
+            }
+            .card_content,
+            .card_info {
+                font-size: 14px;
+            }
             .table_row_option{
                 display: none;
             }
         }
         .cancel_reason{
-            line-height: 20px;
             font-weight: 400;
             font-size: 14px;
             color: #F56C6C;

+ 2 - 2
src/views/appointmentAndTodo/index.vue

@@ -48,7 +48,7 @@
                             </FormSearchGroup>
                         </div>
 
-                        <!-- 待办登记展示信息 -->
+                        <!-- 待办提醒展示信息 -->
                         <div  v-if="defaultTabType === 'todo'" class="content_right" style="flex:1 1">
                             <!-- 日历导航 头-->
                             <CalendarDateSelectHeader 
@@ -67,7 +67,7 @@
                     @searchChange="HandleSearchChange">
                 </AppointmentRegister>
             </div>
-            <!-- 待办登记 -->
+            <!-- 待办提醒 -->
             <TodoRegister 
                 v-if="defaultTabType === 'todo'" class="page_item"  style="padding:10px;flex:1 1"    
                 v-model:currentYear="currentYear"

+ 1 - 1
src/views/appointmentAndTodo/tabSearch.ts

@@ -6,7 +6,7 @@ export const tabSearchList = ref([
         key:'appointment',
     },
     {
-        label:'待办登记',
+        label:'待办提醒',
         key:'todo',
     },
 ])

+ 8 - 8
src/views/appointmentAndTodo/toDoRegister/formDialog.ts

@@ -3,6 +3,14 @@ import { ref } from "vue";
 
 // 添加待办表单项列表
 export const todoTaskFormItemList = ref([
+    {
+        key: 'orderDatetime',
+        label: '待办时间',
+        type: 'timePickerNoRange',
+        placeholder:'请选择',
+        rules:[{required:true,trigger:'blur',message:'请填写信息'}],
+        style: { }
+    },
     {
         key: 'followContent',
         label: '待办内容',
@@ -12,13 +20,5 @@ export const todoTaskFormItemList = ref([
         rules:[{required:true,trigger:'blur',message:'请填写信息'}],
         style: {  }
     },
-    {
-        key: 'orderDatetime',
-        label: '待办时间',
-        type: 'dateTimePickerNoRange',
-        placeholder:'请选择',
-        rules:[{required:true,trigger:'blur',message:'请填写信息'}],
-        style: { }
-    },
     
 ])

+ 8 - 10
src/views/appointmentAndTodo/toDoRegister/index.vue

@@ -1,4 +1,4 @@
-<!-- 待办登记 -->
+<!-- 待办提醒 -->
 
 <template>
     <div class="todo_register">
@@ -50,13 +50,10 @@
 
 <script setup lang="ts">
 import { computed, onMounted, ref,watch } from 'vue'
-
 import SearchBlock from '@/baseComponents/SearchBlock.vue';
 import {blockSearchList} from './searchBlock'
-
 import CalendarTodoList from '@/baseComponents/CalendarTodoList/index.vue';
 import FormDialog from '@/baseComponents/FormDialog.vue';
-
 import {todoTaskFormItemList} from './formDialog'
 
 import {getToDoTaskApi,addToDoTaskApi,updateToDoTaskApi, deleteToDoTaskApi } from '@/api/appointmentAndTodo'
@@ -65,9 +62,6 @@ import dayjs from 'dayjs';
 import Dialog from '@/baseComponents/Dialog.vue'
 
 import FollowFormDialog from '@/components/FollowFormDialog/index.vue'
-
-import {formatTime} from '@/utils/timeRangeGet'
-
 import {closeToDoTaskApi} from '@/api/appointmentAndTodo'
 
 const currentYear = defineModel('currentYear')
@@ -81,14 +75,17 @@ const userInfo = computed(()=>{
 const todoDialogVisible = ref(false)
 const todoDialogSubmitloading = ref(false)
 const todoDialogDefaultFormData = ref({})
+const toDoDialogDay = ref('')  //打开待办弹窗时所选择的日期
+
 // 打开
-const OpenTodoDialog =(row)=>{
+const OpenTodoDialog =(day,row)=>{
+    toDoDialogDay.value = day
     todoDialogVisible.value = true
     if(row.id){
         todoDialogDefaultFormData.value = {
             id:row.id,
             followContent:row.desc,
-            orderDatetime:row.time,
+            orderDatetime:row.time.split(' ')[1],
         }
     }
 }
@@ -97,6 +94,7 @@ const CloseTodoDialog =()=>{
     todoDialogVisible.value = false
     todoDialogSubmitloading.value = false
     todoDialogDefaultFormData.value = {}
+    toDoDialogDay.value = ''
 }
 // 新增/修改 确认
 const HandleTodoDialogConfirm = async (params)=>{
@@ -105,7 +103,7 @@ const HandleTodoDialogConfirm = async (params)=>{
     const {formData,formRef} = params
     let finalParams = {
         followContent: formData.followContent,
-        orderDatetime: formatTime(formData.orderDatetime)
+        orderDatetime: toDoDialogDay.value + ' ' + formData.orderDatetime+':00'
     }
     let res = undefined
     try{

+ 2 - 2
src/views/highSeasCustomer/highSeasCustomerDetail/contactDetail/index.vue

@@ -28,8 +28,8 @@
             </template>
             <template #operation="{row}">
                 <div class="table_row_option">
-                    <span class="option_button_editor" @click="OpenCactPeopleFormDialog(row)">编辑</span>
-                    <span class="el_button_delete" @click="OpenDeleteDialog(row)">删除</span>
+                    <span :class="[ userInfo.roles.includes('Admin') ? 'option_button_editor' : 'editor_disable']" @click="userInfo.roles.includes('Admin') ? OpenCactPeopleFormDialog(row) : ''">编辑</span>
+                    <span :class="[ userInfo.roles.includes('Admin') ? 'el_button_delete' : 'editor_disable']" @click="userInfo.roles.includes('Admin') ? OpenDeleteDialog(row) : ''">删除</span>
                 </div>
             </template>
         </Table>

+ 2 - 3
src/views/highSeasCustomer/index.vue

@@ -30,9 +30,9 @@
                 <template #operation="{row}">
                     <div class="table_row_option">
                         <span class="button_editor" @click="ClaimCustomer(row)">认领</span>
-                        <span class="button_editor" @click="OpenSchoolFormDialog(row)">编辑</span>
+                        <span v-if="userInfo.roles.includes('Admin')" class="button_editor" @click="OpenSchoolFormDialog(row)">编辑</span>
                         <span class="button_editor" @click="GoToDetail(row)">详情</span>
-                        <span class="el_button_delete" @click="OpenDeleteDialog(row)">删除</span>
+                        <span v-if="userInfo.roles.includes('Admin')" class="el_button_delete" @click="OpenDeleteDialog(row)">删除</span>
                     </div>
                 </template>
 
@@ -66,7 +66,6 @@
             </template>
             <template #tableTemplate>
                 <Table :hidePagination="true" :tableColumns="templateTableColumns" :tableData="[{},{}]" />
-                <div style="font-size: 12px;">用于分析同一份试卷内不同试卷类型的得分、排名等情况。可下载模块进行填写后导入。</div>
             </template>
         </FormDialog>
 

+ 4 - 2
src/views/myCustomer/myCustomerDetail/contactDetail/index.vue

@@ -37,9 +37,11 @@
             <template #operation="{row}">
                 <div class="table_row_option">
                     <span class="option_button_editor" @click="OpenFollowlFormDialog(row)">写跟进</span>
-                    <span class="option_button_editor" @click="OpenCactPeopleFormDialog(row)">编辑</span>
                     <!-- deleteStatus   true 可删   false 不可删  -->
-                    <span class="el_button_delete" v-if="row.deleteStatus" @click="OpenDeleteDialog(row)">删除</span>
+                    <template v-if="row.deleteStatus" >
+                        <span class="option_button_editor" @click="OpenCactPeopleFormDialog(row)">编辑</span>
+                        <span class="el_button_delete" @click="OpenDeleteDialog(row)">删除</span>
+                    </template>
                 </div>
             </template>
         </Table>