|
@@ -38,7 +38,7 @@
|
|
|
<!-- 文件夹列表容器(带滚动) -->
|
|
|
<div class="folder-list-container">
|
|
|
<div
|
|
|
- v-for="(folder, index) in folders"
|
|
|
+ v-for="(folder, index) in collectList"
|
|
|
:key="index"
|
|
|
class="folder-item"
|
|
|
>
|
|
@@ -53,7 +53,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <HcIcon name="star-half" class="mr-3 cursor-pointer" style="color:rgb(255, 125, 67);" />
|
|
|
+ <HcIcon name="star-half" class="mr-3 cursor-pointer" style="color:rgb(255, 125, 67);" @click="collectListClick" />
|
|
|
</el-tooltip>
|
|
|
|
|
|
<HcIcon name="eye-off" style="color:#3F9EFF" class="cursor-pointer" />
|
|
@@ -114,7 +114,8 @@
|
|
|
class="scroll-bar-right-16"
|
|
|
>
|
|
|
<HcDataTree
|
|
|
-
|
|
|
+ :is-show-collect="true"
|
|
|
+ :is-show-eye="true"
|
|
|
:datas="searchTreeData"
|
|
|
:is-mark="TreeMark"
|
|
|
:menus="ElTreeMenu"
|
|
@@ -135,6 +136,8 @@
|
|
|
>
|
|
|
<HcLazyTree
|
|
|
ref="wbstree"
|
|
|
+ :is-show-collect="true"
|
|
|
+ :is-show-eye="true"
|
|
|
:is-show-sync="userInfo?.role_id?.split(',').includes('1123598816738675201')"
|
|
|
is-form-date
|
|
|
|
|
@@ -150,6 +153,8 @@
|
|
|
@node-loading="ElTreeNodeLoading"
|
|
|
@node-tap="wbsElTreeClick"
|
|
|
@check="ElTreeNodeCheck"
|
|
|
+ @collect="collectClick"
|
|
|
+ @eye="eyeClick"
|
|
|
/>
|
|
|
</el-scrollbar>
|
|
|
</div>
|
|
@@ -1440,6 +1445,31 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</hc-new-dialog>
|
|
|
+ <!-- 添加到收藏夹 -->
|
|
|
+ <hc-new-dialog
|
|
|
+ v-model="collectDialog"
|
|
|
+ title="添加到文件夹"
|
|
|
+
|
|
|
+ is-footer-center
|
|
|
+ :loading="collectLoad"
|
|
|
+ :footer="collectList.length > 0"
|
|
|
+ @close="collectModalClose"
|
|
|
+ @save="collectModalSave"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ v-if="collectList.length > 0"
|
|
|
+ ref="collectFormRef"
|
|
|
+ :model="collectForm"
|
|
|
+ :rules="collectRules"
|
|
|
+ >
|
|
|
+ <el-form-item label="文件夹" prop="id">
|
|
|
+ <el-select v-model="collectForm.id" placeholder="请选择">
|
|
|
+ <el-option v-for="item in collectList" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-alert v-else title="请先创建文件夹" type="warning" :closable="false" />
|
|
|
+ </hc-new-dialog>
|
|
|
<JumpTreeDialog
|
|
|
v-model="moveDialogShow"
|
|
|
:contract-id="contractId"
|
|
@@ -1492,6 +1522,7 @@ import HcUpload from './components/HcUpload.vue'
|
|
|
import { toPdfPage } from '~uti/btn-auth'
|
|
|
import website from '~src/config'
|
|
|
import JumpTreeDialog from './components/JumpTreeDialog.vue'
|
|
|
+import collectApi from '~api/data-fill/collect'
|
|
|
//初始变量
|
|
|
const router = useRouter()
|
|
|
const useRoutes = useRoute()
|
|
@@ -3755,6 +3786,10 @@ const moveSaveClick = ()=>{
|
|
|
// 收藏夹
|
|
|
// 控制tooltip显示状态
|
|
|
const collectListVisible = ref(false)
|
|
|
+const collectListClick = ()=>{
|
|
|
+
|
|
|
+ getCollectList()
|
|
|
+}
|
|
|
// 触发元素引用
|
|
|
const triggerRef = ref(null)
|
|
|
// 显示添加输入框
|
|
@@ -3807,6 +3842,69 @@ const handleClick = () => {
|
|
|
isScaling.value = false
|
|
|
}, 300) // 与CSS过渡时间保持一致
|
|
|
}
|
|
|
+
|
|
|
+//收藏
|
|
|
+
|
|
|
+const collectClick = (data)=>{
|
|
|
+ // console.log(data, 'collectClick')
|
|
|
+ // if (data.isCollect === 0) {
|
|
|
+ // data.isCollect = 1
|
|
|
+ // } else {
|
|
|
+ // data.isCollect = 0
|
|
|
+ // }
|
|
|
+ if (data.isCollect === 0) {
|
|
|
+
|
|
|
+ collectDialog.value = true
|
|
|
+ getCollectList()
|
|
|
+ } else {
|
|
|
+ console.log('取消收藏')
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+const collectDialog = ref(false)
|
|
|
+const collectLoad = ref(false)
|
|
|
+const collectModalClose = ()=>{
|
|
|
+ collectDialog.value = false
|
|
|
+
|
|
|
+}
|
|
|
+const collectModalSave = async ()=>{
|
|
|
+ const validate = await formValidate(collectFormRef.value)
|
|
|
+ if (!validate) return
|
|
|
+}
|
|
|
+const collectFormRef = ref(null)
|
|
|
+const collectForm = ref({
|
|
|
+ name:'',
|
|
|
+ id:'',
|
|
|
+})
|
|
|
+const collectRules = ref({
|
|
|
+ id: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请选择收藏夹',
|
|
|
+ trigger: 'change',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+})
|
|
|
+const collectList = ref([])
|
|
|
+const getCollectList = async ()=>{
|
|
|
+ collectLoad.value = true
|
|
|
+ const { error, code, msg, data } = await collectApi.folderList(
|
|
|
+ {
|
|
|
+ contractId: contractId.value,
|
|
|
+ },
|
|
|
+ )
|
|
|
+ collectLoad.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ collectList.value = getObjValue(data)
|
|
|
+ } else {
|
|
|
+ collectList.value = []
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+const eyeClick = (data)=>{
|
|
|
+ console.log(data, 'eyeClick')
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|