浏览代码

选择研究员接口调整

cxmo 1 年之前
父节点
当前提交
f782ba6584
共有 1 个文件被更改,包括 51 次插入8 次删除
  1. 51 8
      src/views/ssbg/roadshow/rsCalendar.vue

+ 51 - 8
src/views/ssbg/roadshow/rsCalendar.vue

@@ -1,7 +1,7 @@
 <script setup>
 import { ref, reactive,toRefs,onMounted } from 'vue';
 import { useRoute } from 'vue-router';
-import { Icon, Toast,TreeSelect,Popup } from 'vant';
+import { Icon, Toast,TreeSelect,Popup,Cascader } from 'vant';
 import moment from 'moment';
 import 'moment/dist/locale/zh-cn';
 moment.locale('zh-cn');
@@ -110,15 +110,45 @@ const rs_picker = ref({
 const getResearcherList = async() => {
   const { code,data } = await researcherList();
   if(code !== 200) return;
-  researcherArr.value = data.map(group => ({
+
+  /* researcherArr.value = data.map(group => ({
     ...group,
     text: group.GroupName,
+    value:group.GroupId,
     children: group.ResearcherList ? group.ResearcherList.map(child => ({
       ...child,
       text: child.RealName,
-      id: child.AdminId
+      id: child.AdminId,
+      value:child.AdminId
     })) : []
-  }));
+  })); */
+    const ficcList = formatResearcherList(data.find(i=>i.GroupName==='ficc').ResearcherList||[]);
+    const raiList = formatResearcherList(data.find(i=>i.GroupName==='权益').ResearcherList||[]);
+    researcherArr.value = [{
+        text:'ficc',
+        value:-1,
+        children:ficcList
+    },{
+        text:'权益',
+        value:-2,
+        children:raiList
+    }]
+}
+function formatResearcherList(list){
+    list.forEach((group) => {
+        // 对组做处理
+        group.text = group.GroupName
+        group.value = group.GroupId
+        // 如果有列表
+        group.ResearcherList && group.ResearcherList.forEach((item) => {
+          // 对研究员做处理
+          item.text = item.RealName
+          item.value = item.AdminId
+        })
+        group.children = group.ResearcherList||[]
+      })
+      // 去掉ficc全体选项
+      return list.filter((group) => group.GroupName !== "ficc全体");
 }
 onMounted(() => {
   getResearcherList();
@@ -160,6 +190,11 @@ const confirmResearcher = () => {
 const { eventList } = toRefs(state);
 
 document.title = '研究员日历';
+
+function chooseResearcher(){
+    getEventList();
+    isResearcherPicker.value = false;
+}
 </script>
 
 <!--  -->
@@ -202,17 +237,25 @@ document.title = '研究员日历';
 
     <!-- 选择研究员picker -->
     <Popup v-model:show="isResearcherPicker" position="bottom">
-			<view class="select-rs-header">
+			<!-- <view class="select-rs-header">
 				<text class="cancel" @click="cancelResearcher">取消</text>
 				<text class="ensure" @click="confirmResearcher">确认</text>
-			</view>
-			<TreeSelect 
+			</view> -->
+			<!-- <TreeSelect 
 				:items="researcherArr" 
 				:main-active-index="rs_picker.firstindex" 
 				:active-id="rs_picker.id"
 				@click-nav="clickFirstHandle" 
 				@click-item="clickItemHandle" 
-			/>
+			/> -->
+            <Cascader
+                title="请选择研究员"
+                active-color="#3385FF"
+                v-model="state.selectResearcher"
+                :options="researcherArr"
+                @close="cancelResearcher"
+                @finish="chooseResearcher"
+            />
 		</Popup>
   </div>
 </template>