liuqiao 2 жил өмнө
parent
commit
cb79539f1a

+ 16 - 7
src/utils/directive.js

@@ -1,6 +1,6 @@
 // 引入拖拽js
 import { startDrag } from './drag'
-import { startclick } from './dleft'  
+import { startlftclick } from './dleft'  
 /**
  * 为el-dialog弹框增加拖拽功能
  * @param {*} el 指定dom
@@ -10,15 +10,24 @@ import { startclick } from './dleft'
 const draggable = (el, binding) => {
     // 绑定拖拽事件 [绑定拖拽触发元素为弹框头部、拖拽移动元素为整个弹框]
     startDrag(el.querySelector('.el-dialog__header'), el.querySelector('.el-dialog'), binding.value);
+  
 };
-
-  const draggleft = (el, binding) => {
-    // 绑定拖拽事件 [绑定拖拽触发元素为弹框头部、拖拽移动元素为整个弹框]
+const draggleft = {
+  bind(el, binding){
    el.querySelector('.el-dialog').style.left =binding.value;
-   console.log(binding.value);
-};
+  },
+  inserted(el, binding){
+
+  },
+  update(el, binding){
+
+  },
+ 
+}
+
 const directives = {
-    draggable,draggleft
+    draggable,draggleft ,
+ 
 };
 // 这种写法可以批量注册指令
 export default {

+ 3 - 17
src/utils/dleft.js

@@ -3,22 +3,8 @@
  * @param  {elementObjct} bar 鼠标点击控制拖拽的元素
  * @param {elementObjct}  target 移动的元素
  * @param {function}  callback 移动后的回调
+ * @param {elementObjct}  leftnum 移动后的回调
  */
- export function  startclick(bar, target, callback) {
-    // console.log(bar)
-//     bar.getleft=function(){
-
-//     params = {
-//         top: target.offsetTop,
-//         left: target.offsetLeft,
-//         currentX: e.clientX,
-//         currentY: e.clientY,
-//         flag: true,
-//         cWidth: document.body.clientWidth,
-//         cHeight: document.body.clientHeight,
-//         tWidth: target.offsetWidth,
-//         tHeight: target.offsetHeight
-//       };
-//     bar.style.left= params.currentX+'px';
-// }
+ export function  startlftclick(target,leftnum) {
+      target.style.left =leftnum;
   }

+ 26 - 5
src/views/index/FEMLab/fem.vue

@@ -1358,7 +1358,7 @@
       </div>
     </el-dialog>
     <!-- 结果显示 -->
-     <!--轮廓显示  Contour Displsy   :style="styX"     :left="styX"-->
+     <!--轮廓显示  Contour Displsy   :style="styX"     :left="styX"  custom-class='dialoglocation dialog_color '-->
        <el-dialog  :visible.sync="dialog.contour_visiable" 
       v-draggable
       v-draggleft=[styX.left]
@@ -1366,7 +1366,7 @@
       :modal='false'
       :close-on-click-modal="false"
       @close='activecleer()'
-      custom-class='dialoglocation dialog_color '
+      custom-class='dialoglocation dialog_color'
       width="385px"
        >
             <div slot="title" class=dialog_header>
@@ -2069,9 +2069,23 @@ import { number } from 'echarts/lib/export';
 //  const draggleft = (el, binding) => {
 //     let dialogleft=el.querySelector('.el-dialog');
 // };
-
+//  * @param {*} el
+//  * @param {*} binding 
+//   const draggleft = (el, binding) => {
+//       console.log(el);
+//    // 绑定拖拽事件 [绑定拖拽触发元素为弹框头部、拖拽移动元素为整个弹框]
+//    el.querySelector('.el-dialog').style.left =binding.value;
+//    console.log(binding.value);
+// };
+// const directives = {
+//  draggleft 
+// };
 export default {
- 
+ install(Vue) {
+      Object.keys(directives).forEach((key) => {
+      Vue.directive(key, directives[key]);
+    });
+  },
     components:{geometry,meshindex,result,toolindex,filesload,vueUploader,Addtabs},
     props:{
     femnum:String,
@@ -3005,8 +3019,12 @@ let b=(Number(this.colorobj.B)/255).toFixed(4);
   clickgeometry(e,index,key){
 var e=e||window.Event
 this.styX.left=e.clientX+'px';
+// this.$nextTick(()=>{
+// document.querySelector('.el-dialog').style.left =this.styX.left;
+// })
+
+//console.log(document.querySelector('.el-dialog').style.left );
     this.active=key;
-    console.log(this.styX.left)
   switch(key){
  case 'one-0':
        this.dialog.fem_upload=true;
@@ -3577,6 +3595,9 @@ line-height: 30px;
 <style lang="scss" scoped>
 @import '@/styles/variables.scss';
 @import '@/styles/mixin.scss';
+  .el-dialog__wrapper{
+          top: 20vh;
+  }
 .btnaniu{
   text-align: right;
 }

+ 7 - 4
src/views/index/HCFDLab/index.vue

@@ -264,7 +264,7 @@
     custom-class='dialoglocation dialog_color'
      width="385px"
       v-draggable
-      v-draggleft=[styX.left]
+      v-draggleft='[styX.left]'
     >
       <div slot="title" class=dialog_header>
      <el-image class="imge" :src="q4" fit="cover" />
@@ -1852,7 +1852,7 @@
     custom-class='dialoglocation dialog_color'
      width="385px"
      v-draggable
-      v-draggleft=[styX.left]
+    v-draggleft=[styX.left]
        >
             <div slot="title" class=dialog_header>
      <el-image class="imge" :src="p3" fit="cover" />
@@ -3398,7 +3398,6 @@ export default {
           ],
         },
       ],
- 
       dialog: {
         //弹出框 控制
         new_visiable: false,
@@ -4206,13 +4205,17 @@ let b=(Number(this.colorobj.B)/255).toFixed(4);
           })
 },
 // 
+
  //模块选择
   clickgeometry(e,index,key){
   
 var e=e||window.Event;
 this.styX.left=e.clientX+'px';
     this.active=key;
-    console.log(key);
+   // document.querySelector('.el-dialog').style.left='265px';
+    //  console.log(typeof this.styX.left);
+    //  console.log(11111)
+   // console.log(document.querySelector('.el-dialog').style.left)
   switch(key){
     case 'info1-0':
       this.name="New"