tangning 7 months ago
parent
commit
19d71bdfdb

+ 12 - 1
src/view/material/index.vue

@@ -43,7 +43,7 @@
                 <div class="title1 pb-2">{{item.filesTypeName}}</div>
                 <div class="list2" v-for="item2,index2 in item.childrenList" :key="index2" v-show="item2.caseFilesList?.length">
                   <div class="title2">{{item2.filesTypeName}}</div>
-                  <viewImg :list="item2.caseFilesList || []" @handleItem="handleItem" />
+                  <viewImg :list="item2.caseFilesList || []" @handleItem="handleItems" />
                 </div>
               </div>
             </div>
@@ -124,6 +124,7 @@ import { RouteName, router } from "@/router";
 import { BoardType } from "@/store/caseFile";
 import { updateByTreeFileLists, getByTreeFileLists } from "@/store/case";
 import { Delete, Edit } from "@element-plus/icons-vue";
+import { setTypeFile } from "../originalPhoto/quisk";
 import viewImg from "@/components/viewImg/index.vue"
 import { delCaseFile, } from "@/store/caseFile";
 const caseId = computed(() => (router.currentRoute.value?.params?.caseId));
@@ -198,6 +199,16 @@ function handleItem(type, item) {
   }
   getList()
 }
+async function handleItems(type, item) {
+  console.log("handleItem", type, item);
+  if('edit' == type) {
+    await setTypeFile({
+      ...item,caseId:caseId.value,
+      fileOptions: list.value.xczp,
+    })
+  }
+  getList()
+}
 function handleSuccess(item) {
   let uploadId = item?.data.id;
   addByMediaLiBrary({ caseId: caseId.value, filesTypeId: klblId.value, uploadId }).then((res) => {

+ 2 - 1
src/view/originalPhoto/index.vue

@@ -60,7 +60,8 @@ async function handleItem(type, item) {
   console.log("handleItem", type, item);
   if(type == 'edit'){
     await setTypeFile({
-      ...item,caseId:caseId.value
+      ...item,caseId:caseId.value,
+      fileOptions: list.value
     })
   }
   getList();

+ 25 - 6
src/view/originalPhoto/setType.vue

@@ -40,25 +40,44 @@ const props = defineProps<{
   caseId: number;
   filesTypeId: number;
   filesId: number;
+  fileOptions: Array<any>;
 }>();
 const fileOptions = ref([])
-
-onMounted(async () => {
-  fileOptions.value = await updateSelectByTreeFileLists();
-  console.log(fileOptions.value);
-});
 const caseFile = ref({
   caseId: props.caseId,
   filesTypeId: props.filesTypeId,
   filesTitle: "",
   filesId: props.filesId,
 });
+onMounted(async () => {
+  if(props.fileOptions?.length){
+    fileOptions.value = getTreeList(props.fileOptions);
+  }else{
+    fileOptions.value = await updateSelectByTreeFileLists();
+  }
+  console.log('caseFile', caseFile)
+  console.log(fileOptions.value);
+});
 console.log(caseFile.value, '===caseFile');
 const { size, fileList, upload, removeFile, previewFile, file, accept } = useUpload({
   maxSize: 10 * 1024 * 1024,
   formats: [".jpg", ".jpeg", ".png", '.mp4'],
 });
-
+const getTreeList = (list) =>  {
+    return list.map(item => {
+      if (item.childrenList) {
+        return {
+          value: item.filesTypeId,
+          label: item.filesTypeName,
+          children: getTreeList(item.childrenList)
+        };
+      }
+      return {
+        value: item.filesTypeId,
+        label: item.filesTypeName,
+      }
+    })
+  }
 const formatDesc = computed(() =>
   'jpg、png、jpeg、mp4上传'
 );

+ 1 - 1
src/view/other/index.vue

@@ -46,7 +46,7 @@
     <div class="blList">
       <div class="listItem py-4" v-for="(item, index) in list" :key="index" v-show="item.caseFilesList?.length">
         <div class="title1">{{ item.filesTypeName }}</div>
-        <viewImg :list="item.caseFilesList || []" @handleItem="handleItem" />
+        <viewImg edit :list="item.caseFilesList || []" @handleItem="handleItem" />
       </div>
     </div>
   </div>