Просмотр исходного кода

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

ChengHongYu 2 лет назад
Родитель
Сommit
efa53adfa8

+ 9 - 0
src/http/moudules/sys.js

@@ -409,3 +409,12 @@ export const sysChannelCost = (data) => {
         data
     })
 }
+
+//财务管理-加投结算-加投汇总
+export const queryStaticPage = (data) => {
+    return axios({
+        url: '/sysChannelCost/queryStaticPage',
+        method: 'post',
+        data
+    })
+}

+ 0 - 8
src/views/AgreementManage/ChannelCost.vue

@@ -1531,13 +1531,5 @@ export default {
   width: 100%;
   text-align: right;
 }
-// ::v-deep {
-//   .el-tree-node {
-//     .el-checkbox__input.is-disabled {
-//       display: none;
-//     }
-//   }
-// }
-
 </style>
   

+ 8 - 8
src/views/FinancialManagement/AcountWithdrawal/AcountBalance.vue

@@ -197,9 +197,9 @@ export default {
         { prop: "name", label: "姓名", minWidth: 80 },
         { prop: "deptId", label: "机构代码", minWidth: 160 },
         { prop: "deptName", label: "机构名称", minWidth: 100 },
-        { prop: "sumAmount", label: "总金额", minWidth: 100 },
-        { prop: "sumAmountWithdrawal", label: "提现金额", minWidth: 100 },
-        { prop: "sumAmountAccount", label: "已到账总金额", minWidth: 100 },
+        { prop: "sumAmountWithdrawal", label: "总收益金额", minWidth: 100 },
+        { prop: "sumAmount", label: "提现金额", minWidth: 100 },
+        { prop: "sumAmountAccount", label: "已提现金额", minWidth: 100 },
         { prop: "sumAmountPayment", label: "支付中总金额  ", minWidth: 100 },
         { prop: "zgCoin", label: "掌柜币", minWidth: 100 },
         { prop: "zgCoinAmountWithdrawal", label: "掌柜币提现总金额", minWidth: 100 },
@@ -433,11 +433,11 @@ export default {
         .then((res) => {
           if (res.code == 200) {
             let resData = {
-              content: res.data.records,
-              pageNum: res.data.current,
-              pageSize: res.data.size,
-              totalPages: res.data.pages,
-              totalSize: res.data.total,
+              content: res.data.content,
+              pageNum: res.data.pageNum,
+              pageSize: res.data.pageSize,
+              totalPages: res.data.totalPages,
+              totalSize: res.data.totalSize,
             }
             this.pageResult = resData;
           }

+ 98 - 0
src/views/FinancialManagement/AddIanvestment/Addedsummary.vue

@@ -0,0 +1,98 @@
+<template>
+  <div>
+    <templateTable
+      :formList="formList"
+      :searchData.sync="searchData"
+      :tableConfig="tableConfig"
+      :data="tableData"
+      @getList="getList"
+      :btnGroup="btnGroup"
+      @handleSearchList="handleSearchList"
+      :pagination="page"
+    >
+    </templateTable>
+  </div>
+</template>
+
+<script>
+import templateTable from "@/components/TemplateTable/index.vue";
+export default {
+  components: { templateTable },
+  data() {
+    return {
+      formList: [
+        {
+          label: "渠道名称",
+          prop: "userName",
+          type: "input",
+        },
+      ],
+      searchData: {},
+      tableConfig: {
+        columns: [
+          {
+            prop: "userName",
+            label: "渠道名称",
+            type: "text",
+          },
+          {
+            prop: "totalPrice",
+            label: "总金额",
+            type: "text",
+          },
+          {
+            prop: "settledAmount",
+            label: "已结算金额",
+            type: "text",
+          },
+          {
+            prop: "unsettledAmount",
+            label: "未结算金额",
+            type: "text",
+          },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        operationWidth: 300,
+        isCheckBox: true,
+      },
+      tableData: [],
+      btnGroup: [],
+      page: {
+        pageNum: 1,
+        pageSize: 20,
+        totalSize: 0,
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    //列表数据
+    getList(data) {
+      this.tableConfig.loading = true;
+      this.$api.sys.queryStaticPage({...data, ...this.page }).then((res) => {
+        if (res.code == 200) {
+          this.tableData = res.data.content;
+          this.page.pageNum = res.data.pageNum;
+          this.page.pageSize = res.data.pageSize;
+          this.page.totalSize = res.data.totalSize;
+          this.tableConfig.loading = false;
+        } else {
+          this.tableData = [];
+          this.$message.error(res.msg);
+          this.page.totalSize = 0;
+          this.tableConfig.loading = false;
+        }
+      });
+    },
+    handleSearchList(data) {
+      this.getList(data);
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 6 - 1
src/views/FinancialManagement/AddInvestment.vue → src/views/FinancialManagement/AddIanvestment/Stmentindex.vue

@@ -71,7 +71,7 @@
         ref="uploadBulk"
         v-if="isBulk"
       >
-        <img v-if="bulkImage" :src="bulkImage" class="avatar" />
+        <img v-if="!bulkImage == ''" :src="bulkImage" class="avatar" />
         <i v-else class="el-icon-plus avatar-uploader-icon"></i>
         <div slot="tip" class="el-upload__tip">请上传凭证</div>
       </el-upload>
@@ -612,14 +612,19 @@ export default {
     },
     //批量导入结算
     bulkExport() {
+      this.bulkImage = '';
+      this.bulkiamgeFile = ''
       this.isBulk = true;
     },
     //批量导入结算上传
     drivinguploadExcel(file, fileList) {
+      console.log(this.bulkiamgeFile);
+      
       if (this.bulkiamgeFile == "") {
         this.$message.error("请先上传凭证");
         return;
       } else {
+        
         //   this.progressPercent = 0;
         const params = new FormData(); // 声明formData数据类型
 

+ 93 - 34
src/views/PeopleManage/PcLoginRecord.vue

@@ -20,6 +20,7 @@
             :value="option.code"></el-option>
         </el-select>
         <el-button size="small" type="primary" @click="onSearch">搜索</el-button>
+        <el-button size="small" type="primary" @click="deptPeopleVisible=true;getUserDeptTreeFun()">机构人员树</el-button>
         <!-- <el-button size="small" type="primary" @click="onCircular">圆形定位</el-button> -->
         <!-- <el-button size="small" type="primary" @click="map.remove(circle)">删除定位</el-button> -->
       </div>
@@ -48,7 +49,7 @@
       </div>
        <!-- <MobileZoomDiv> -->
         <div v-if="personnelVisible">
-        <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="700" :height="340">
+        <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="700" >
           <el-table :data="personnelData" border style="width: 100%; " :header-cell-style="{
             background: '#F7F7F9',
             fontWeight: '700',
@@ -102,7 +103,7 @@
       <!-- </MobileZoomDiv> -->
       <!-- <MobileZoomDivTR> -->
       <div v-if="infoWindowVisible">
-        <vdr title="历史记录" @visiblefun="infoWindowVisible = false" :width="550" :height="525">
+        <vdr title="历史记录" @visiblefun="infoWindowVisible = false"  >
           <el-table :data="tableData" border style="width: 98%; max-height: 45vh;
             overflow-y: auto; " :cell-style="{ padding: '3px 8px' }" :header-cell-style="{
               background: '#F2F7FC',
@@ -222,11 +223,26 @@
             <el-table-column prop="userName" label="姓名">
             </el-table-column>
             <el-table-column prop="carNumber" label="车险录单">
+              <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.carNumberTime" placement="bottom">
+                  <span >{{ scope.row.carNumber }}</span>
+                </el-tooltip>
+              </template > 
             </el-table-column>
             <el-table-column prop="orderNumber" label="订单查询">
+              <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.orderNumberTime" placement="bottom">
+                  <span >{{ scope.row.orderNumber }}</span>
+                </el-tooltip>
+              </template > 
             </el-table-column>
             <el-table-column prop="walletNumber" label="钱包">
-            </el-table-column>
+              <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.walletNumberTime" placement="bottom">
+                  <span >{{ scope.row.walletNumber }}</span>
+                </el-tooltip>
+              </template > 
+            </el-table-column>  
           </el-table>
           <!-- <div class="bottomFixed">
             <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum"
@@ -237,17 +253,30 @@
         </vdr>
       </div>
 
-      <!-- <div >
-        <vdr title="机构树" @visiblefun="personnelVisible = false" :width="700" :height="340">
-          <el-tree
-              :data="ztreeNodes"
-              :props="{ children: 'children', label: 'name' }"
-              node-key="id"
-              :default-expanded-keys="['9']"
-              @node-click="onZTreeClick"
-            ></el-tree>
-        </vdr>
-      </div> -->
+      <div class="info-window" v-if="deptPeopleVisible">
+          <!-- <p class="close flex j-s">
+          <span>历史记录</span>
+          <span style="color: #c3c3c3;font-size:18px" @click="infoWindowVisible = false"> ×</span>
+        </p> -->
+        <div class="close flex j-s" style="padding:10px 0" >
+          <el-switch
+          v-model="deptPeopleValue"
+          @change="deptPeopleFun"
+          size="small"
+          active-text="机构树"
+          :disabled="ztreeNodeAll.type==1"
+          inactive-text="人员树">
+        </el-switch>
+        <span class="el-icon-close" style="color: #c3c3c3;cursor: pointer" @click="deptPeopleVisible = false"> </span>
+        </div>
+        <el-tree
+            :data="ztreeNodes"
+            :props="{ children: 'children', label: 'name' }"
+            node-key="id"
+            :default-expanded-keys="['9']"
+            @node-click="onZTreeClick"
+          ></el-tree>
+      </div>
       <div class="info-window input-card" v-if="circle">
         <el-button size="small" round @click="circleEditor.open()" style="margin-bottom: 5px">开始编辑</el-button>
         <el-button size="small" round @click="circleEditor.close()" style="margin-left:0">结束编辑</el-button>
@@ -272,7 +301,12 @@ var myChart;
 export default {
   data() {
     return {
+      deptPeopleVisible:false,
+      deptPeopleType:0,
+      deptPeopleId:'',
       ztreeNodes:[],
+      ztreeNodeAll:{},
+      deptPeopleValue:true,
       pageNum: 1, //当前页面
       pageSize: 5, //每页显示条数
       totalSum: 0, //全部的数据条数
@@ -348,21 +382,40 @@ export default {
     window.personnelclick = () => {
       this.personnelVisible = true;
     };
-    // this.$api.user
-    //     .getUserDeptTree()
-    //     .then(res => {
-    //       if (res.code == 200) {
-    //         this.ztreeNodes = [res.data];
-    //       }
-    //     });
+   
   },
   destroyed() {
     // 销毁地图,并清空地图容器.该方法执行后,地图对象被注销,内存释放,地图容器被清空。
     this.map.destroy();
   },
   methods: {
+    getUserDeptTreeFun(){
+      this.$api.user
+        .getUserDeptTree()
+        .then(res => {
+          if (res.code == 200) {
+            this.ztreeNodes = res.data.deptList;
+            this.ztreeNodeAll = res.data;
+          }
+        });
+    },
+    deptPeopleFun(val){
+     if(val){
+      this.ztreeNodes = this.ztreeNodeAll.deptList;
+     }
+     else{
+      this.ztreeNodes = this.ztreeNodeAll.userList;
+     }
+    },
     onZTreeClick: function (evt, treeId, treeNode) {
-    ;
+      if(this.deptPeopleValue){
+        this.deptPeopleType=1
+      }
+      else{
+        this.deptPeopleType=2
+      }
+      this.deptPeopleId=evt.id
+      this.initMap();
     },
     operateDateFun(val) {
       this.operateDate = val
@@ -515,6 +568,8 @@ export default {
       }
       let api = this.positionType == 1 ? 'queryPcAddressInfo' : 'queryPcAddressHistoryInfo'
       this.$api.user[api]({
+        queryId: this.deptPeopleId,
+        type: this.deptPeopleType,
         lng: this.position[0], lat: this.position[1], source: this.source, pageSize: 5,
         pageNum: this.personnelPageNum, ...data
       })
@@ -756,7 +811,7 @@ export default {
         this.initMap();
       }
       else {
-        this.queryAnalysis({ startTime: this.historyData[0], endTime: this.historyData[1] });
+          this.queryAnalysis({ startTime: this.historyData[0], endTime: this.historyData[1] });
       }
     },
     onLineChange(val) {
@@ -844,7 +899,7 @@ export default {
           mapStyle: "amap://styles/normal" //地图样式,彩色
         });
         _this.map.on("complete", () => {
-          _this.$api.user.queryPositionLoginRecord({ source: this.source, ...this.province }).then(res => {
+          _this.$api.user.queryPositionLoginRecord({ source: this.source,queryId: this.deptPeopleId,type: this.deptPeopleType, ...this.province }).then(res => {
             if (res.code == 200) {
               if (res.data && res.data.length > 0) {
                 //处理后台返回要用到的数据
@@ -952,6 +1007,8 @@ export default {
       }
       let api = this.positionType == 1 ? 'queryPcAddressInfo' : 'queryPcAddressHistoryInfo'
       this.$api.user[api]({
+        queryId: this.deptPeopleId,
+        type: this.deptPeopleType,
         lng: e.target._position[0], lat: e.target._position[1], source: this.source, pageSize: 5,
         pageNum: this.personnelPageNum, ...data
       })
@@ -1029,16 +1086,18 @@ export default {
   }
 }
 
-// .info-window {
-//   position: absolute;
-//   top: 60px;
-//   left: 20px;
-//   z-index: 100;
-//   background-color: white;
-//   padding: 10px;
-//   width: 32vw;
-//   box-shadow: 0px 5px 10px #ddd;
-// }
+.info-window {
+  position: absolute;
+  top: 60px;
+  left: 20px;
+  z-index: 100;
+  background-color: white;
+  padding: 10px;
+  width: 22vw;
+  box-shadow: 0px 5px 10px #ddd;
+  height: 45vh;
+    overflow-y: auto;
+}
 
 .infohis-window {
   position: absolute;

+ 2 - 0
src/views/PeopleManage/Staff/StaffManage.vue

@@ -1076,6 +1076,7 @@ export default {
     // 提交
     submitForm() {
       this.$refs.formDataDetails.submit();
+      this.formData.leaderName=''
       setTimeout(() => {
         this.$refs.formData.validate((valid) => {
           if (valid && this.detailValid) {
@@ -1098,6 +1099,7 @@ export default {
                   (val) => val.id == this.formData.leaderId
                 ).name;
               }
+              
               if (this.dialogTitle == "新增后线人员") {
                 this.$api.user
                   .saveUserInfo({

+ 107 - 10
src/views/PeopleManage/UserMap.vue

@@ -18,6 +18,7 @@
           :value="option.code"></el-option>
       </el-select>
       <el-button size="small" type="primary" @click="onSearch">搜索</el-button>
+      <el-button size="small" type="primary" @click="deptPeopleVisible=true;getUserDeptTreeFun()">机构人员树</el-button>
     </div>
     <div class="line-window">
       <span><i style=" background: #54B569 ;"></i>在线</span>
@@ -49,7 +50,7 @@
      <!-- <MobileZoomDiv> -->
       <!-- 人员详情 -->
       <div v-if="personnelVisible">
-      <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="700" :height="340">
+      <vdr title="人员详情" @visiblefun="personnelVisible = false" :width="770" >
         <el-table :data="personnelData" border style="width: 100%; " :header-cell-style="{
           background: '#F7F7F9',
           fontWeight: '700',
@@ -67,6 +68,8 @@
           </el-table-column>
           <el-table-column prop="id" label="工号">
           </el-table-column>
+          <el-table-column prop="deptName" label="所属机构" width="150">
+          </el-table-column>
           <el-table-column prop="leaderName" label="管理人">
           </el-table-column>
           <el-table-column prop="address" label="地址">
@@ -84,7 +87,7 @@
                 size="small">
                 历史记录
               </el-button>
-              <el-button style="color:#3865E9 " @click.native.prevent="operatelRecords(scope.row)" type="text"
+              <el-button st yle="color:#3865E9 " @click.native.prevent="operatelRecords(scope.row)" type="text"
                 size="small">
                 操作记录
               </el-button>
@@ -105,11 +108,7 @@
     <!-- </MobileZoomDiv> -->
     <!-- <MobileZoomDivTR> -->
     <div v-if="infoWindowVisible">
-      <vdr title="历史记录" @visiblefun="infoWindowVisible = false" :width="550" :height="525">
-        <!-- <p class="close flex j-s">
-          <span>历史记录</span>
-          <span style="color: #c3c3c3;font-size:18px" @click="infoWindowVisible = false"> ×</span>
-        </p> -->
+      <vdr title="历史记录" @visiblefun="infoWindowVisible = false"  :width="720">
         <el-table :data="tableData" border style="width: 98%; max-height: 45vh;
     overflow-y: auto;" :cell-style="{ padding: '3px 8px' }" :header-cell-style="{
       background: '#F2F7FC',
@@ -120,6 +119,8 @@
           </el-table-column>
           <el-table-column prop="userName" label="姓名" width="100">
           </el-table-column>
+          <el-table-column prop="deptName" label="所属机构"  width="150">
+          </el-table-column>
           <el-table-column prop="address" label="地址">
           </el-table-column>
           <el-table-column prop="createTime" label="登录时间">
@@ -208,7 +209,7 @@
 
    
     <div v-if="operatelVisible">
-      <vdr title="操作记录" @visiblefun="operatelVisible = false">
+      <vdr title="操作记录" @visiblefun="operatelVisible = false" :width="800">
         <div style="margin-bottom: 10px;">
           <span style="color: #262626;font-weight: 700;font-size: 14px;">时间筛选 </span>
           <el-date-picker v-model="operateDate" type="datetimerange" size="small" @change="operateDateFun"
@@ -227,19 +228,67 @@
           </el-table-column>
           <el-table-column prop="userName" label="姓名">
           </el-table-column>
+          <el-table-column prop="deptName" label="所属机构" width="150">
+          </el-table-column>
           <el-table-column prop="carNumber" label="车险录单">
+            <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.carNumberTime" placement="bottom">
+                  <span >{{ scope.row.carNumber }}</span>
+                </el-tooltip>
+              </template > 
           </el-table-column>
           <el-table-column prop="memberNumber" label="会员分享">
+            <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.memberNumberTime" placement="bottom">
+                  <span >{{ scope.row.memberNumber }}</span>
+                </el-tooltip>
+              </template > 
           </el-table-column>
           <el-table-column prop="managementNumber" label="会员管理">
+            <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.managementNumberTime" placement="bottom">
+                  <span >{{ scope.row.managementNumber }}</span>
+                </el-tooltip>
+              </template > 
           </el-table-column>
           <el-table-column prop="walletNumber" label="钱包">
+            <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.walletNumberTime" placement="bottom">
+                  <span >{{ scope.row.walletNumber }}</span>
+                </el-tooltip>
+              </template > 
           </el-table-column>
           <el-table-column prop="posterNumber" label="海报管理">
+            <template slot-scope="scope">
+              <el-tooltip class="item" effect="dark" :content="scope.row.posterNumberTime" placement="bottom">
+                  <span >{{ scope.row.posterNumber }}</span>
+                </el-tooltip>
+              </template > 
           </el-table-column>
         </el-table>
       </vdr>
+
     </div>
+    <div class="info-window" v-if="deptPeopleVisible">
+        <div class="close flex j-s" style="padding:15px 0" >
+          <el-switch
+          v-model="deptPeopleValue"
+          @change="deptPeopleFun"
+          size="small"
+          active-text="机构树"
+          :disabled="ztreeNodeAll.type==1"
+          inactive-text="人员树">
+        </el-switch>
+        <span class="el-icon-close" style="color: #c3c3c3;cursor: pointer" @click="deptPeopleVisible = false"> </span>
+        </div>
+        <el-tree
+            :data="ztreeNodes"
+            :props="{ children: 'children', label: 'name' }"
+            node-key="id"
+            :default-expanded-keys="['9']"
+            @node-click="onZTreeClick"
+          ></el-tree>
+      </div>
   </div>
 </template>
 
@@ -258,6 +307,12 @@ var myChart;
 export default {
   data() {
     return {
+      deptPeopleVisible:false,
+      deptPeopleType:0,
+      deptPeopleId:'',
+      ztreeNodes:[],
+      ztreeNodeAll:{},
+      deptPeopleValue:true,
       pageNum: 1, //当前页面
       pageSize: 5, //每页显示条数
       totalSum: 0, //全部的数据条数
@@ -333,12 +388,48 @@ export default {
     window.personnelclick = () => {
       this.personnelVisible = true;
     };
+    this.$api.user
+        .getUserDeptTree()
+        .then(res => {
+          if (res.code == 200) {
+            this.ztreeNodes = res.data.deptList;
+            this.ztreeNodeAll = res.data;
+          }
+        });
   },
   destroyed() {
     // 销毁地图,并清空地图容器.该方法执行后,地图对象被注销,内存释放,地图容器被清空。
     this.map.destroy();
   },
   methods: {
+    getUserDeptTreeFun(){
+      this.$api.user
+        .getUserDeptTree()
+        .then(res => {
+          if (res.code == 200) {
+            this.ztreeNodes = res.data.deptList;
+            this.ztreeNodeAll = res.data;
+          }
+        });
+    },
+    deptPeopleFun(val){
+     if(val){
+      this.ztreeNodes = this.ztreeNodeAll.deptList;
+     }
+     else{
+      this.ztreeNodes = this.ztreeNodeAll.userList;
+     }
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      if(this.deptPeopleValue){
+        this.deptPeopleType=1
+      }
+      else{
+        this.deptPeopleType=2
+      }
+      this.deptPeopleId=evt.id
+      this.initMap();
+    },
     operatelRecords(row) {
       this.rowId = this.positionType == 1 ? row.id : row.userId
       this.operatelVisible = true
@@ -495,6 +586,8 @@ export default {
       }
       this.$api.user
         .queryGeographyInfo({
+          queryId: this.deptPeopleId,
+          type: this.deptPeopleType,
           lng: this.position[0], lat: this.position[1], pageSize: 5,
           pageNum: this.personnelPageNum, ...data
         })
@@ -695,7 +788,7 @@ export default {
         });
 
         _this.map.on("complete", () => {
-          _this.$api.user.queryPosition({ source: this.source, ...this.province }).then(res => {
+          _this.$api.user.queryPosition({ source: this.source,queryId: this.deptPeopleId,type: this.deptPeopleType, ...this.province }).then(res => {
             if (res.code == 200) {
               if (res.data.list && res.data.list.length > 0) {
                 // _this.onlineNum = res.data.manNum; //在线人数
@@ -841,6 +934,8 @@ export default {
       }
       let api = this.positionType == 1 ? 'queryGeographyInfo' : 'queryGeographyRecord'
       this.$api.user[api]({
+        queryId: this.deptPeopleId,
+        type: this.deptPeopleType,
         lng: e.target._position[0], lat: e.target._position[1], pageSize: 5,
         pageNum: this.personnelPageNum, ...data
       })
@@ -959,8 +1054,10 @@ export default {
   z-index: 100;
   background-color: white;
   padding: 10px;
-  width: 35vw;
+  width: 22vw;
   box-shadow: 0px 5px 10px #ddd;
+  height: 45vh;
+    overflow-y: auto;
 }
 
 .infohis-window {

+ 17 - 7
src/views/PeopleManage/vdr.vue

@@ -1,14 +1,16 @@
 <template>
-    <vdr :w="operateWidth" :h="operateHight" :x="operateX" :y="operateY" style="z-index:999" class-name="my-class"
+    <vdr :w="operateWidth" :h="operateHight"    :active="true"
+    @resizing="onResize"  :x="operateX" :y="operateY"
+    @dragging="onDrag" style="z-index:999" class-name="my-class"
         class="infohis-window">
         <div class="close flex j-s" style="padding:15px 0" v-if="title">
             <span>{{ title }}</span>
             <div>
-                <span style="color: #c3c3c3;font-size:18px;cursor: pointer" @click="visiblefun"> ×</span>
+                <span class="el-icon-close" style="color: #c3c3c3;cursor: pointer" @click="visiblefun"></span>
                 <span v-if="isOperate==false" style="color: #c3c3c3;font-size:18px;cursor: pointer"
                     @click="operateWidthFun()" class="el-icon-rank"> </span>
                 <span v-else style="color: #c3c3c3;font-size:18px;cursor: pointer"
-                    @click="isOperate=false;operateWidth=width;operateHight=height " class="el-icon-top-left"> </span>
+                    @click="isOperate=false;operateWidth=width;operateHight=height || 'auto'" class="el-icon-top-left"> </span>
             </div>
         </div>
         <slot></slot>
@@ -34,14 +36,22 @@ export default {
     data() {
         return {
             operateWidth: this.width ||600,
-            operateHight: this.height || 290,
-            operateX: 0,
-            operateY: 0,
-            isOperate:false
+            operateHight: this.height || 'auto',
+            isOperate:false,
+            operateX:0,
+            operateY:0,
         };
     },
  
     methods: {
+        onResize(x, y, width, height) {
+            this.operateWidth = Math.min(window.innerWidth - x, width); // 保证宽度不超出容器宽度
+            this.operateHight = Math.min(window.innerHeight - y, height); // 保证宽度不超出容器宽度
+        },
+        onDrag(x, y) {
+            this.operateX = x; // 更新x位置
+            this.operateY = y; // 更新x位置
+        },
         visiblefun() {
             this.$emit("visiblefun")
         },

+ 13 - 48
src/views/Sys/ChannelGrouping.vue

@@ -77,31 +77,6 @@
           </div>
         </el-col>
         <el-col :span="11" :offset="1" style="height: 500px">
-          <div>
-            <span>工号:</span>
-            <el-input
-              clearable
-              style="width: 220px"
-              placeholder="请输入已选机构工号"
-              size="small"
-              v-model="selectId"
-            >
-            </el-input>
-          </div>
-          <div style="margin: 10px 0">
-            <span>名称:</span
-            ><el-input
-              clearable
-              style="width: 220px"
-              size="small"
-              placeholder="请输入已选机构名称"
-              v-model="selectName"
-            >
-            </el-input>
-            <el-button type="primary" size="small" @click="seachSelect"
-              >搜索</el-button
-            >
-          </div>
           <h4>已选中机构名称</h4>
           <div style="height: 460px; overflow-y: auto">
             <div
@@ -153,8 +128,6 @@ export default {
   data() {
     return {
       selectParent: "",
-      selectId: "",
-      selectName: "",
       treedatatransfer: [],
       dept: [],
       name: "",
@@ -232,6 +205,9 @@ export default {
         //自定义参数
         children: "children",
         label: "name",
+        disabled:()=>{
+          return true
+        }
       },
       treekeys: [],
       expandshow: false,
@@ -243,26 +219,17 @@ export default {
     this.getList();
   },
   methods: {
-    seachSelect() {
-      let data = {};
-      data.gradeId = this.rowId;
-      data.name = this.selectName;
-      data.id = this.selectId;
-      this.$api.sys.queryRelation(data).then((res) => {
-        if (res.code == 200 && res.data.length > 0) {
-          this.dialogVisible = true;
-          setTimeout(() => {
-            this.treedatatransfer = res.data;
-          
-            this.$refs.tree.setCheckedKeys(res.data);
-          }, 500);
-        } else if (res.code == 200 && res.data.length == 0) {
-          this.$message.error("暂无数据");
-          this.dialogVisible = true;
-        } else {
-          this.$message.error(res.msg);
+    eventDisposalRangeChange(event){
+      console.log(event);
+      if(event.length>0){
+        this.defaultProps = {
+          children: "children",
+        label: "name",
+        disabled:()=>{
+          return false
         }
-      });
+        }
+      }
     },
     //删除右侧已选项
     deleteDept(dept, index) {
@@ -306,8 +273,6 @@ export default {
     uthorizedAgency(row) {
       this.treekeys = []
       this.treedatatransfer = [];
-      this.selectId = "";
-      this.selectName = "";
       this.treeListFun({
         id: "",
         name: "",