|
@@ -0,0 +1,649 @@
|
|
|
+<template>
|
|
|
+ <div class="aiSummery-index-page">
|
|
|
+ <div class="main-left left" id="left">
|
|
|
+
|
|
|
+ <div class="left-main">
|
|
|
+ <el-tabs v-model="activeTab" @tab-click="changeTab">
|
|
|
+ <el-tab-pane :label="$t('SemanticsManage.AiSummeryPage.tab_summery')" name="summery"/>
|
|
|
+ <el-tab-pane :label="$t('SemanticsManage.AiSummeryPage.tab_prompt')" name="prompt"/>
|
|
|
+ </el-tabs>
|
|
|
+
|
|
|
+ <!-- 纪要库 -->
|
|
|
+ <template v-if="activeTab==='summery'">
|
|
|
+ <div class="search-cont">
|
|
|
+ <el-checkbox v-model="isShowMe"
|
|
|
+ @change="() => { getTreeData();}">{{$t('StatisticAnalysis.ChartRelevance.only_see_mine')}}</el-checkbox>
|
|
|
+ <el-select
|
|
|
+ v-model="search_txt"
|
|
|
+ v-loadMore="searchLoad"
|
|
|
+ :filterable="!search_txt"
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ :placeholder="$t('SemanticsManage.AiSummeryPage.ph_search')"
|
|
|
+ style="width: 100%; margin-top:10px;"
|
|
|
+ :remote-method="searchHandle"
|
|
|
+ @click.native="inputFocusHandle"
|
|
|
+ >
|
|
|
+ <i slot="prefix" class="el-input__icon el-icon-search"></i>
|
|
|
+ <el-option
|
|
|
+ v-for="item in searchOptions"
|
|
|
+ :key="item.AiSummaryId"
|
|
|
+ :label="item.Title"
|
|
|
+ :value="item.AiSummaryId"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="tree-cont">
|
|
|
+ <el-tree
|
|
|
+ ref="treeRef"
|
|
|
+ class="target_tree"
|
|
|
+ :data="classifyData"
|
|
|
+ node-key="UniqueCode"
|
|
|
+ :props="defaultProp"
|
|
|
+ :allow-drag="canDragHandle"
|
|
|
+ :allow-drop="canDropHandle"
|
|
|
+ :current-node-key="select_node"
|
|
|
+ :default-expanded-keys="defaultShowNodes"
|
|
|
+ :draggable="permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_move)"
|
|
|
+ :expand-on-click-node="false"
|
|
|
+ check-strictly
|
|
|
+ empty-text="暂无分类"
|
|
|
+ lazy
|
|
|
+ :load="getLazyTreeData"
|
|
|
+ @node-expand="handleNodeExpand"
|
|
|
+ @node-collapse="handleNodeCollapse"
|
|
|
+ @current-change="nodeChange"
|
|
|
+ @node-drop="dropOverHandle"
|
|
|
+ @node-drag-end="dropMouseLeave"
|
|
|
+ @node-drag-leave="dropMouseLeave"
|
|
|
+ @node-drag-enter="dropMouseOver"
|
|
|
+ >
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
+ <span
|
|
|
+ class="text_oneLine node_label"
|
|
|
+ :style="`width:${
|
|
|
+ (select_node === data.UniqueCode && node.Nodewidth) || ''
|
|
|
+ }`"
|
|
|
+ >
|
|
|
+ <span>{{ data.ClassifyName }}</span>
|
|
|
+ </span>
|
|
|
+ <span
|
|
|
+ style="display: flex; align-items: center"
|
|
|
+ v-if="select_node === data.UniqueCode"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="~@/assets/img/data_m/move_ico.png"
|
|
|
+ alt=""
|
|
|
+ style="width: 14px; height: 14px; margin-right: 8px"
|
|
|
+ v-if="permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_move)"
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ src="~@/assets/img/set_m/add.png"
|
|
|
+ alt=""
|
|
|
+ style="width: 14px; height: 14px; margin-right: 8px"
|
|
|
+ @click.stop="addNode(node,data)"
|
|
|
+ v-if="node.level<6&&!data.AiSummaryId&&permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_edit)"
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ src="~@/assets/img/set_m/edit.png"
|
|
|
+ alt=""
|
|
|
+ style="width: 15px; height: 14px; margin-right: 8px"
|
|
|
+ @click.stop="editNode(node, data)"
|
|
|
+ v-if="!data.AiSummaryId&&permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_edit)&&RoleId===data.SysUserId"
|
|
|
+ />
|
|
|
+ <img
|
|
|
+ src="~@/assets/img/set_m/del.png"
|
|
|
+ alt=""
|
|
|
+ style="width: 14px; height: 14px;"
|
|
|
+ @click.stop="handleDelSummery(data)"
|
|
|
+ v-if="permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_del)&&RoleId===data.SysUserId"
|
|
|
+ />
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </el-tree>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ class="noDepart"
|
|
|
+ @click="handleAddClassify"
|
|
|
+ v-if="permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_classify_edit)"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ src="~@/assets/img/set_m/add_ico.png"
|
|
|
+ alt=""
|
|
|
+ style="width: 16px; height: 16px; margin-right: 10px"
|
|
|
+ />
|
|
|
+ <span><!-- 添加一级目录 -->{{$t('SemanticsManage.AiSummeryPage.add_first_classify')}}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <!-- 提示词库 -->
|
|
|
+ <promptClassifySection
|
|
|
+ v-else-if="activeTab==='prompt'"
|
|
|
+ ref="promptClassifyRef"
|
|
|
+ :publicList="publicPromptList"
|
|
|
+ :myList="myPromptList"
|
|
|
+ @change="(selectItem) => {selectPromptInfo=selectItem;showPromptDetail=true}"
|
|
|
+ @close="() => { selectPromptInfo={};showPromptDetail=false }"
|
|
|
+ @getData="getPromptClassify('public')"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="left-bottom">
|
|
|
+ <el-button type="primary" @click="goSummeryEdit" v-if="activeTab==='summery'&&permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_add)"><!-- 添加纪要 -->{{$t('SemanticsManage.AiSummeryPage.btn_add_summery')}}</el-button>
|
|
|
+ <el-button type="primary" @click="handleAddPrompt" v-else-if="activeTab==='prompt'&&permissionBtn.checkPermissionBtn(permissionBtn.semanticPermission.AiSummery_prompt_add)"><!-- 添加提示词 -->{{$t('SemanticsManage.AiSummeryPage.btn_add_prompt')}}</el-button>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="main-right" id="right">
|
|
|
+
|
|
|
+ <promptDetail
|
|
|
+ v-if="activeTab==='prompt'&&showPromptDetail"
|
|
|
+ :item="selectPromptInfo"
|
|
|
+ @success="getPromptClassify('mine')"
|
|
|
+ />
|
|
|
+
|
|
|
+ <summeryDetail
|
|
|
+ v-else-if="activeTab==='summery'&&showSummertDetail&&select_id"
|
|
|
+ :id="select_id"
|
|
|
+ />
|
|
|
+
|
|
|
+ <tableNoData text="暂无数据" v-else/>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <classifyDia
|
|
|
+ :isShow.sync="isOpenClassifyDia"
|
|
|
+ :form="classifyForm"
|
|
|
+ @successCallback="getTreeData"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+import { aiSummeryInterface } from '@/api/modules/semanticsApi';
|
|
|
+import classifyMixin from './mixins/classifyTree';
|
|
|
+import promptClassifySection from './components/promptClassifySection.vue'
|
|
|
+import promptDetail from './components/promptDetail.vue';
|
|
|
+import summeryDetail from './components/summeryDetail.vue';
|
|
|
+import classifyDia from './components/classifyDia.vue';
|
|
|
+export default {
|
|
|
+ mixins: [ classifyMixin ],
|
|
|
+ components: {
|
|
|
+ promptDetail,
|
|
|
+ summeryDetail,
|
|
|
+ promptClassifySection,
|
|
|
+ classifyDia
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ RoleId() {
|
|
|
+ return Number(localStorage.getItem('AdminId'))
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activeTab: 'summery',
|
|
|
+ classifyData: [],
|
|
|
+ showData: false,
|
|
|
+ isShowMe: false,
|
|
|
+ search_txt: '',
|
|
|
+ searchOptions:[],
|
|
|
+
|
|
|
+ select_node: '',//节点唯一标识code
|
|
|
+ select_classify: '',
|
|
|
+ select_id: 0,
|
|
|
+ defaultShowNodes: [], //展开节点
|
|
|
+ defaultProp: {
|
|
|
+ label: 'ClassifyName',
|
|
|
+ children: 'Children',
|
|
|
+ isLeaf: 'isLeaf'
|
|
|
+ }, //树结构配置项
|
|
|
+ summeryInfo: {},
|
|
|
+ showSummertDetail: false,
|
|
|
+
|
|
|
+ showPromptDetail: false,//显示promat详情
|
|
|
+ publicPromptList: [],
|
|
|
+ myPromptList: [],
|
|
|
+ selectPromptInfo: {},
|
|
|
+
|
|
|
+ /* 分类弹窗 */
|
|
|
+ isOpenClassifyDia: false, //
|
|
|
+ classifyForm: {
|
|
|
+ parentClassifyId: 0,
|
|
|
+ parentName: '',
|
|
|
+ classifyId: 0,
|
|
|
+ classifyName: '',
|
|
|
+ },
|
|
|
+
|
|
|
+ search_page: 1,
|
|
|
+ search_have_more: false,
|
|
|
+ current_search:'',
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+
|
|
|
+ if(this.$route.query.code) {
|
|
|
+ this.getTreeData({code: this.$route.query.code,id: Number(this.$route.query.id)})
|
|
|
+ } else {
|
|
|
+ this.getTreeData();
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ methods:{
|
|
|
+ goSummeryEdit() {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/summeryEdit'
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 添加提示词 */
|
|
|
+ handleAddPrompt() {
|
|
|
+ this.selectPromptInfo = {};
|
|
|
+ this.showPromptDetail = true;
|
|
|
+ this.$refs.promptClassifyRef.selectId = 0;
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 改变tab */
|
|
|
+ changeTab({name}) {
|
|
|
+ this.search_txt = '';
|
|
|
+ this.select_node = [];
|
|
|
+ this.defaultShowNodes = [];
|
|
|
+ this.select_id = 0;
|
|
|
+ this.showPromptDetail = false;
|
|
|
+ this.showSummertDetail = false;
|
|
|
+ name === 'summery' ? this.getTreeData() : this.getPromptClassify();
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 获取分类 */
|
|
|
+ getTreeData(params=null) {
|
|
|
+ aiSummeryInterface.getClassify({IsShowMe:this.isShowMe}).then(res => {
|
|
|
+ const { Ret,Data } = res;
|
|
|
+ if(Ret !== 200) return
|
|
|
+
|
|
|
+ this.showData = true;
|
|
|
+ this.classifyData = Data.AllNodes || [];
|
|
|
+ this.$nextTick(() => {
|
|
|
+ /* 新增完成后 处理树展开和选中 */
|
|
|
+ params && this.selectCurrentNode(params);
|
|
|
+ });
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //加载子分类
|
|
|
+ async getLazyTreeData (node,resolve){
|
|
|
+ if(node.level===0){
|
|
|
+ resolve(this.classifyData)
|
|
|
+ }else{
|
|
|
+ let arr=[]
|
|
|
+ const res=await aiSummeryInterface.getClassify({AiSummaryClassifyId:node.data.AiSummaryClassifyId,IsShowMe:this.isShowMe})
|
|
|
+ if (res.Ret === 200) {
|
|
|
+ const temarr = res.Data.AllNodes || [];
|
|
|
+ arr=temarr.map(item=>{
|
|
|
+ return {
|
|
|
+ ...item,
|
|
|
+ isLeaf:item.AiSummaryId?true:false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ resolve(arr)
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 获取提示词分类 */
|
|
|
+ async getPromptClassify(type="all") {
|
|
|
+ if(type!=='mine') {
|
|
|
+ const publicRes = await aiSummeryInterface.getPublicPromptClassify()
|
|
|
+ if(publicRes.Ret !== 200) return
|
|
|
+ const publicData = publicRes.Data || []
|
|
|
+ this.publicPromptList = publicData.map(_ => {
|
|
|
+ return {
|
|
|
+ ..._,
|
|
|
+ label: _.GroupName,
|
|
|
+ value: _.GroupId,
|
|
|
+ children: _.PromptList.map(childitem =>({
|
|
|
+ ...childitem,
|
|
|
+ label: childitem.Title,
|
|
|
+ value: childitem.AiPromptId,
|
|
|
+ type:'public',
|
|
|
+ })),
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ if(type!=='public') {
|
|
|
+ const res = await aiSummeryInterface.getMyPromptClassify()
|
|
|
+ if(res.Ret !==200) return
|
|
|
+ this.myPromptList = res.Data
|
|
|
+ ? res.Data.map(_ =>({
|
|
|
+ ..._,
|
|
|
+ type: 'mine'
|
|
|
+ }))
|
|
|
+ : []
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 搜索 */
|
|
|
+ searchHandle(query) {
|
|
|
+ this.search_page = 1;
|
|
|
+ this.current_search = query;
|
|
|
+ this.searchApi(this.current_search)
|
|
|
+ },
|
|
|
+
|
|
|
+ searchApi(query,page=1) {
|
|
|
+ /* 查找列表 */
|
|
|
+ aiSummeryInterface
|
|
|
+ .summerySearch({
|
|
|
+ KeyWord: query,
|
|
|
+ IsShowMe:this.isShowMe,
|
|
|
+ CurrentIndex: page
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.Ret !== 200) return
|
|
|
+
|
|
|
+ if(res.Data) {
|
|
|
+ const { List,Paging } = res.Data;
|
|
|
+ this.search_have_more = page < Paging.Pages;
|
|
|
+ this.searchOptions = page === 1 ? List : [...this.searchOptions,...List];
|
|
|
+ }else {
|
|
|
+ this.searchOptions = []
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 聚焦获取当前检索 */
|
|
|
+ inputFocusHandle(e) {
|
|
|
+ this.search_page = 1;
|
|
|
+ this.current_search = e.target.value;
|
|
|
+ if(this.current_search) {
|
|
|
+ this.searchApi(this.current_search)
|
|
|
+ }else {
|
|
|
+ this.searchOptions = [];
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ searchLoad() {
|
|
|
+ if(!this.search_have_more) return;
|
|
|
+ this.searchApi(this.current_search,++this.search_page);
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 选中分类变化时 */
|
|
|
+ nodeChange({ UniqueCode,AiSummaryId,AiSummaryClassifyId },node) {
|
|
|
+ this.search_txt = '';
|
|
|
+ this.select_node = UniqueCode;
|
|
|
+ this.select_classify = !AiSummaryId ? AiSummaryClassifyId : 0;
|
|
|
+ this.select_id = AiSummaryId || 0;
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 添加一级分类 */
|
|
|
+ handleAddClassify() {
|
|
|
+ this.classifyForm = {
|
|
|
+ parentClassifyId: 0,
|
|
|
+ parentName: '',
|
|
|
+ parentLevel: 0,
|
|
|
+ classifyId: 0,
|
|
|
+ classifyName: '',
|
|
|
+ }
|
|
|
+ this.isOpenClassifyDia = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 添加节点 */
|
|
|
+ addNode(node, data) {
|
|
|
+ console.log(node)
|
|
|
+ let arr = []
|
|
|
+ arr = this.getNodeParentData(node,arr).reverse();
|
|
|
+
|
|
|
+ this.classifyForm = {
|
|
|
+ classifyId: 0,
|
|
|
+ classifyName: "",
|
|
|
+ parentClassifyId: data.AiSummaryClassifyId,
|
|
|
+ parentName: arr.map(_=>_.ClassifyName).join('/'),
|
|
|
+ parentLevel: node.level
|
|
|
+ };
|
|
|
+ this.isOpenClassifyDia = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 编辑节点 */
|
|
|
+ editNode(node, data) {
|
|
|
+ const { ClassifyName,AiSummaryClassifyId,ParentId } = data;
|
|
|
+ let arr = []
|
|
|
+ arr = ParentId ? this.getNodeParentData(node.parent,arr).reverse() : [];
|
|
|
+ /* 编辑目录 */
|
|
|
+ this.classifyForm = {
|
|
|
+ parentClassifyId: ParentId,
|
|
|
+ parentName: arr.map(_=>_.ClassifyName).join('/'),
|
|
|
+ classifyId: AiSummaryClassifyId,
|
|
|
+ classifyName: ClassifyName,
|
|
|
+ parentLevel: node.parent.level
|
|
|
+ }
|
|
|
+ this.isOpenClassifyDia = true;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 递归节点
|
|
|
+ getNodeParentData(data,arr){
|
|
|
+ if(data.level===0) return
|
|
|
+ arr.push({ClassifyName:data.data.ClassifyName,AiSummaryClassifyId:data.data.AiSummaryClassifyId})
|
|
|
+ this.getNodeParentData(data.parent,arr)
|
|
|
+ return arr
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 删除节点校验 */
|
|
|
+ async removeNode(node, { AiSummaryClassifyId,AiSummaryId }) {
|
|
|
+
|
|
|
+ const { Data } = await aiSummeryInterface.classifyDelCheck({ AiSummaryClassifyId,AiSummaryId })
|
|
|
+
|
|
|
+ const { DeleteStatus } = Data;
|
|
|
+
|
|
|
+ DeleteStatus === 1
|
|
|
+ ? this.$confirm(this.$t('Chart.OptMsg.classify_del_fail'), this.$t('Chart.OptMsg.del_fail_tag'), {
|
|
|
+ confirmButtonText: this.$t('MsgPrompt.known'),
|
|
|
+ showCancelButton: false,
|
|
|
+ type: 'error',
|
|
|
+ }) : DeleteStatus === 0
|
|
|
+ ? this.$confirm(this.$t('Chart.OptMsg.classify_del_confirm'), this.$t('Confirm.prompt'), {
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ this.delApi(AiSummaryClassifyId,AiSummaryId)
|
|
|
+ }): null;
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 删除纪要 */
|
|
|
+ handleDelSummery({AiSummaryClassifyId,AiSummaryId}) {
|
|
|
+ this.$confirm('确认删除该纪要吗', this.$t('Confirm.prompt'), {
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ this.delApi(AiSummaryClassifyId,AiSummaryId)
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 删除方法 */
|
|
|
+ delApi(AiSummaryClassifyId,AiSummaryId,) {
|
|
|
+ aiSummeryInterface
|
|
|
+ .classifyDel({
|
|
|
+ AiSummaryClassifyId,
|
|
|
+ AiSummaryId
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ if (res.Ret !== 200) return
|
|
|
+ this.$message.success(res.Msg);
|
|
|
+
|
|
|
+ if (this.select_id){
|
|
|
+ this.select_id = '';
|
|
|
+ this.showSummertDetail = false
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getTreeData();
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 分类成功回调 */
|
|
|
+ classifyCallback(type) {
|
|
|
+ this.getTreeData();
|
|
|
+
|
|
|
+ if (type === 'add') {
|
|
|
+ //新增分类完成之后,展开父节点显示刚新增的分类,若已展开节点则不做处理
|
|
|
+ let code = this.add_parent_id;
|
|
|
+ let flag = this.defaultShowNodes.some(item => item === code);
|
|
|
+ // console.log(flag)
|
|
|
+ !flag && this.defaultShowNodes.push(code);
|
|
|
+ this.add_parent_id = '';
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style scoped lang='scss'>
|
|
|
+.aiSummery-index-page{
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .main-left {
|
|
|
+ width: 300px;
|
|
|
+ min-width: 300px;
|
|
|
+ background: #fff;
|
|
|
+ margin-right: 20px;
|
|
|
+ border-radius: 4px;
|
|
|
+ /* box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.05); */
|
|
|
+ height: calc(100vh - 120px);
|
|
|
+ overflow: hidden;
|
|
|
+ position: relative;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: 1px solid #C8CDD9;
|
|
|
+
|
|
|
+ .left-bottom{
|
|
|
+ padding: 20px;
|
|
|
+ background: #fff;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ border-top: 1px solid #C8CDD9;
|
|
|
+ .el-button {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .left-main {
|
|
|
+ padding: 20px;
|
|
|
+ }
|
|
|
+ .search-cont {
|
|
|
+ margin: 10px 0 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tree-cont {
|
|
|
+ max-height: calc(100vh - 480px);
|
|
|
+ overflow: auto;
|
|
|
+ }
|
|
|
+ .target_tree {
|
|
|
+ color: #333;
|
|
|
+ overflow: hidden;
|
|
|
+ .custom-tree-node {
|
|
|
+ display: flex !important;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ display: block;
|
|
|
+ flex: 1;
|
|
|
+ .node_label {
|
|
|
+ margin-right: 2px;
|
|
|
+ }
|
|
|
+ .el-icon-view {
|
|
|
+ color: #409eff;
|
|
|
+ font-size: 18px;
|
|
|
+ margin-left: 5px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .noDepart {
|
|
|
+ margin-bottom: 30px;
|
|
|
+ margin-top: 20px;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #409eff;
|
|
|
+ font-size: 16px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ .move-btn {
|
|
|
+ height: 100%;
|
|
|
+ width: 4px;
|
|
|
+ /* opacity: 0; */
|
|
|
+ position: absolute;
|
|
|
+ right: 0px;
|
|
|
+ top: 0;
|
|
|
+ &:hover {
|
|
|
+ cursor: col-resize;
|
|
|
+ /* background-color: orange */
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .main-right {
|
|
|
+ flex: 1;
|
|
|
+ height: calc(100vh - 120px);
|
|
|
+ #froala-editor-documentContent {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+<style lang="scss">
|
|
|
+.aiSummery-index-page{
|
|
|
+ *{ box-sizing: border-box; }
|
|
|
+ .target_tree {
|
|
|
+ .el-tree__drop-indicator {
|
|
|
+ height: 3px;
|
|
|
+ background-color: #409eff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__content {
|
|
|
+ margin-bottom: 14px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__children {
|
|
|
+ .el-tree-node {
|
|
|
+ margin-bottom: 0px !important;
|
|
|
+ padding-left: 18px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__content {
|
|
|
+ margin-bottom: 5px !important;
|
|
|
+ padding-left: 0 !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .expanded.el-icon-caret-right:before {
|
|
|
+ content: url('~@/assets/img/set_m/down.png') !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-icon-caret-right:before {
|
|
|
+ content: url('~@/assets/img/set_m/slide.png') !important;
|
|
|
+ }
|
|
|
+ .el-tree-node__expand-icon{
|
|
|
+ padding-top: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__expand-icon.is-leaf.el-icon-caret-right:before {
|
|
|
+ content: '' !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__expand-icon.expanded {
|
|
|
+ -webkit-transform: rotate(0deg);
|
|
|
+ transform: rotate(0deg);
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node.is-current>.el-tree-node__content {
|
|
|
+ background-color: #f0f4ff !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tree-node__content {
|
|
|
+ padding-right: 10px !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-tabs .el-tabs__nav-wrap::after {
|
|
|
+ background: transparent;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|