|  | @@ -7,60 +7,31 @@
 | 
											
												
													
														|  |      <Tabs value="">
 |  |      <Tabs value="">
 | 
											
												
													
														|  |        <TabPane :label="Resource.Resource" name="zyml">
 |  |        <TabPane :label="Resource.Resource" name="zyml">
 | 
											
												
													
														|  |          <div class="zyml" :class="$props.splitId >= 0 ? `zymlsplit` : ''">
 |  |          <div class="zyml" :class="$props.splitId >= 0 ? `zymlsplit` : ''">
 | 
											
												
													
														|  | -          <el-input
 |  | 
 | 
											
												
													
														|  | -            :placeholder="Resource.InputPlaceholder"
 |  | 
 | 
											
												
													
														|  | -            prefix-icon="el-icon-search"
 |  | 
 | 
											
												
													
														|  | -            v-model="treeSearchText"
 |  | 
 | 
											
												
													
														|  | -            size="small"
 |  | 
 | 
											
												
													
														|  | -          >
 |  | 
 | 
											
												
													
														|  | 
 |  | +          <el-input :placeholder="Resource.InputPlaceholder" prefix-icon="el-icon-search" v-model="treeSearchText"
 | 
											
												
													
														|  | 
 |  | +            size="small">
 | 
											
												
													
														|  |            </el-input>
 |  |            </el-input>
 | 
											
												
													
														|  |            <div class="treeDiv">
 |  |            <div class="treeDiv">
 | 
											
												
													
														|  | -            <el-tree
 |  | 
 | 
											
												
													
														|  | -              @check="handleCheckChange"
 |  | 
 | 
											
												
													
														|  | -              class="filter-tree"
 |  | 
 | 
											
												
													
														|  | -              :data="TreeDatas"
 |  | 
 | 
											
												
													
														|  | -              show-checkbox
 |  | 
 | 
											
												
													
														|  | -              :props="defaultProps"
 |  | 
 | 
											
												
													
														|  | -              :filter-node-method="filterNode"
 |  | 
 | 
											
												
													
														|  | -              :default-checked-keys="checkedKeys"
 |  | 
 | 
											
												
													
														|  | -              node-key="id"
 |  | 
 | 
											
												
													
														|  | -              ref="tree"
 |  | 
 | 
											
												
													
														|  | -            >
 |  | 
 | 
											
												
													
														|  | 
 |  | +            <el-tree @check="handleCheckChange" class="filter-tree" :data="TreeDatas" show-checkbox :props="defaultProps"
 | 
											
												
													
														|  | 
 |  | +              :filter-node-method="filterNode" :default-checked-keys="checkedKeys" node-key="id" ref="tree">
 | 
											
												
													
														|  |                <span class="custom-tree-node" slot-scope="{ node, data }">
 |  |                <span class="custom-tree-node" slot-scope="{ node, data }">
 | 
											
												
													
														|  |                  <span>{{ node.label }}</span>
 |  |                  <span>{{ node.label }}</span>
 | 
											
												
													
														|  |                  <span>
 |  |                  <span>
 | 
											
												
													
														|  | -                  <Icon
 |  | 
 | 
											
												
													
														|  | -                    :type="!data.favorite ? 'ios-star-outline' : 'ios-star'"
 |  | 
 | 
											
												
													
														|  | -                    color="green"
 |  | 
 | 
											
												
													
														|  | -                    size="18"
 |  | 
 | 
											
												
													
														|  | -                    class="opBtn"
 |  | 
 | 
											
												
													
														|  | -                    :title="
 |  | 
 | 
											
												
													
														|  | -                      data.favorite ? Resource.DelCollect : Resource.AddCollect
 |  | 
 | 
											
												
													
														|  | -                    "
 |  | 
 | 
											
												
													
														|  | -                    @click="favoriteHandle(data)"
 |  | 
 | 
											
												
													
														|  | -                    v-if="data.url != ''"
 |  | 
 | 
											
												
													
														|  | -                  />
 |  | 
 | 
											
												
													
														|  | 
 |  | +                  <Icon :type="!data.favorite ? 'ios-star-outline' : 'ios-star'" color="green" size="18" class="opBtn"
 | 
											
												
													
														|  | 
 |  | +                    :title="data.favorite ? Resource.DelCollect : Resource.AddCollect
 | 
											
												
													
														|  | 
 |  | +                      " @click="favoriteHandle(data)" v-if="data.url != ''" />
 | 
											
												
													
														|  |                  </span>
 |  |                  </span>
 | 
											
												
													
														|  |                </span>
 |  |                </span>
 | 
											
												
													
														|  |              </el-tree>
 |  |              </el-tree>
 | 
											
												
													
														|  |            </div>
 |  |            </div>
 | 
											
												
													
														|  |          </div>
 |  |          </div>
 | 
											
												
													
														|  |        </TabPane>
 |  |        </TabPane>
 | 
											
												
													
														|  | -      <TabPane
 |  | 
 | 
											
												
													
														|  | -        :label="Resource.LayerOptions"
 |  | 
 | 
											
												
													
														|  | -        name="tckz"
 |  | 
 | 
											
												
													
														|  | -        v-if="$props.splitId == -1"
 |  | 
 | 
											
												
													
														|  | -      >
 |  | 
 | 
											
												
													
														|  | 
 |  | +      <TabPane :label="Resource.LayerOptions" name="tckz" v-if="$props.splitId == -1">
 | 
											
												
													
														|  |          <div class="tckz">
 |  |          <div class="tckz">
 | 
											
												
													
														|  |            <List split size="large">
 |  |            <List split size="large">
 | 
											
												
													
														|  |              <ListItem v-for="(item, index) in addlayerdata" :key="index">
 |  |              <ListItem v-for="(item, index) in addlayerdata" :key="index">
 | 
											
												
													
														|  |                {{ item.title }}
 |  |                {{ item.title }}
 | 
											
												
													
														|  |                <div class="listBtn">
 |  |                <div class="listBtn">
 | 
											
												
													
														|  | -                <i-switch
 |  | 
 | 
											
												
													
														|  | -                  v-model="item.visible"
 |  | 
 | 
											
												
													
														|  | -                  size="small"
 |  | 
 | 
											
												
													
														|  | -                  @on-change="visibleChange(item, $event)"
 |  | 
 | 
											
												
													
														|  | -                >
 |  | 
 | 
											
												
													
														|  | 
 |  | +                <i-switch v-model="item.visible" size="small" @on-change="visibleChange(item, $event)">
 | 
											
												
													
														|  |                    <template #open>
 |  |                    <template #open>
 | 
											
												
													
														|  |                      <span></span>
 |  |                      <span></span>
 | 
											
												
													
														|  |                    </template>
 |  |                    </template>
 | 
											
										
											
												
													
														|  | @@ -68,43 +39,18 @@
 | 
											
												
													
														|  |                      <span></span>
 |  |                      <span></span>
 | 
											
												
													
														|  |                    </template>
 |  |                    </template>
 | 
											
												
													
														|  |                  </i-switch>
 |  |                  </i-switch>
 | 
											
												
													
														|  | -                <Icon
 |  | 
 | 
											
												
													
														|  | -                  type="md-arrow-round-up"
 |  | 
 | 
											
												
													
														|  | -                  color="green"
 |  | 
 | 
											
												
													
														|  | -                  size="18"
 |  | 
 | 
											
												
													
														|  | -                  class="opBtn"
 |  | 
 | 
											
												
													
														|  | -                  :title="Resource.MoveUpOneLevel"
 |  | 
 | 
											
												
													
														|  | -                  @click="raise(item)"
 |  | 
 | 
											
												
													
														|  | -                  v-if="
 |  | 
 | 
											
												
													
														|  | -                    index > 0 && (item.type == 'Vector' || item.type == 'IMG')
 |  | 
 | 
											
												
													
														|  | -                  "
 |  | 
 | 
											
												
													
														|  | -                />
 |  | 
 | 
											
												
													
														|  | -                <Icon
 |  | 
 | 
											
												
													
														|  | -                  type="md-arrow-round-down"
 |  | 
 | 
											
												
													
														|  | -                  color="green"
 |  | 
 | 
											
												
													
														|  | -                  size="18"
 |  | 
 | 
											
												
													
														|  | -                  class="opBtn"
 |  | 
 | 
											
												
													
														|  | -                  :title="Resource.MoveDownOneLevel"
 |  | 
 | 
											
												
													
														|  | -                  @click="lower(item)"
 |  | 
 | 
											
												
													
														|  | -                  v-if="
 |  | 
 | 
											
												
													
														|  | -                    index < addlayerdata.length - 1 &&
 |  | 
 | 
											
												
													
														|  | 
 |  | +                <Icon type="md-arrow-round-up" color="green" size="18" class="opBtn" :title="Resource.MoveUpOneLevel"
 | 
											
												
													
														|  | 
 |  | +                  @click="raise(item)" v-if="index > 0 && (item.type == 'Vector' || item.type == 'IMG')
 | 
											
												
													
														|  | 
 |  | +                    " />
 | 
											
												
													
														|  | 
 |  | +                <Icon type="md-arrow-round-down" color="green" size="18" class="opBtn" :title="Resource.MoveDownOneLevel"
 | 
											
												
													
														|  | 
 |  | +                  @click="lower(item)" v-if="index < addlayerdata.length - 1 &&
 | 
											
												
													
														|  |                      (item.type == 'Vector' || item.type == 'IMG')
 |  |                      (item.type == 'Vector' || item.type == 'IMG')
 | 
											
												
													
														|  | -                  "
 |  | 
 | 
											
												
													
														|  | -                />
 |  | 
 | 
											
												
													
														|  | -                <Icon
 |  | 
 | 
											
												
													
														|  | -                  type="md-locate"
 |  | 
 | 
											
												
													
														|  | -                  color="green"
 |  | 
 | 
											
												
													
														|  | -                  size="18"
 |  | 
 | 
											
												
													
														|  | -                  class="opBtn"
 |  | 
 | 
											
												
													
														|  | -                  :title="Resource.location"
 |  | 
 | 
											
												
													
														|  | -                  @click="location(item)"
 |  | 
 | 
											
												
													
														|  | -                />
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    " />
 | 
											
												
													
														|  | 
 |  | +                <Icon type="md-locate" color="green" size="18" class="opBtn" :title="Resource.location"
 | 
											
												
													
														|  | 
 |  | +                  @click="location(item)" />
 | 
											
												
													
														|  |                </div>
 |  |                </div>
 | 
											
												
													
														|  |                <div class="sliderBtn" v-if="item.type != 'Terrain'">
 |  |                <div class="sliderBtn" v-if="item.type != 'Terrain'">
 | 
											
												
													
														|  | -                <Slider
 |  | 
 | 
											
												
													
														|  | -                  v-model="item.trans"
 |  | 
 | 
											
												
													
														|  | -                  @on-change="transSliderChange(item, $event)"
 |  | 
 | 
											
												
													
														|  | -                ></Slider>
 |  | 
 | 
											
												
													
														|  | 
 |  | +                <Slider v-model="item.trans" @on-change="transSliderChange(item, $event)"></Slider>
 | 
											
												
													
														|  |                </div>
 |  |                </div>
 | 
											
												
													
														|  |              </ListItem>
 |  |              </ListItem>
 | 
											
												
													
														|  |            </List>
 |  |            </List>
 | 
											
										
											
												
													
														|  | @@ -113,23 +59,13 @@
 | 
											
												
													
														|  |        <TabPane :label="Resource.Favorite" name="collect">
 |  |        <TabPane :label="Resource.Favorite" name="collect">
 | 
											
												
													
														|  |          <div class="collect" :class="$props.splitId >= 0 ? `collectsplit` : ''">
 |  |          <div class="collect" :class="$props.splitId >= 0 ? `collectsplit` : ''">
 | 
											
												
													
														|  |            <List split>
 |  |            <List split>
 | 
											
												
													
														|  | -            <ListItem
 |  | 
 | 
											
												
													
														|  | -              v-for="(item, index) in favoriteLayerList"
 |  | 
 | 
											
												
													
														|  | -              :key="index"
 |  | 
 | 
											
												
													
														|  | -              class="layerlist"
 |  | 
 | 
											
												
													
														|  | -            >
 |  | 
 | 
											
												
													
														|  | 
 |  | +            <ListItem v-for="(item, index) in favoriteLayerList" :key="index" class="layerlist">
 | 
											
												
													
														|  |                <Checkbox @on-change="checkboxChange(item, $event)">{{
 |  |                <Checkbox @on-change="checkboxChange(item, $event)">{{
 | 
											
												
													
														|  |                  item.title
 |  |                  item.title
 | 
											
												
													
														|  |                }}</Checkbox>
 |  |                }}</Checkbox>
 | 
											
												
													
														|  |                <div class="listBtn">
 |  |                <div class="listBtn">
 | 
											
												
													
														|  | -                <Icon
 |  | 
 | 
											
												
													
														|  | -                  type="ios-star"
 |  | 
 | 
											
												
													
														|  | -                  color="green"
 |  | 
 | 
											
												
													
														|  | -                  size="18"
 |  | 
 | 
											
												
													
														|  | -                  class="opBtn"
 |  | 
 | 
											
												
													
														|  | -                  :title="Resource.DelCollect"
 |  | 
 | 
											
												
													
														|  | -                  @click="favoriteHandle(item)"
 |  | 
 | 
											
												
													
														|  | -                />
 |  | 
 | 
											
												
													
														|  | 
 |  | +                <Icon type="ios-star" color="green" size="18" class="opBtn" :title="Resource.DelCollect"
 | 
											
												
													
														|  | 
 |  | +                  @click="favoriteHandle(item)" />
 | 
											
												
													
														|  |                </div>
 |  |                </div>
 | 
											
												
													
														|  |              </ListItem>
 |  |              </ListItem>
 | 
											
												
													
														|  |            </List>
 |  |            </List>
 | 
											
										
											
												
													
														|  | @@ -265,12 +201,29 @@ export default {
 | 
											
												
													
														|  |        }
 |  |        }
 | 
											
												
													
														|  |        this.$emit("handleCheckChange", obj, checked, this.$props.splitId);
 |  |        this.$emit("handleCheckChange", obj, checked, this.$props.splitId);
 | 
											
												
													
														|  |      },
 |  |      },
 | 
											
												
													
														|  | 
 |  | +    setDisabledIfChildrenExist(node) {
 | 
											
												
													
														|  | 
 |  | +      if (node.children && node.children.length > 0) {
 | 
											
												
													
														|  | 
 |  | +        node.disabled = true;
 | 
											
												
													
														|  | 
 |  | +      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +      // 递归遍历子节点
 | 
											
												
													
														|  | 
 |  | +      if (node.children) {
 | 
											
												
													
														|  | 
 |  | +        node.children.forEach(child => {
 | 
											
												
													
														|  | 
 |  | +          this.setDisabledIfChildrenExist(child);
 | 
											
												
													
														|  | 
 |  | +        });
 | 
											
												
													
														|  | 
 |  | +      }
 | 
											
												
													
														|  | 
 |  | +    },
 | 
											
												
													
														|  |      //获取后台资源目录树结构
 |  |      //获取后台资源目录树结构
 | 
											
												
													
														|  |      getResourceTree() {
 |  |      getResourceTree() {
 | 
											
												
													
														|  |        GetResourceTree().then((res) => {
 |  |        GetResourceTree().then((res) => {
 | 
											
												
													
														|  |          if (res.statuscode == 200) {
 |  |          if (res.statuscode == 200) {
 | 
											
												
													
														|  | 
 |  | +          // 从根节点开始递归
 | 
											
												
													
														|  | 
 |  | +          res.data.forEach(rootNode => {
 | 
											
												
													
														|  | 
 |  | +            this.setDisabledIfChildrenExist(rootNode);
 | 
											
												
													
														|  | 
 |  | +          });
 | 
											
												
													
														|  |            this.TreeDatas = res.data;
 |  |            this.TreeDatas = res.data;
 | 
											
												
													
														|  | 
 |  | +          console.log('this.TreeDatas: ', this.TreeDatas);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |            store.state.tempResourceTree = res.data;
 |  |            store.state.tempResourceTree = res.data;
 | 
											
												
													
														|  |          } else {
 |  |          } else {
 | 
											
												
													
														|  |            console.log(e);
 |  |            console.log(e);
 | 
											
										
											
												
													
														|  | @@ -329,4 +282,8 @@ export default {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  <style lang="scss">
 |  |  <style lang="scss">
 | 
											
												
													
														|  |  @import "./LayerManage.scss";
 |  |  @import "./LayerManage.scss";
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +.is-disabled {
 | 
											
												
													
														|  | 
 |  | +  display: none;
 | 
											
												
													
														|  | 
 |  | +}
 | 
											
												
													
														|  |  </style>
 |  |  </style>
 |