Browse Source

1. 新增

MONSTER-ygh 10 months ago
parent
commit
edc96514fa

+ 5 - 8
src/views/tourism/financialManagement/detailsBox/productRefundManagementDetails.vue

@@ -94,7 +94,7 @@
             </el-form-item>
           </div>
           <div style="display: flex;" v-if="form.remark">
-            <el-form-item label="退款备注:">
+            <el-form-item label="审核备注:">
               <span style="display: block; min-width: 250px;">{{ form.remark }}</span>
             </el-form-item>
           </div>
@@ -123,7 +123,7 @@
                     type="textarea"
                     :rows="2"
                     placeholder="请输入审核备注"
-                    v-model="form.errReason">
+                    v-model="form.errReason1">
                   </el-input>
                 </div>
               </div>
@@ -256,7 +256,7 @@ export default {
     },
     /**  审核操作  */
     refundAudit(type){
-      if(type == 2 && !this.form.errReason) {
+      if(type == 2 && !this.form.errReason1) {
         this.errReasonText = "请输入驳回原因"
         return
       } 
@@ -264,11 +264,8 @@ export default {
       let params = {
         refundId: this.form.id,// 退款ID-列表ID
         status: type,
-      }
-      if(type==2) {
-        params['errReason'] = this.form.errReason
-      }else {
-        params['remark'] = this.form.errReason
+        errReason: this.form.errReason1,
+        remark: this.form.errReason1
       }
       addTableApi(
         this.configUrl.refundAudit,{

+ 3 - 3
src/views/tourism/financialManagement/productRefundManagement.vue

@@ -105,7 +105,7 @@
                 type="text"
                 icon="el-icon-document"
                 @click="handleDetails(scope.row)"
-                v-hasPermi="configPermi.refundAudit"
+                v-hasPermi="configPermi.details"
                 >详情</el-button>
                 <el-button
                 size="mini"
@@ -149,11 +149,11 @@
         title: "商品退款管理",// 通用标题
         configPermi: {
           add: [''], // 新增权限
-          details: [''], // 详情权限
+          details: ['popularCheck:contentManagement:details'], // 详情权限
           delect: ['popularCheck:contentManagement:delect'], // 删除权限
           edit: [], // 编辑权限
           upload: [],// 导入权限
-          export: [],// 导出权限
+          export: ['popularCheck:contentManagement:export'],// 导出权限
           refundAudit: ['popularCheck:contentManagement:refundAudit'], //审核
         },
         configUrl: {

+ 6 - 6
src/views/tourism/orderManagement/productOrders/formBox/releaseForm.vue

@@ -19,11 +19,11 @@
         element-loading-background="rgba(0, 0, 0, 0.8)"
         >
         <el-form :model="form" ref="form" :rules="rules" label-width="130px">
-          <el-form-item label="快递名称:" prop="logisticsNum">
-            <el-input style="width: 350px;" v-model="form.logisticsNum" placeholder="请输入快递名称" maxlength="50" show-word-limit />
+          <el-form-item label="快递名称:" prop="logisticsCompanyName">
+            <el-input style="width: 350px;" v-model="form.logisticsCompanyName" placeholder="请输入快递名称" maxlength="50" show-word-limit />
           </el-form-item>
-          <el-form-item label="快递单号:" prop="logisticsCompanyName">
-            <el-input style="width: 350px;" v-model="form.logisticsCompanyName" placeholder="请输入快递单号" maxlength="100" show-word-limit />
+          <el-form-item label="快递单号:" prop="logisticsNum">
+            <el-input style="width: 350px;" v-model="form.logisticsNum" placeholder="请输入快递单号" maxlength="100" show-word-limit />
           </el-form-item>
         </el-form>
       </div>
@@ -75,8 +75,8 @@ export default {
         id: undefined,
       },
       rules: {
-        logisticsNum: [{ required: true, message: "请输入物流单号", trigger: ["change","blur"] }],
-        logisticsCompanyName: [{ required: true, message: "请输入物流公司名称", trigger: ["change","blur"] }],
+        logisticsNum: [{ required: true, message: "请输入快递单号", trigger: ["change","blur"] }],
+        logisticsCompanyName: [{ required: true, message: "请输入快递名称", trigger: ["change","blur"] }],
       },
       scenicAreaProducts: [],// 景点产品关联
 

+ 53 - 32
src/views/tourism/scenicAreaManagement/navigationManagement/formBox/imageContainer.vue

@@ -1,15 +1,19 @@
 <template>
   <div id="container-box">
-    <div>
-      <div>
+    <div style="display: flex; align-items: center;">
+      <div style="margin-left: 10px;display: flex;align-items: center;">
+        <span>缩放: </span>
+        <div style="width: 200px;margin-left: 10px;">
+          <el-slider v-model="value1" @input="inputValue" :step="0.01" :min="0.5" :max="3"></el-slider>
+        </div>
+      </div>
+      <div style="margin-left: 20px;">
         <el-radio-group v-model="radio" @input="addEvent">
           <el-radio :label="1">拖动</el-radio>
-          <el-radio :label="2">放大和绘点</el-radio>
+          <el-radio :label="2">绘点</el-radio>
         </el-radio-group>
       </div>
-      <!-- <div style="width: 200px;">
-        <el-slider v-model="value1" @click="inputValue" :step="0.01" :max="1"></el-slider>
-      </div> -->
+      
     </div>
 
     <div id="container">
@@ -39,14 +43,16 @@ export default {
         scale: 1,
       },
       spanStyle: {
-        width: '10px',
-        height: '10px',
+        width: '48px',
+        height: '48px',
         borderRadius: '5px',
-        background: 'red',
+        backgroundImage: `url(${require("@/assets/biaoji.png")})`,
+        backgroundSize: "100% 100%",
         position: 'absolute',
         left: '-10px',
         top: '-10px',
-        transform: 'translate(-50%, -50%)'
+        transform: 'translate(-50%, -100%)',
+        display: 'none'
       },
       imageUrl: null,
 
@@ -54,9 +60,12 @@ export default {
       styleObject: {
         position: 'absolute',
         top: '0',
-        left: '0'
+        left: '0',
+        '--scale-value': 1
       },
-      value1: 0.9,
+      value1: 1,
+      
+      minScale: 0.2,// 最小缩放
 
       radio: null,
       //  拖动事件
@@ -82,26 +91,30 @@ export default {
         this.container.addEventListener("mousedown", this.startDrag) // 鼠标按下
         this.container.addEventListener("mousemove", this.doDrag) // 鼠标移动
         this.container.addEventListener("mouseup", this.stopDrag) // 鼠标松开
-        this.image.addEventListener("mouseup", this.stopDrag) // 鼠标松开
-        this.preview.addEventListener("mouseup", this.stopDrag) // 鼠标按下
+        // this.image.addEventListener("mouseup", this.stopDrag) // 鼠标松开
+        // this.preview.addEventListener("mouseup", this.stopDrag) // 鼠标按下
       } else {
         this.container.removeEventListener("mousedown", this.startDrag) // 鼠标按下
         this.container.removeEventListener("mousemove", this.doDrag) // 鼠标移动
         this.container.removeEventListener("mouseup", this.stopDrag) // 鼠标松开
-        this.image.removeEventListener("mouseup", this.stopDrag) // 鼠标松开
-        this.preview.removeEventListener("mouseup", this.stopDrag) // 鼠标按下
+        // this.image.removeEventListener("mouseup", this.stopDrag) // 鼠标松开
+        // this.preview.removeEventListener("mouseup", this.stopDrag) // 鼠标按下
       }
 
       if (this.radio == 2) {
-        this.preview.addEventListener("wheel", this.wheelFun) // 鼠标按下
+        // this.preview.addEventListener("wheel", this.wheelFun) // 鼠标按下
         this.preview.addEventListener("click", this.previewOnclick) // 鼠标移动
       } else {
-        this.preview.removeEventListener("wheel", this.wheelFun) // 鼠标按下
+        // this.preview.removeEventListener("wheel", this.wheelFun) // 鼠标按下
         this.preview.removeEventListener("click", this.previewOnclick) // 鼠标移动
       }
     },
     initData(url) {
       if(!url) return
+      this.value1 = 1
+      this.radio = null
+      this.styleObject.top = '0'
+      this.styleObject.left = '0'
       this.imageUrl = url
       let image = new Image();
       image.src = url;
@@ -126,30 +139,34 @@ export default {
       const top = needHeight * (this.container.clientHeight / this.image.naturalHeight);
       this.spanStyle.left = left + "px"
       this.spanStyle.top = top + "px"
+      this.spanStyle.display = 'inline-block'
       this.$emit("input", left+ ',' + top);
     },
     wheelFun(event) {
-      event.preventDefault();
+      // event.preventDefault();
 
-      const scaleDelta = event.deltaY * -1; // 可根据实际需求调整缩放速度
-      const offsetX = event.offsetX / preview.clientWidth;
-      const offsetY = event.offsetY / preview.clientHeight;
+      // const scaleDelta = event.deltaY * -1; // 可根据实际需求调整缩放速度
+      // const offsetX = event.offsetX / preview.clientWidth;
+      // const offsetY = event.offsetY / preview.clientHeight;
 
-      const scaleVal = scaleDelta > 0 ? 0.02 : -0.02;
-      this.factor.scale += scaleVal;
-      console.log("event.deltaY====", scaleDelta, this.factor.scale)
-      if (this.factor.scale > 0.5) {
-        this.factor.scale += scaleVal;
-      }
+      // const scaleVal = scaleDelta > 0 ? 0.02 : -0.02;
+      // //this.factor.scale += scaleVal;
+      // console.log("event.deltaY====", scaleDelta, this.factor.scale)
+      // if (this.factor.scale > this.minScale ) {
+      //   this.factor.scale += scaleVal;
+      // }
 
-      this.preview.style.transformOrigin = `${offsetX * 100}% ${offsetY * 100}%`;
-      this.preview.style.transform = `scale(${this.factor.scale})`;
+      // this.preview.style.transformOrigin = `${offsetX * 100}% ${offsetY * 100}%`;
+      // this.preview.style.transform = `scale(${this.factor.scale})`;
     },
     inputValue(value1) {
       console.log("value1====", value1)
       // this.preview.style.transform = `scale(${value1})`;
+      this.styleObject['--scale-value'] = value1
     },
+
     startDrag(e) {
+      e.preventDefault()
       this.dragging = true;
       this.offset.x = e.clientX - Number(this.styleObject.left.replace('px', ''));
       this.offset.y = e.clientY - Number(this.styleObject.top.replace('px', ''));
@@ -160,7 +177,7 @@ export default {
         this.$set(this.styleObject, 'top', e.clientY - this.offset.y + 'px')
       }
     },
-    stopDrag() {
+    stopDrag(e) {
       console.log("鼠标抬起事件=====")
       this.dragging = false;
     }
@@ -171,9 +188,11 @@ export default {
         let list =this.value.split(',')
         this.spanStyle.left = list[0] + "px"
         this.spanStyle.top = list[1] + "px"
+        this.spanStyle.display = 'inline-block'
       }else {
         this.spanStyle.left = "-100px"
         this.spanStyle.top = "-100px"
+        this.spanStyle.display = 'none'
       }
     }
   }
@@ -197,10 +216,11 @@ export default {
 #preview {
   width: 100%;
   height: 100%;
-  /* transform: scale(var(--scale-value)); */
+  transform: scale(var(--scale-value));
   /* background: linear-gradient(to right, red , blue); */
   /* cursor: move;
         user-select: none; */
+  user-select: none;
 }
 
 #image {
@@ -208,5 +228,6 @@ export default {
   height: 100%;
   transition: transform 0.2s;
   transform-origin: 0 0;
+  user-select: none;
 }
 </style>

+ 13 - 3
src/views/tourism/scenicAreaManagement/navigationManagement/formBox/scenicGuideForm.vue

@@ -8,6 +8,7 @@
     @close="cancel"
   >
     <div class="form-dialog-box"
+    :style="{ overflowY : !loading ? 'auto':'hidden'}"
     v-loading="loading"
     :element-loading-text="loadingText"
     element-loading-spinner="el-icon-loading"
@@ -90,12 +91,12 @@
           <el-input v-model="form.address" placeholder="请输入地址" />
         </el-form-item>
         <!-- 腾讯地图  -->
-        <div style="width: 100%;height: 300px;">
+        <div style="width: 100%;height: 300px;margin-bottom: 20px;">
           <qqMapBox ref="qqMapBox" @setDot="setDot" />
         </div>
         <!--  手绘图的位置  -->
         <el-form-item label="手绘图定位:" prop="margin">
-          <span>{{ form.margin ? form.margin : '' }}</span>
+          <span>{{ form.margin ? form.margin : '请在图上标记出点位' }}</span>
         </el-form-item>
         <div style="width: 100%;height: 600px;">
           <imageContainer v-model="form.margin" ref="imageContainer"></imageContainer>
@@ -182,6 +183,15 @@ export default {
           ...row,
           imgUrl: []
         })
+        let res1 = await getTableDeatilsByIdApi(this.configUrl.imageUrl)
+        if(res1.code == 200){
+          this.$refs.imageContainer.initData(res1.data.imgUrl)
+        }else {
+          this.$message.error('获取手绘图失败!!!');
+          this.formStatus = 2
+          this.loading = false
+          this.open = false;
+        }
         this.formStatus = 1
         this.$nextTick(()=>{
           if(this.form.longitude&&this.form.latitude){
@@ -440,7 +450,7 @@ export default {
   padding: 0 30px;
   min-height: 50vh;
   max-height: 65vh;
-  overflow-y: auto;
+  overflow-y: hidden;
   >div {
     width: 100%;
     min-height: 50vh;