Selaa lähdekoodia

Merge branch 'dev' of http://124.70.149.18:10880/lianghj/queenshow into dev

bianjiang 1 vuosi sitten
vanhempi
commit
60e0170bb9

+ 12 - 1
src/modules/editor/components/Viewport/Slider/SliderLeft/CompsUser.tsx

@@ -66,11 +66,12 @@ export default defineUI({
                 item.published
                   ? items.push("取消发布")
                   : items.push("发布平台");
+                items.push("替换封面");
               }
               return (
                 <Draggable>
                   <div
-                    class="text-center leading-50px bg-dark-50 rounded draggable-item relative cursor-pointer"
+                    class="text-center leading-50px bg-light-50 rounded draggable-item relative cursor-pointer"
                     key={item._id}
                     title={item.title}
                   >
@@ -108,6 +109,16 @@ export default defineUI({
                             queenApi.messageSuccess("删除成功!");
                             return;
                           }
+                          if (name == "替换封面") {
+                            const url = await editor.controls.pickCtrl.pickOneImage();
+                            if (!url) return;
+                            await resource.https.updateComp({_id: item._id, thumbnail: url});
+                            item.thumbnail = url;
+                            queenApi.messageSuccess("替换成功");
+
+                            return;
+                          }
+
                           const pub = name == "发布平台";
                           await resource.actions.publishFrame(item, pub);
                           item.published = pub;

+ 24 - 3
src/modules/editor/components/Viewport/Slider/SliderLeft/CustomComps.tsx

@@ -11,8 +11,26 @@ import { useAuth } from "@queenjs-modules/auth";
 import { Image, Loadmore } from "@queenjs/ui";
 import { useReactive } from "@queenjs/use";
 import { defineUI, queenApi } from "queenjs";
-import Menu from "./Menu";
 import { CompList } from "./CompList";
+import Menu from "./Menu";
+
+const compList = [
+  // "Card2",
+  // "Card3",
+  // "Card5",
+  "CardList",
+  "Cards11",
+  "Cards12",
+  // "Cards13",
+  "Cards14",
+  "Cards15",
+  "Cover",
+  "Cover2",
+  "Text1",
+  "Title1",
+  "Title2",
+  "Title3",
+];
 
 export default defineUI({
   setup() {
@@ -28,14 +46,17 @@ export default defineUI({
           (item) => "senior" === item.compType
         );
       },
+      cusComps() {
+        return state.currComps.filter((d) => compList.includes(d.compKey));
+      },
     }));
 
     return () => {
       const dataSource = sysCompListCtrl.state.list;
       return (
         <div>
-          <Comp components={state.currComps} taggable={false} />
-          <CompList dataSource={dataSource} isSys={true} class="mt-10px" />
+          <CompList dataSource={dataSource} isSys={true} />
+          <Comp components={state.cusComps} taggable={false} class="mt-10px" />
           {dataSource.length == 0 ? null : (
             <Loadmore
               class="mt-20px"

+ 4 - 0
src/modules/editor/controllers/SelectCtrl/index.ts

@@ -604,7 +604,11 @@ export class SelectCtrl extends ModuleControl<EditorModule> {
       lastId = selected[selected.length-1] || "";
     }
 
+    if (lastId) {
+        this.actions.pickComp(lastId, false);
+    }
     this.actions.selectObjs(selected, lastId);
+    
     if (selected.length < 1) {
       this.actions.pickComp(this.store.currStreamCardId);
     }

+ 10 - 0
src/pages/website/Promotion2/components/PromotionItem.tsx

@@ -131,6 +131,16 @@ export default defineUI({
                       </div>
                     </Menu.Item>
                   )}
+
+                  {isSys && (
+                    <Menu.Item>
+                      <div onClick={() => emit("menu", "thumbnail")}>
+                          替换封面
+                      </div>
+                    </Menu.Item>
+                  )}
+
+
                 </Menu>
               }
             >

+ 10 - 2
src/pages/website/Promotion2/controller.tsx

@@ -6,6 +6,7 @@ import { queenApi } from "queenjs";
 import ShareModal from "./components/ShareModal";
 import { sendPromotion } from "./components/SendPromotion";
 import { AuthModule } from "@queenjs-modules/auth";
+import { SelectOneImage } from "../Material2/modal";
 
 export function createPromotinController(
   auth: AuthModule,
@@ -13,7 +14,6 @@ export function createPromotinController(
   editor: EditorModule
 ) {
   const ctrl = new PromotionController();
-
   ctrl.ListCtrl = new PageListController(resource.config?.httpConfig);
   ctrl.ListCtrl.setCrudPrefix("/h5");
   ctrl.createPromotion = resource.actions.createPromotion;
@@ -56,7 +56,7 @@ export function createPromotinController(
       }
     );
   }
-
+  let url = ""
   ctrl.onMenuClick = async (name, record) => {
     switch (name) {
       case "stat":
@@ -82,6 +82,14 @@ export function createPromotinController(
       case "unpublish":
         await resource.actions.publishPromotion(record, false);
         break;
+
+      case "thumbnail":
+        url =  await SelectOneImage() as string;
+        if (!url) return;
+        await resource.https.updatePromotion({_id: record._id, thumbnail: url});
+        record.thumbnail = url;
+        queenApi.messageSuccess("替换成功");
+        break;
     }
   };