Jelajahi Sumber

将curd所选数据给远程模态框组件

liuyanpeng 1 tahun lalu
induk
melakukan
734458c9b4

+ 1 - 1
src/client/OrganizationEditPanel.vue

@@ -18,7 +18,7 @@
       option-filter-prop="label"
       style="width: 50%; margin-left: 16px"
       placeholder="请选择公司"
-      :options="companies.map((item) => ({ value: item.id, label: item.name }))"
+      :options="companies.map((item) => ({ value: item.roomId, label: item.roomName }))"
       @change="getClientId"
     />
     <a-button type="primary" style="margin-left: 8px" @click="editClient">

+ 14 - 4
src/window1/tabGridView/NewTabButton.vue

@@ -151,7 +151,7 @@
     </template>
   </Modal>
 
-  <component :is="modal1Component" v-model:open="modal1Open" />
+  <component :is="modal1Component" v-model:open="modal1Open" :model-data="selectDatas" @refresh-data="refresh" />
 </template>
 
 <script setup>
@@ -163,6 +163,7 @@ import {
   getCurrentInstance,
   defineAsyncComponent,
   h,
+  onMounted,
 } from 'vue';
 import Common from '../../common/Common';
 import DownloadService from '../../resource/file/DownloadService.js';
@@ -208,6 +209,12 @@ const props = defineProps({
       return null;
     },
   },
+  selectModelDatas: {
+    type: Array,
+    default: function () {
+      return null;
+    },
+  },
   showTabDto: {
     type: Object,
     default: function () {
@@ -241,6 +248,7 @@ const emit = defineEmits([
   'judgeIsHaveButtons',
 ]);
 
+const selectDatas = ref([]);
 const tabButtons = ref([]);
 const leftTabButton = ref([]);
 const rightTabButton = ref([]);
@@ -265,9 +273,11 @@ const deleteData = () => {
 const refresh = () => {
   emit('refreshDatas', false);
 };
-const closeModal = () => {
-  modal1Open.value = false;
-};
+
+watch(()=>props.selectModelDatas,newV => {
+  selectDatas.value = newV;
+},{immediate:true,deep:true});
+
 /**
  * 导出确认
  */

+ 12 - 0
src/window1/tabGridView/TabGridEdit.vue

@@ -43,6 +43,7 @@
           :window="window" :now-tab="nowTab" :simple-filter-params="searchText"
           :complex-filter-params="complexFilterParams" :uuid="uuid" :show-tab-dto="tab" :model-datas="modelDatas"
           :view-type="'Grid'" :curd-window-function-access="curdWindowFunctionAccess"
+          :select-model-datas="selectModelDatas"
           @create-record-in-window-edit="createRecordInWindowEdit" @delete-records="deleteRecords"
           @refresh-datas="refreshDatas" @judge-is-have-buttons="judgeIsHaveButtons"
         />
@@ -260,6 +261,7 @@ export default {
       dynamicComponent: null,
       dynamicComponentParam: null,
       dynamicComponentOpen: true,
+      selectModelDatas:[],
     };
   },
   computed: {
@@ -1422,6 +1424,16 @@ export default {
         });
       }
       modelData.select = !currentStatus;
+
+      if (modelData.select === true) {
+        this.selectModelDatas.push(modelData);
+      } else {
+        this.selectModelDatas.forEach((item,index) =>{
+          if(item.id=== modelData.id) {
+            this.selectModelDatas.splice(index,1);
+          }
+        });
+      }
     },
 
     /**