ymy преди 1 година
родител
ревизия
e6d1716027

+ 8 - 0
src/api/base/adManage.js

@@ -15,4 +15,12 @@ export function upDownShelves(data) {
     url: '/plan/'+data,
     method: 'put'
   })
+}
+
+//明细
+export function detailHandle(id) {
+  return request({
+    url: '/plan/'+id,
+    method: 'get'
+  })
 }

+ 4 - 4
src/benyun/components/bySelect/bySelect.vue

@@ -37,10 +37,10 @@
   })
   const placeholder = computed({
     get() {
-      if(attrs.disabled){
+      if(attrs.value.disabled){
         return ''
       }
-      if(attrs.placeholder){
+      if(attrs.value.placeholder){
         return attrs.value.placeholder
       }
       return '请选择'
@@ -85,7 +85,7 @@
   const setValue = data => {
     if(data || data === 0){
       value.value = proxy.lodash.cloneDeep(data);
-      if(attrs.valueType == 'number'){
+      if(attrs.value.valueType == 'number'){
         value.value = String(value.value)
       }
     }else{
@@ -120,7 +120,7 @@
     //   }
     // }
     if(!value.value && attrs.value.defaultIndex >= 0 && options.value[attrs.value.defaultIndex]){
-      value.value = options.value[attrs.defaultIndex][itemValue];
+      value.value = options.value[attrs.value.defaultIndex][itemValue];
       onChange();
     }
   }

+ 11 - 1
src/benyun/components/byTable/byTable.vue

@@ -243,6 +243,16 @@
   //导出
   const onExport = name => {
     let ExcelHead = []
+    let data = proxy.lodash.cloneDeep(value.value);
+    data.forEach((item,index) => {
+      for(const key in item){
+        if(item[key] === 0){
+          item[key] = '0'
+        }
+      }
+      item.index =  String(index + 1)
+    });
+
     if(attrs.value.seq){
       ExcelHead.push({
         text: '序号',
@@ -271,7 +281,7 @@
     excelHelper.toExcel({
       // sheetName:'内容',
       fileName: name ? name + '.xlsx' : fileName() + '.xlsx',
-      data: value.value,
+      data: data,
       otherData: {ExcelHead}
     })
 

+ 8 - 2
src/benyun/components/moduleView/moduleView.vue

@@ -49,7 +49,6 @@
   const hideSearch = ref(false)
   const emit = defineEmits();
   const load = ref(false)
-  const timeNum = ref(0)
   const modalShow = ref(false)
   const config = ref({})
   const calculateCount = ref(0)
@@ -148,6 +147,13 @@
       })
     }
   }
+  const setFormValue = data => {
+    nextTick(() => {
+      if(that.$refs[formID.value]){
+        that.$refs[formID.value].setValue(data);
+      }
+    })
+  }
   //清除搜索条件
   const clearSearch = () => {
     that.$refs[searchID].value.clearValue();
@@ -279,7 +285,7 @@
     emit('resert')
   }
   defineExpose({
-    getConfig,setConfig,resertHandle,onRefresh,getQuery,toggleSearch,initFormTool,getFormValue,getFormValidate,setPage,getPage,setTableValue,clearCheckboxRow,getSelectData,closeModal,clearSearch,setTableConfig,initTable
+    getConfig,setConfig,resertHandle,onRefresh,getQuery,toggleSearch,initFormTool,getFormValue,getFormValidate,setPage,getPage,setTableValue,clearCheckboxRow,getSelectData,closeModal,clearSearch,setTableConfig,initTable,setFormValue
   })
 
   if(props.propConfig){

+ 9 - 7
src/views/base/adManage/components/equipList.vue

@@ -1,8 +1,8 @@
 <template>
-  <vxe-table show-overflow height="400" size="mini" :data="value">
+  <vxe-table height="400" size="mini" :data="value" :scroll-y="{enabled: false}">
     <vxe-column type="seq" width="60" title="序号"></vxe-column>
-    <vxe-column field="equipmentName" title="设备名称" width="120"></vxe-column>
-    <vxe-column field="addrCodeInfo" title="所属地区" width="140"></vxe-column>
+    <vxe-column field="equipmentName" title="设备名称" width="140"></vxe-column>
+    <vxe-column field="addrCodeInfo" title="所属地区"></vxe-column>
     <vxe-column field="addrInfo" title="详细地址"></vxe-column>
   </vxe-table>
 </template>
@@ -25,10 +25,12 @@
   defineExpose({
     setValue
   })
-
-  if(props.propValue){
-    setValue(props.propValue)
-  }
+  nextTick(() => {
+    if(props.propValue){
+      setValue(props.propValue)
+    }
+  })
+  
 </script>
 
 <style lang="scss" scoped>

+ 25 - 4
src/views/base/adManage/index.vue

@@ -9,7 +9,7 @@
   const { proxy } = getCurrentInstance();
   import goodsImg from "./components/goodsImg.vue";
   import equipList from "./components/equipList.vue";
-  import {list,upDownShelves} from '@/api/base/adManage'
+  import {list,upDownShelves,detailHandle} from '@/api/base/adManage'
 
   const config = ref({
     attr:{
@@ -42,7 +42,7 @@
           span:8,
           labelWidth:16,
           // label:'时间',
-          prop:'created',
+          prop:'time',
           component:'by-date',
           compConfig:{
             attr:{
@@ -74,6 +74,7 @@
       },
       {
         title:'广告计划',
+        isDetail:true,
         field:'planName',
       },
       {
@@ -109,6 +110,10 @@
         //   }
         // }
       },
+      {
+        title:'时间',
+        field:'planCreateTime'
+      },
       {
         title:'操作',
         action:true,
@@ -170,7 +175,7 @@
           }],
           [{
             label:'商品图片',
-            prop:'goodsImg',
+            prop:'goodsLogo',
             showComp:true,
             component:shallowRef(goodsImg)
           }],
@@ -202,10 +207,21 @@
     })
   }
 
-  const detail = () => {
+  const detail = row => {
     config.value.modal.tool.tools.save = true;
     delete config.value.modal.tool.tools.add;
     proxy.$refs.view.initFormTool();
+    getDetailData(row.planId)
+  }
+  //详细
+  const getDetailData = id => {
+    load.value = true
+    detailHandle(id).then(res => {
+      load.value = false;
+      proxy.$refs.view.setFormValue(res.data)
+    }).catch(() => {
+      load.value = false;
+    })
   }
   const pagination = () => {
     if(isSearch.value){
@@ -240,6 +256,11 @@
     load.value = true;
     data.pageNum = data.pageNo;
     delete data.pageNo;
+    if(data.time && data.time.length > 0) {
+      data.startTime = data.time[0]
+      data.endTime = data.time[1]
+    }
+    delete data.time;
     list(data).then(res => {
       load.value = false;
       proxy.$refs.view.setTableValue(res.data.list);

+ 4 - 1
src/views/base/adPlan/components/auSuccess.vue

@@ -5,6 +5,7 @@
 
 <script setup>
   import {list} from '@/api/base/adPlan'
+  import rangTime from './rangTime.vue';
   import { computed,getCurrentInstance,ref,markRaw,shallowRef } from "vue";
   const { proxy } = getCurrentInstance();
   const load = ref(false)
@@ -75,7 +76,9 @@
       },
       {
         title:'推送时间段',
-        field:'time'
+        field:'time',
+        width:150,
+        component:shallowRef(rangTime)
       },
       {
         title:'状态',

+ 5 - 2
src/views/base/adPlan/components/refuseView.vue

@@ -4,7 +4,8 @@
 </template>
 
 <script setup>
-  import {list} from '@/api/base/adPlan'
+  import {list} from '@/api/base/adPlan';
+  import rangTime from './rangTime.vue';
   import { computed,getCurrentInstance,ref,markRaw,shallowRef } from "vue";
   const { proxy } = getCurrentInstance();
   const load = ref(false)
@@ -75,7 +76,9 @@
       },
       {
         title:'推送时间段',
-        field:'time'
+        field:'time',
+        width:150,
+        component:shallowRef(rangTime)
       },
       {
         title:'状态',

+ 1 - 0
src/views/base/adPutIn/index.vue

@@ -56,6 +56,7 @@
     },
     tool:{
       tools:{
+        export:true,
         search:true,
         refresh:true
       }

+ 20 - 20
src/views/base/equipment/index.vue

@@ -55,26 +55,26 @@
             }
           }
         }
-        ,{
-          span:6,
-          labelWidth:16,
-          // label:'在线状态',
-          prop:'onState',
-          component:'by-select',
-          compConfig:{
-            attr:{
-              clearable:true,
-              placeholder:'在线状态',
-              data:[{
-                label:'在线',
-                value:1
-              },{
-                label:'失联',
-                value:0
-              }]
-            }
-          }
-        }
+        // ,{
+        //   span:6,
+        //   labelWidth:16,
+        //   // label:'在线状态',
+        //   prop:'onState',
+        //   component:'by-select',
+        //   compConfig:{
+        //     attr:{
+        //       clearable:true,
+        //       placeholder:'在线状态',
+        //       data:[{
+        //         label:'在线',
+        //         value:1
+        //       },{
+        //         label:'失联',
+        //         value:0
+        //       }]
+        //     }
+        //   }
+        // }
         ]
       ]
     },

+ 1 - 0
src/views/base/merchantManage/index.vue

@@ -43,6 +43,7 @@
     },
     tool:{
       tools:{
+        export:true,
         add:true,
         // delete:true,
         search:true,

+ 2 - 1
src/views/base/orderManage/index.vue

@@ -26,7 +26,7 @@ const config = ref({
         component:'by-input',
         compConfig:{ 
           attr:{
-            placeholder:'请输入关键字',
+            placeholder:'请输入商品名称',
             prefixIcon:'vxe-icon-search'
           }
         }
@@ -50,6 +50,7 @@ const config = ref({
   },
   tool:{
     tools:{
+      export:true,
       // add:true,
       search:true,
       refresh:true

+ 26 - 1
src/views/base/productManage/index.vue

@@ -27,15 +27,31 @@
           component:'by-input',
           compConfig:{ 
             attr:{
-              placeholder:'请输入关键字',
+              placeholder:'请输入来源供应商、商品名称',
               prefixIcon:'vxe-icon-search'
             }
           }
+        },
+        {
+          span:8,
+          labelWidth:16,
+          // label:'时间',
+          prop:'time',
+          component:'by-date',
+          compConfig:{
+            attr:{
+              startPlaceholder:'开始时间',
+              endPlaceholder:'结束时间',
+              // format:'yyyy-MM-dd',
+              type:'datetimerange'
+            }
+          }
         }]
       ]
     },
     tool:{
       tools:{
+        export:true,
         // add:true,
         search:true,
         refresh:true
@@ -72,6 +88,10 @@
       {
         title:'商品价格',
         field:'goodsPrice'
+      },
+      {
+        title:'时间',
+        field:'createTime'
       }]
     }
   })
@@ -112,6 +132,11 @@
     load.value = true;
     data.pageNum = data.pageNo;
     delete data.pageNo;
+    if(data.time && data.time.length > 0) {
+      data.startTime = data.time[0]
+      data.endTime = data.time[1]
+    }
+    delete data.time;
     list(data).then(res => {
       load.value = false;
       proxy.$refs.view.setTableValue(res.data.list);

+ 1 - 0
src/views/base/shopManage/components/appletView.vue

@@ -37,6 +37,7 @@
     },
     tool:{
       tools:{
+        export:true,
         add:true,
         search:true,
         refresh:true

+ 10 - 14
src/views/base/shopManage/components/mapRang.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="rang">
     <div class="mapRang" :id="_id" :style="{height:attrs.height?attrs.height+'px':'300px'}"></div>
-    <el-button type="primary" class="clear" @click="clearValue">清除</el-button>
+    <el-button v-if="lnglat && lnglat.length > 0" type="primary" class="clear" @click="clearValue">清除</el-button>
   </div>
 </template>
 
@@ -69,12 +69,6 @@
     handler.value = new T.PolygonTool(map.value);
     handler.value.open();
     handler.value.on("draw",getLngLat);
-    // setTimeout(()=>{
-    //   if(lnglat.value.length == 0) {
-    //     const cp = new T.CoordinatePickup(map.value, {callback: getLngLat})
-    //     cp.addEvent();
-    //   }
-    // },1000)
   }
   //初始化地图
   const initMap = callb => {
@@ -94,14 +88,16 @@
   const setValue = v => {
     nextTick(() => {
       if(v) {
-        lnglat.value = JSON.parse(v)
-        if(!map.value){
-          initMap(() => {
+        try{
+          lnglat.value = JSON.parse(v)
+          if(!map.value){
+            initMap(() => {
+              initPoint()
+            })
+          }else{
             initPoint()
-          })
-        }else{
-          initPoint()
-        }
+          }
+        }catch(e) {}
       }
     })
   }

+ 1 - 0
src/views/base/shopManage/components/offlineShop.vue

@@ -40,6 +40,7 @@
     },
     tool:{
       tools:{
+        export:true,
         add:true,
         delete:true,
         search:true,

+ 8 - 2
src/views/base/userManage/index.vue

@@ -32,7 +32,7 @@
           component:'by-input',
           compConfig:{ 
             attr:{
-              placeholder:'请输入用户名称、负责人、联系方式',
+              placeholder:'请输入用户名称、手机号',
               prefixIcon:'vxe-icon-search'
             }
           }
@@ -41,7 +41,7 @@
           span:8,
           labelWidth:16,
           // label:'时间',
-          prop:'created',
+          prop:'time',
           component:'by-date',
           compConfig:{
             attr:{
@@ -56,6 +56,7 @@
     },
     tool:{
       tools:{
+        export:true,
         search:true,
         refresh:true
       }
@@ -138,6 +139,11 @@
     load.value = true;
     data.pageNum = data.pageNo;
     delete data.pageNo;
+    if(data.time && data.time.length > 0) {
+      data.startTime = data.time[0]
+      data.endTime = data.time[1]
+    }
+    delete data.time;
     list(data).then(res => {
       load.value = false;
       proxy.$refs.view.setTableValue(res.data.list);

+ 5 - 0
src/views/components/scanModal.vue

@@ -117,6 +117,11 @@
     load.value = true;
     data.pageNum = data.pageNo;
     delete data.pageNo;
+    if(data.time && data.time.length > 0) {
+      data.startTime = data.time[0]
+      data.endTime = data.time[1]
+    }
+    delete data.time;
     scanLog(data).then(res => {
       load.value = false;
       proxy.$refs.view.setTableValue(res.data.list);