Browse Source

活动管理优化

wangwei 3 years ago
parent
commit
e2b660ac4a

+ 8 - 7
src/views/event/activity/customCom/CustomInput.vue

@@ -3,9 +3,7 @@
   <div class="wrap">
     <div class="content">
       <Input :placeholder="placeholder" disabled v-model:value="value" />
-      <a-button class="mr-2 add-btn" color="success" @click="openAddPop(placeholder)">
-        添加
-      </a-button>
+      <a-button class="mr-2 add-btn" color="success" @click="openAddPop()"> 添加 </a-button>
     </div>
     <Popup @register="register" @select="select" />
   </div>
@@ -24,6 +22,7 @@
     value: object | string;
     placeholder: string;
     disabled: boolean;
+    ids: number[];
   }
 
   export default defineComponent({
@@ -34,6 +33,7 @@
     setup(props, { emit }) {
       const state = reactive<State>({
         value: '',
+        ids: [],
         placeholder: props.placeholder,
         disabled: false,
       });
@@ -41,9 +41,9 @@
       // 初始化
       function init() {
         nextTick(() => {
-          if (props.value) {
+          if (props.value[0]) {
             const nameArr: string[] = [];
-            const idArr: string[] = [];
+            const idArr: number[] = [];
             props.value.map((item) => {
               if (item.name && item.id) {
                 nameArr.push(item.name);
@@ -51,14 +51,15 @@
               }
             });
             state.value = nameArr.toString();
+            state.ids = idArr;
           }
         });
       }
       onUpdated(() => {
         init();
       });
-      function openAddPop(title) {
-        openPopup(true, title);
+      function openAddPop() {
+        openPopup(true, { title: state.placeholder, ids: state.ids });
       }
       function select(data) {
         emit('change', data);

+ 9 - 2
src/views/event/activity/customCom/member/index.vue

@@ -23,7 +23,7 @@
   <Popup @register="addRegister" :popupData="popupData" @saveData="saveData" />
 </template>
 <script lang="ts">
-  import { defineComponent, reactive, ref, toRefs, unref } from 'vue';
+  import { defineComponent, reactive, onUpdated, ref, toRefs, unref } from 'vue';
   import Popup from './popup.vue';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useModal } from '/@/components/Modal';
@@ -39,12 +39,16 @@
   interface Btn {
     disable_btn: boolean;
   }
+  const props = {
+    ids: { type: Array, default: [] },
+  };
 
   export default defineComponent({
     name: 'User',
     components: { BasicTable, Popup },
+    props,
     emits: ['select'],
-    setup(_, { emit }) {
+    setup(props, { emit }) {
       const { createMessage } = useMessage();
       const { success /*, error*/ } = createMessage;
       const tableRef = ref<Nullable<TableActionType>>(null);
@@ -132,6 +136,9 @@
           success('创建成功!');
         });
       }
+      onUpdated(() => {
+        getTableAction().setSelectedRowKeys(props.ids);
+      });
       return {
         popupData,
         tableRef,

+ 3 - 1
src/views/event/activity/customCom/popup.vue

@@ -7,7 +7,7 @@
     :title="title"
     helpMessage="请选择要添加的数据"
   >
-    <Member @select="select" />
+    <Member :ids="ids" @select="select" />
   </BasicModal>
 </template>
 <script lang="ts">
@@ -22,12 +22,14 @@
     setup(_, { emit }) {
       const state = reactive({
         title: '',
+        ids: [],
         data: { id: 0 },
       });
       // const { createMessage } = useMessage();
       // const { error } = createMessage;
       const [register, { closeModal }] = useModalInner((data) => {
         state.title = data;
+        state.ids = data.ids;
       });
 
       function select(data) {

+ 0 - 1
src/views/event/meeting/customCom/CustomInput.vue

@@ -52,7 +52,6 @@
             });
             state.ids = idArr;
             state.value = nameArr.toString();
-            console.log(`state.ids`, state.ids);
           }
         });
       }