| | |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <!-- <meta name="viewport" content="width=device-width,initial-scale=1.0"> --> |
| | | <link rel="icon" href="<%= BASE_URL %>logo.png"> |
| | | <title>XBoot前后端分离一站式快速开发平台springboot 2.x iview 前后端分离 vue 集成activiti工作流 iview admin 动态数据权限 权限按钮显示 spring security |
| | | elasticsearch 分布式限流_同步锁</title> |
| | | <!--<link rel="icon" href="<%= BASE_URL %>logo.png">--> |
| | | <title>唐山烟草配送管理后台</title> |
| | | <meta name="keywords" |
| | | content="前后端分离,xboot,iview,iview admin,前后端分离工作流,vue集成activiti工作流,elasticsearch,security,动态数据权限,springboot,分布式限流_同步锁"> |
| | | content=""> |
| | | <meta name="description" |
| | | content="xboot前后端分离开发平台springboot 2.x iview 前后端分离 vue 集成activiti工作流 iview admin 动态数据权限 权限按钮显示 spring security elasticsearch 分布式限流_同步锁"> |
| | | content=""> |
| | | <script src="<%= BASE_URL %>config.js" type="text/javascript"></script> |
| | | |
| | | <!-- 部署CDN优化 --> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vuex@3.6.2/dist/vuex.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue-i18n@8.24.4/dist/vue-i18n.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script> |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/view-design@4.6.1/dist/styles/iview.css"> |
| | | <script src="https://cdn.jsdelivr.net/npm/view-design@4.6.1/dist/iview.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue-lazyload@1.3.3/vue-lazyload.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/apexcharts@3.27.1/dist/apexcharts.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue-apexcharts@1.6.1/dist/vue-apexcharts.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/xlsx@0.17.0/dist/xlsx.full.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/dplayer@1.26.0/dist/DPlayer.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/print-js@1.6.0/dist/print.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/html2canvas@1.0.0-rc.7/dist/html2canvas.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vue-json-pretty@1.8.0/lib/vue-json-pretty.min.js"></script> |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-json-pretty@1.8.0/lib/styles.css"> |
| | | <script src="https://cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/wangeditor@4.7.5/dist/wangEditor.min.js"></script> |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/quill@1.3.7/dist/quill.snow.css"> |
| | | <script src="https://cdn.jsdelivr.net/npm/quill@1.3.7/dist/quill.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/sockjs-client@1.5.1/dist/sockjs.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/stompjs@2.3.3/lib/stomp.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/sortablejs@1.8.4/Sortable.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/vuedraggable@2.24.3/dist/vuedraggable.umd.min.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/viewerjs@1.9.2/dist/viewer.min.js"></script> |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/viewerjs@1.9.2/dist/viewer.min.css"> |
| | | |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.css"> |
| | | <script src="https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.min.js"></script> |
| | | <script src="//cdn.jsdelivr.net/npm/leancloud-storage@4.10.1/dist/av-min.js"></script> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vuex@3.6.2/dist/vuex.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue-i18n@8.24.4/dist/vue-i18n.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue-router@3.5.1/dist/vue-router.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/axios@0.21.1/dist/axios.min.js"></script>--> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/view-design@4.6.1/dist/styles/iview.css">--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/view-design@4.6.1/dist/iview.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue-lazyload@1.3.3/vue-lazyload.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/apexcharts@3.27.1/dist/apexcharts.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue-apexcharts@1.6.1/dist/vue-apexcharts.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/xlsx@0.17.0/dist/xlsx.full.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/dplayer@1.26.0/dist/DPlayer.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/print-js@1.6.0/dist/print.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/html2canvas@1.0.0-rc.7/dist/html2canvas.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vue-json-pretty@1.8.0/lib/vue-json-pretty.min.js"></script>--> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vue-json-pretty@1.8.0/lib/styles.css">--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/js-cookie@2.2.1/src/js.cookie.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/wangeditor@4.7.5/dist/wangEditor.min.js"></script>--> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/quill@1.3.7/dist/quill.snow.css">--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/quill@1.3.7/dist/quill.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/sockjs-client@1.5.1/dist/sockjs.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/stompjs@2.3.3/lib/stomp.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/sortablejs@1.8.4/Sortable.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/vuedraggable@2.24.3/dist/vuedraggable.umd.min.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/viewerjs@1.9.2/dist/viewer.min.js"></script>--> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/viewerjs@1.9.2/dist/viewer.min.css">--> |
| | | <script type="text/javascript" src="https://api.map.baidu.com/api?type=webgl&v=1.0&ak=H1RLDFX3oib78k9N9ocaB1Ac"></script> |
| | | <link href="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.css" rel="stylesheet"> |
| | | <script type="text/javascript" src="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.js"></script> |
| | | <!----> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.css">--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/gitalk@1.7.2/dist/gitalk.min.js"></script>--> |
| | | <!--<script src="//cdn.jsdelivr.net/npm/leancloud-storage@4.10.1/dist/av-min.js"></script>--> |
| | | |
| | | <!-- vaptcha --> |
| | | <script src="https://v.vaptcha.com/v3.js"></script> |
| | | <!-- monaco编辑器 --> |
| | | <link rel="stylesheet" data-name="vs/editor/editor.main" |
| | | href="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.css"> |
| | | <script>self.require = { paths: { 'vs': 'https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs' }, 'vs/nls': { availableLanguages: { '*': 'zh-cn' } } };</script> |
| | | <script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/loader.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.nls.zh-cn.js"></script> |
| | | <script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.js"></script> |
| | | <!-- mapbox --> |
| | | <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mapbox-gl@2.3.0/dist/mapbox-gl.css"> |
| | | <link rel="stylesheet" |
| | | href="https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-geocoder@4.7.1/dist/mapbox-gl-geocoder.css"> |
| | | <!--<!– vaptcha –>--> |
| | | <!--<script src="https://v.vaptcha.com/v3.js"></script>--> |
| | | <!--<!– monaco编辑器 –>--> |
| | | <!--<link rel="stylesheet" data-name="vs/editor/editor.main"--> |
| | | <!--href="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.css">--> |
| | | <!--<script>self.require = { paths: { 'vs': 'https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs' }, 'vs/nls': { availableLanguages: { '*': 'zh-cn' } } };</script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/loader.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.nls.zh-cn.js"></script>--> |
| | | <!--<script src="https://cdn.jsdelivr.net/npm/monaco-editor@0.24.0/min/vs/editor/editor.main.js"></script>--> |
| | | <!--<!– mapbox –>--> |
| | | <!--<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/mapbox-gl@2.3.0/dist/mapbox-gl.css">--> |
| | | <!--<link rel="stylesheet"--> |
| | | <!--href="https://cdn.jsdelivr.net/npm/@mapbox/mapbox-gl-geocoder@4.7.1/dist/mapbox-gl-geocoder.css">--> |
| | | |
| | | <script> |
| | | (function () { |
| | |
| | | export const getDrivingRecord = (params) => { |
| | | return getRequest('/drivingRecord/getByPage', params) |
| | | } |
| | | |
| | | // 查询片区所有 |
| | | export const getAllArea = (params) => { |
| | | return getRequest('/area/getAll', params) |
| | | } |
| | | |
| | | export const getAllByAreaId = (params) => { |
| | | return getRequest('/areaMap/getAllById', params) |
| | | } |
| | | |
| | | export const addAreaMap = (params) => { |
| | | return postRequest('/areaMap/insertOrUpdate', params) |
| | | } |
| | | |
| | | export const delAreaMap = (params) => { |
| | | return postRequest('/areaMap/delById2', params) |
| | | } |
| | | |
| | | //查询违章记录 |
| | | export const findPageOrderTask2 = (params) => { |
| | | return getRequest('/orderTask2/getByPage', params) |
| | | } |
| | | |
| | | |
New file |
| | |
| | | // 统一请求路径前缀在libs/axios.js中修改 |
| | | import { getRequest, getNoAuthRequest, postNoAuthRequest, postRequest } from '@/libs/axios'; |
| | | |
| | | //table1 |
| | | export const table1 = (params) => { |
| | | return getRequest('/pcStatistic3/table1', params) |
| | | } |
| | | |
| | | export const table2 = (params) => { |
| | | return getRequest('/pcStatistic3/table2', params) |
| | | } |
| | | |
| | | export const table3 = (params) => { |
| | | return getRequest('/pcStatistic3/table3', params) |
| | | } |
| | | |
| | | export const table4 = (params) => { |
| | | return getRequest('/pcStatistic3/table4', params) |
| | | } |
| | | |
| | | |
| | |
| | | return Promise.resolve(err); |
| | | }); |
| | | |
| | | |
| | | // http response 拦截器 |
| | | axios.interceptors.response.use(response => { |
| | | const data = response.data; |
| | |
| | | url: `${baseApi}${url}`, |
| | | params: params, |
| | | headers: { |
| | | 'accessToken': accessToken |
| | | 'accessToken': accessToken, |
| | | } |
| | | }); |
| | | }; |
| | |
| | | }; |
| | | |
| | | util.title = function (title) { |
| | | title = title || 'XBoot一站式前后端分离快速开发平台'; |
| | | title = title; |
| | | window.document.title = title; |
| | | }; |
| | | |
| | |
| | | let meta = {}; |
| | | // 给页面添加权限、标题、第三方网页链接 |
| | | meta.permTypes = menu.permTypes ? menu.permTypes : null; |
| | | meta.title = menu.title ? menu.title + " - XBoot一站式前后端分离快速开发平台 By: Exrick" : null; |
| | | meta.title = menu.title ? menu.title: null; |
| | | meta.url = menu.url ? menu.url : null; |
| | | menu.meta = meta; |
| | | |
| | |
| | | // (runtime-only or standalone) has been set in webpack.base.conf with an alias. |
| | | import Vue from 'vue' |
| | | import ViewUI from 'view-design' |
| | | // import 'view-design/dist/styles/iview.css' |
| | | import 'view-design/dist/styles/iview.css' |
| | | import App from './App' |
| | | import { router } from './router/index' |
| | | import store from './store' |
| | |
| | | |
| | | Vue.use(VueRouter); |
| | | |
| | | // 路由配置 |
| | | //路由配置 |
| | | const RouterConfig = { |
| | | mode: 'history', |
| | | //mode: 'history', |
| | | routes: routers |
| | | }; |
| | | |
| | | export const router = new VueRouter(RouterConfig); |
| | | //export const router = new VueRouter(); |
| | | |
| | | router.beforeEach((to, from, next) => { |
| | | ViewUI.LoadingBar.start(); |
| | | util.title(to.meta.title); |
| | | var name = to.name; |
| | | // 白名单 |
| | | var whiteList = ['login', 'regist', 'regist-result', 'relate', 'reset', 'authorize']; |
| | | //var whiteList = ['login', 'regist', 'regist-result', 'relate', 'reset', 'authorize', 'table1']; |
| | | var whiteList = ['login','table1','table2','table3','table4','table5','table6','table7']; |
| | | var isInWhiteList = util.oneOf(name, whiteList); |
| | | if (!Cookies.get('userInfo') && !isInWhiteList) { |
| | | // 判断是否已经登录且页面不在白名单 |
| | |
| | | path: '/login', |
| | | name: 'login', |
| | | meta: { |
| | | title: '登录 - XBoot前后端分离开发平台 ' |
| | | title: '登录' |
| | | }, |
| | | component: () => import('@/views/login.vue') |
| | | }; |
| | |
| | | path: '/regist', |
| | | name: 'regist', |
| | | meta: { |
| | | title: '注册 - XBoot前后端分离开发平台' |
| | | title: '注册' |
| | | }, |
| | | component: () => import('@/views/regist.vue') |
| | | }; |
| | |
| | | path: '/regist-result', |
| | | name: 'regist-result', |
| | | meta: { |
| | | title: '注册结果 - XBoot前后端分离开发平台' |
| | | title: '注册结果' |
| | | }, |
| | | component: () => import('@/views/regist-result.vue') |
| | | }; |
| | |
| | | path: '/reset', |
| | | name: 'reset', |
| | | meta: { |
| | | title: '重置密码 - XBoot前后端分离开发平台' |
| | | title: '重置密码' |
| | | }, |
| | | component: () => import('@/views/reset.vue') |
| | | }; |
| | |
| | | path: '/relate', |
| | | name: 'relate', |
| | | meta: { |
| | | title: '绑定账号 - XBoot前后端分离开发平台 ' |
| | | title: '绑定账号 ' |
| | | }, |
| | | component: () => import('@/views/relate.vue') |
| | | }; |
| | |
| | | path: '/authorize', |
| | | name: 'authorize', |
| | | meta: { |
| | | title: 'XBoot统一认证平台 - XBoot前后端分离开发平台 ' |
| | | title: ' ' |
| | | }, |
| | | component: () => import('@/views/authorize.vue') |
| | | }; |
| | |
| | | component: () => import('@/views/sys/user-manage/userManage.vue') |
| | | }; |
| | | |
| | | export const table1 = {path: '/table1', meta: {title: 'table1'}, name: 'table1', component: () => import('@/views/open/table1.vue')}; |
| | | export const table2 = {path: '/table2', meta: {title: 'table2'}, name: 'table2', component: () => import('@/views/open/table2.vue')}; |
| | | export const table3 = {path: '/table3', meta: {title: 'table3'}, name: 'table3', component: () => import('@/views/open/table3.vue')}; |
| | | export const table4 = {path: '/table4', meta: {title: 'table4'}, name: 'table4', component: () => import('@/views/open/table4.vue')}; |
| | | export const table5 = {path: '/table5', meta: {title: 'table5'}, name: 'table5', component: () => import('@/views/open/table5.vue')}; |
| | | export const table6 = {path: '/table6', meta: {title: 'table6'}, name: 'table6', component: () => import('@/views/open/table6.vue')}; |
| | | export const table7 = {path: '/table7', meta: {title: 'table7'}, name: 'table7', component: () => import('@/views/open/table7.vue')}; |
| | | |
| | | // 作为Main组件的子页面展示但是不在左侧菜单显示的路由写在otherRouter里 |
| | | export const otherRouter = { |
| | | path: '/', |
| | |
| | | ...appRouter, |
| | | page500, |
| | | page403, |
| | | home2 |
| | | home2, |
| | | table1, |
| | | table2, |
| | | table3, |
| | | table4, |
| | | table5, |
| | | table6, |
| | | table7, |
| | | ]; |
| | |
| | | :menu-list="menuList" |
| | | > |
| | | <div slot="top" class="logo-content" v-if="showLogo || fixNav"> |
| | | <img |
| | | v-show=" |
| | | !shrink && (menuTheme != 'light' || mainTheme == 'darkMode') |
| | | " |
| | | src="@/assets/logo-white.png" |
| | | /> |
| | | <img |
| | | v-show="!shrink && menuTheme == 'light' && mainTheme != 'darkMode'" |
| | | src="@/assets/logo-black.png" |
| | | /> |
| | | <img v-show="shrink" src="@/assets/logo-min.png" key="min-logo" /> |
| | | <!--<img--> |
| | | <!--v-show="--> |
| | | <!--!shrink && (menuTheme != 'light' || mainTheme == 'darkMode')--> |
| | | <!--"--> |
| | | <!--src="@/assets/yancao.png"--> |
| | | <!--/>--> |
| | | <!--<img--> |
| | | <!--v-show="!shrink && menuTheme == 'light' && mainTheme != 'darkMode'"--> |
| | | <!--src="@/assets/yancao.png"--> |
| | | <!--/>--> |
| | | <img src="@/assets/yancao.png"/> |
| | | </div> |
| | | </shrinkable-menu> |
| | | </div> |
| | |
| | | <img src="@/assets/logo-white.png" key="max-logo" v-else /> |
| | | </div> |
| | | <!-- 收缩图标 --> |
| | | <div |
| | | class="header-navicon-content header-action" |
| | | @click="toggleClick" |
| | | v-if="showFold" |
| | | > |
| | | <Icon |
| | | custom="iconfont icon-menu-unfold" |
| | | size="20" |
| | | v-show="this.shrink" |
| | | /> |
| | | <Icon |
| | | custom="iconfont icon-menu-fold" |
| | | size="20" |
| | | v-show="!this.shrink" |
| | | /> |
| | | </div> |
| | | <!--<div--> |
| | | <!--class="header-navicon-content header-action"--> |
| | | <!--@click="toggleClick"--> |
| | | <!--v-if="showFold"--> |
| | | <!-->--> |
| | | <!--<Icon--> |
| | | <!--custom="iconfont icon-menu-unfold"--> |
| | | <!--size="20"--> |
| | | <!--v-show="this.shrink"--> |
| | | <!--/>--> |
| | | <!--<Icon--> |
| | | <!--custom="iconfont icon-menu-fold"--> |
| | | <!--size="20"--> |
| | | <!--v-show="!this.shrink"--> |
| | | <!--/>--> |
| | | <!--</div>--> |
| | | <div class="header-middle-content"> |
| | | <!-- 顶部菜单 --> |
| | | <div v-if="navType == 1"> |
| | |
| | | <template> |
| | | <div> |
| | | <div v-show="currNav == 'xboot'" class="home"> |
| | | <a :href="this.token" target="_blank">唐山烟草大屏地址</a> |
| | | <!--<Row :gutter="10">--> |
| | | <!--<!– 左上侧 用户信息及github链接 –>--> |
| | | <!--<Col :xs="24" :sm="24" :lg="24" :xl="8">--> |
| | |
| | | userType: "无", |
| | | time: "", |
| | | price: "...", |
| | | token:"" |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.init(); |
| | | // 通知 |
| | | let noticeFlag = "noticeShowed"; |
| | | let notice = Cookies.get(noticeFlag); |
| | | if (notice != noticeFlag) { |
| | | this.showNotice(); |
| | | Cookies.set(noticeFlag, noticeFlag); |
| | | } |
| | | // 价格 |
| | | AV.init({ |
| | | appId: "6Bstbxl4NDU69I77D3nzf61h-gzGzoHsz", |
| | | appKey: "gaFTnYlTul3M8qdiGlbfvoJK", |
| | | serverURL: "https://6bstbxl4.lc-cn-n1-shared.com", |
| | | }); |
| | | const query = new AV.Query("Price"); |
| | | query.equalTo("objectId", "6080216c2a5bb23590bcaedb"); |
| | | query.first().then((e) => { |
| | | this.price = e.attributes.price; |
| | | }); |
| | | // Gitalk |
| | | var gitalk = new Gitalk({ |
| | | clientID: "a128de2dd7383614273a", |
| | | clientSecret: "a77691ecb662a8303a6c686ae651ae035868da6e", |
| | | repo: "xboot-comments", |
| | | owner: "Exrick", |
| | | admin: ["Exrick"], |
| | | distractionFreeMode: false, // 遮罩效果 |
| | | }); |
| | | gitalk.render("comments"); |
| | | // 宣传视频 |
| | | let videoFlag = "videoShowed"; |
| | | let xbootVideo = Cookies.get(videoFlag); |
| | | if (xbootVideo != videoFlag) { |
| | | this.showVideo = true; |
| | | Cookies.set(videoFlag, videoFlag); |
| | | } |
| | | //this.token = 'http://111.63.178.115:9093?token='+new Date().getTime(); |
| | | this.token = 'http://localhost:8080?token='+new Date().getTime(); |
| | | //this.token = 'http://localhost:8080' |
| | | // this.init(); |
| | | // // 通知 |
| | | // let noticeFlag = "noticeShowed"; |
| | | // let notice = Cookies.get(noticeFlag); |
| | | // if (notice != noticeFlag) { |
| | | // this.showNotice(); |
| | | // Cookies.set(noticeFlag, noticeFlag); |
| | | // } |
| | | // // 价格 |
| | | // AV.init({ |
| | | // appId: "6Bstbxl4NDU69I77D3nzf61h-gzGzoHsz", |
| | | // appKey: "gaFTnYlTul3M8qdiGlbfvoJK", |
| | | // serverURL: "https://6bstbxl4.lc-cn-n1-shared.com", |
| | | // }); |
| | | // const query = new AV.Query("Price"); |
| | | // query.equalTo("objectId", "6080216c2a5bb23590bcaedb"); |
| | | // query.first().then((e) => { |
| | | // this.price = e.attributes.price; |
| | | // }); |
| | | // // Gitalk |
| | | // var gitalk = new Gitalk({ |
| | | // clientID: "a128de2dd7383614273a", |
| | | // clientSecret: "a77691ecb662a8303a6c686ae651ae035868da6e", |
| | | // repo: "xboot-comments", |
| | | // owner: "Exrick", |
| | | // admin: ["Exrick"], |
| | | // distractionFreeMode: false, // 遮罩效果 |
| | | // }); |
| | | // gitalk.render("comments"); |
| | | // // 宣传视频 |
| | | // let videoFlag = "videoShowed"; |
| | | // let xbootVideo = Cookies.get(videoFlag); |
| | | // if (xbootVideo != videoFlag) { |
| | | // this.showVideo = true; |
| | | // Cookies.set(videoFlag, videoFlag); |
| | | // } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | prefix="ios-contact" |
| | | size="large" |
| | | clearable |
| | | placeholder="账号/邮箱/手机号" |
| | | placeholder="账号" |
| | | autocomplete="off" |
| | | /> |
| | | </FormItem> |
| | |
| | | sending: false, |
| | | errorCode: "", |
| | | form: { |
| | | username: "admin", |
| | | password: "123456", |
| | | username: "", |
| | | password: "", |
| | | code: "", |
| | | }, |
| | | }; |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | sortable="custom" |
| | | @on-sort-change="changeSort" |
| | | @on-selection-change="changeSelect" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table1,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | key: "", |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "车牌号", |
| | | key: "carNo", |
| | | width: 230, |
| | | }, |
| | | { |
| | | title: "出发时间", |
| | | key: "createTime", |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table1(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Date-picker clearable @on-change="time1" format="yyyy-MM-dd" type="date" placement="bottom-end" placeholder="请选择配送日期" style="width: 240px;margin-bottom: 10px"> |
| | | </Date-picker> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table2,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | sendDate: "", |
| | | status:0//未配送的 |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "商户", |
| | | key: "customerName", |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "条数", |
| | | key: "num", |
| | | width: 90, |
| | | }, |
| | | { |
| | | title: "配送日期", |
| | | key: "sendDate", |
| | | width: 150, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | getNowDay(){ |
| | | let nowDate = new Date() |
| | | let date = { |
| | | year: nowDate.getFullYear(), |
| | | month: nowDate.getMonth() + 1, |
| | | date: nowDate.getDate() |
| | | } |
| | | if (parseInt(date.date) < 10) { |
| | | date.date = '0' + date.date |
| | | } |
| | | this.searchForm.sendDate = date.year + '-' + date.month + '-' + date.date |
| | | }, |
| | | init() { |
| | | this.getNowDay(); |
| | | this.getDataList(); |
| | | }, |
| | | time1(e){ |
| | | this.searchForm.sendDate = e; |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table2(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Date-picker clearable @on-change="time1" format="yyyy-MM-dd" type="date" placement="bottom-end" placeholder="请选择配送日期" style="width: 240px;margin-bottom: 10px"> |
| | | </Date-picker> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table2,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | sendDate: "", |
| | | status:1//已送达 |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "商户", |
| | | key: "customerName", |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "条数", |
| | | key: "num", |
| | | width: 90, |
| | | }, |
| | | { |
| | | title: "配送日期", |
| | | key: "sendDate", |
| | | width: 150, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | getNowDay(){ |
| | | let nowDate = new Date() |
| | | let date = { |
| | | year: nowDate.getFullYear(), |
| | | month: nowDate.getMonth() + 1, |
| | | date: nowDate.getDate() |
| | | } |
| | | if (parseInt(date.date) < 10) { |
| | | date.date = '0' + date.date |
| | | } |
| | | this.searchForm.sendDate = date.year + '-' + date.month + '-' + date.date |
| | | }, |
| | | init() { |
| | | this.getNowDay(); |
| | | this.getDataList(); |
| | | }, |
| | | time1(e){ |
| | | this.searchForm.sendDate = e; |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table2(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Date-picker clearable @on-change="time1" format="yyyy-MM-dd" type="date" placement="bottom-end" placeholder="请选择配送日期" style="width: 240px;margin-bottom: 10px"> |
| | | </Date-picker> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table2,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | sendDate: "", |
| | | status:2//异常配送 |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "商户", |
| | | key: "customerName", |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "条数", |
| | | key: "num", |
| | | width: 90, |
| | | }, |
| | | { |
| | | title: "配送日期", |
| | | key: "sendDate", |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: "异常原因", |
| | | key: "remarks", |
| | | width: 150, |
| | | tooltip:true, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | getNowDay(){ |
| | | let nowDate = new Date() |
| | | let date = { |
| | | year: nowDate.getFullYear(), |
| | | month: nowDate.getMonth() + 1, |
| | | date: nowDate.getDate() |
| | | } |
| | | if (parseInt(date.date) < 10) { |
| | | date.date = '0' + date.date |
| | | } |
| | | this.searchForm.sendDate = date.year + '-' + date.month + '-' + date.date |
| | | }, |
| | | init() { |
| | | this.getNowDay(); |
| | | this.getDataList(); |
| | | }, |
| | | time1(e){ |
| | | this.searchForm.sendDate = e; |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table2(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | sortable="custom" |
| | | @on-sort-change="changeSort" |
| | | @on-selection-change="changeSelect" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | |
| | | <!-- 编辑 --> |
| | | <Modal v-model="visible" :mask-closable="false" :width="500"> |
| | | <img :src="imgUrl"> |
| | | </Modal> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table3,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | imgUrl:"", |
| | | visible:false, |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | type: 5, |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "车牌号", |
| | | key: "carNo", |
| | | width: 150, |
| | | }, |
| | | { |
| | | title: "报警时间", |
| | | key: "createTime", |
| | | }, |
| | | { |
| | | title: "操作", |
| | | key: "action", |
| | | align: "center", |
| | | width: 150, |
| | | render: (h, params) => { |
| | | return h("div", [ |
| | | h( |
| | | "a", |
| | | { |
| | | on: { |
| | | click: () => { |
| | | this.showImg(params.row); |
| | | }, |
| | | }, |
| | | }, |
| | | "查看图片" |
| | | ),h("Divider", { |
| | | props: { |
| | | type: "vertical", |
| | | }, |
| | | }), |
| | | ]); |
| | | }, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table3(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | showImg(row){ |
| | | this.visible = true; |
| | | this.imgUrl = row.alarmImg; |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | sortable="custom" |
| | | @on-sort-change="changeSort" |
| | | @on-selection-change="changeSelect" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table4,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | key: "", |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "商户名称", |
| | | key: "name", |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "法人", |
| | | key: "linker", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "创建时间", |
| | | key: "createTime", |
| | | width: 180, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table4(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
New file |
| | |
| | | |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Date-picker clearable @on-change="time1" format="yyyy-MM-dd" type="date" placement="bottom-end" placeholder="请选择配送日期" style="width: 240px;margin-bottom: 10px"> |
| | | </Date-picker> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import {table2,} from "@/api/open2"; |
| | | export default { |
| | | name: "table1", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | loading: true, |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "createTime", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | sendDate: "", |
| | | }, |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "商户", |
| | | key: "customerName", |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "条数", |
| | | key: "num", |
| | | width: 90, |
| | | }, |
| | | { |
| | | title: "配送日期", |
| | | key: "sendDate", |
| | | width: 150, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | }; |
| | | }, |
| | | methods: { |
| | | getNowDay(){ |
| | | let nowDate = new Date() |
| | | let date = { |
| | | year: nowDate.getFullYear(), |
| | | month: nowDate.getMonth() + 1, |
| | | date: nowDate.getDate() |
| | | } |
| | | if (parseInt(date.date) < 10) { |
| | | date.date = '0' + date.date |
| | | } |
| | | this.searchForm.sendDate = date.year + '-' + date.month + '-' + date.date |
| | | }, |
| | | init() { |
| | | this.getNowDay(); |
| | | this.getDataList(); |
| | | }, |
| | | time1(e){ |
| | | this.searchForm.sendDate = e; |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | table2(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | key: "value", |
| | | minWidth: 160, |
| | | sortable: true, |
| | | tooltip:true, |
| | | }, |
| | | { |
| | | title: "备注", |
| | |
| | | <FormItem label="片区描述" prop="description"> |
| | | <Input v-model="areaForm.description" /> |
| | | </FormItem> |
| | | <FormItem label="配送员" prop="userId"> |
| | | <Select v-model="areaForm.userId" filterable> |
| | | <Option :value="0" :key="0" selected>请选择</Option> |
| | | <Option v-for="item in userList" :value="item.id">{{ item.nickname }}</Option> |
| | | <!--<FormItem label="配送员" prop="userId">--> |
| | | <!--<Select v-model="areaForm.userId" filterable>--> |
| | | <!--<Option :value="0" :key="0" selected>请选择</Option>--> |
| | | <!--<Option v-for="item in userList" :value="item.id">{{ item.nickname }}</Option>--> |
| | | <!--</Select>--> |
| | | <!--</FormItem>--> |
| | | <FormItem label="配送车辆" prop="carId"> |
| | | <Select v-model="areaForm.carId" filterable> |
| | | <Option value="" key="" selected>请选择</Option> |
| | | <Option v-for="item in carList" :value="item.id">{{ item.carNo }}</Option> |
| | | </Select> |
| | | </FormItem> |
| | | </Form> |
| | |
| | | <FormItem label="商户名称" prop="name"> |
| | | <Input v-model="customerForm.name" /> |
| | | </FormItem> |
| | | <FormItem label="商户编号" prop="code"> |
| | | <Input v-model="customerForm.code" /> |
| | | </FormItem> |
| | | <!--<FormItem label="商户编号" prop="code">--> |
| | | <!--<Input v-model="customerForm.code" />--> |
| | | <!--</FormItem>--> |
| | | |
| | | <Row :gutter="0"> |
| | | <Col span="12"> |
| | |
| | | </Col> |
| | | </Row> |
| | | <Row :gutter="0"> |
| | | <Col span="12"> |
| | | <Form-item label="上次配送日期" prop="lastTime"> |
| | | <Row> |
| | | <Col> |
| | | <Date-picker @on-change="change1" type="date" value="yyyy-MM-dd" placeholder="选择日期" v-model="customerForm.lastTime"></Date-picker> |
| | | </Col> |
| | | </Row> |
| | | </Form-item> |
| | | </Col> |
| | | <!--<Col span="12">--> |
| | | <!--<Form-item label="上次配送日期" prop="lastTime">--> |
| | | <!--<Row>--> |
| | | <!--<Col>--> |
| | | <!--<Date-picker @on-change="change1" type="date" value="yyyy-MM-dd" placeholder="选择日期" v-model="customerForm.lastTime"></Date-picker>--> |
| | | <!--</Col>--> |
| | | <!--</Row>--> |
| | | <!--</Form-item>--> |
| | | <!--</Col>--> |
| | | <Col span="12"> |
| | | <FormItem label="联系方式" prop="phone"> |
| | | <Input v-model="customerForm.phone"/> |
| | |
| | | modalTitle: "", |
| | | modalTitle2: "", |
| | | modalTitle3: "", |
| | | carList:[], |
| | | searchForm: { |
| | | // 搜索框初始化对象 |
| | | pageNumber: 1, // 当前页数 |
| | |
| | | areaForm: { |
| | | }, |
| | | customerForm: { |
| | | kstatus : 1 |
| | | }, |
| | | areaSectionForm: { |
| | | }, |
| | |
| | | } |
| | | }, |
| | | { |
| | | title: "配送人", |
| | | key: "nickName", |
| | | title: "配送车辆", |
| | | key: "carNo", |
| | | width: 200, |
| | | }, |
| | | { |
| | |
| | | key: "phone", |
| | | width: 135, |
| | | }, |
| | | { |
| | | title: "状态", |
| | | key: "status", |
| | | width:100, |
| | | render: (h, params) => { |
| | | let re = ""; |
| | | if (params.row.status == 0) { |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "success", |
| | | text: "正常", |
| | | }, |
| | | }), |
| | | ]); |
| | | } else if (params.row.status == 1) { |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "error", |
| | | text: "不活跃", |
| | | }, |
| | | }), |
| | | ]); |
| | | } |
| | | }, |
| | | }, |
| | | // { |
| | | // title: "状态", |
| | | // key: "status", |
| | | // width:100, |
| | | // render: (h, params) => { |
| | | // let re = ""; |
| | | // if (params.row.status == 0) { |
| | | // return h("div", [ |
| | | // h("Badge", { |
| | | // props: { |
| | | // status: "success", |
| | | // text: "正常", |
| | | // }, |
| | | // }), |
| | | // ]); |
| | | // } else if (params.row.status == 1) { |
| | | // return h("div", [ |
| | | // h("Badge", { |
| | | // props: { |
| | | // status: "error", |
| | | // text: "不活跃", |
| | | // }, |
| | | // }), |
| | | // ]); |
| | | // } |
| | | // }, |
| | | // }, |
| | | { |
| | | title: "联系人", |
| | | key: "linker", |
| | |
| | | } |
| | | }); |
| | | }, |
| | | getAllCar(){ |
| | | getAll().then((res)=>{ |
| | | if (res.success){ |
| | | this.carList=res.result; |
| | | } |
| | | }); |
| | | }, |
| | | getAreaSectionList(areaId) { |
| | | this.loading = true; |
| | | this.searchForm.areaId=areaId; |
| | |
| | | }, |
| | | submitCustomer() { |
| | | this.$refs.areaSectionForm.validate((valid) => { |
| | | this.customerForm.lastTime = this.lastTime; |
| | | //this.customerForm.lastTime = this.lastTime; |
| | | this.customerForm.areaSectionId = this.areaSectionId; |
| | | this.customerForm.areaId = this.areaId; |
| | | this.customerForm.kstatus = 1; |
| | | |
| | | if (valid) { |
| | | this.$delete(this.customerForm,'receives') |
| | | if (this.modalType == 0) { |
| | | // 添加 |
| | | this.submitLoading = true; |
| | | this.customerForm.kstatus = 0; |
| | | addCustomer(this.customerForm).then((res) => { |
| | | this.submitLoading = false; |
| | | if (res.success) { |
| | |
| | | console.log(this.areaSectionId); |
| | | }, |
| | | addCar() { |
| | | this.getAllUser(); |
| | | //this.getAllUser(); |
| | | this.getAllCar(); |
| | | this.modalType = 0; |
| | | this.modalTitle = "添加"; |
| | | this.$refs.areaForm.resetFields(); |
| | |
| | | this.addCustomerVisible = true; |
| | | }, |
| | | edit(v) { |
| | | this.getAllUser(); |
| | | //this.getAllUser(); |
| | | this.getAllCar() |
| | | this.modalType = 1; |
| | | this.modalTitle = "编辑"; |
| | | this.$refs.areaForm.resetFields(); |
| | |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "司机", |
| | | key: "nickName", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "配送员", |
| | | key: "followNickName", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "品牌", |
| | | key: "brand", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "型号", |
| | | key: "model", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "排量", |
| | | key: "displacement", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "加油卡号", |
| | | key: "addOilCode", |
| | | minWidth: 120, |
| | | // sortable: true, |
| | | render: (h, params) => { |
| | | return h("div",params.row.addOilCode=="undefined" ? '':params.row.addOilCode); |
| | | } |
| | | }, |
| | | { |
| | | title: "编号", |
| | | key: "code", |
| | | minWidth: 120, |
| | | tooltip:true, |
| | | // render: (h, params) => { |
| | | // return h("div",params.row.code=="undefined" ? '':params.row.code); |
| | | // } |
| | | }, |
| | | { |
| | | title: "购置年份", |
| | | key: "buyYear", |
| | | minWidth: 120, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "登记日期", |
| | | key: "createTime", |
| | | minWidth: 180, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "状态", |
| | | key: "status", |
| | | width: 100, |
| | |
| | | title: "移除原因", |
| | | key: "removeReason", |
| | | width: 170, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "司机", |
| | | key: "nickName", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "配送员", |
| | | key: "followNickName", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "品牌", |
| | | key: "brand", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "型号", |
| | | key: "model", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "排量", |
| | | key: "displacement", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "加油卡号", |
| | | key: "addOilCode", |
| | | minWidth: 120, |
| | | sortable: true, |
| | | render: (h, params) => { |
| | | return h("div",params.row.addOilCode=="undefined" ? '':params.row.addOilCode); |
| | | } |
| | | }, |
| | | { |
| | | title: "编号", |
| | | key: "code", |
| | | minWidth: 120, |
| | | tooltip:true, |
| | | render: (h, params) => { |
| | | return h("div",params.row.code=="undefined" ? '':params.row.code); |
| | | } |
| | | }, |
| | | { |
| | | title: "购置年份", |
| | | key: "buyYear", |
| | | minWidth: 120, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "登记日期", |
| | | key: "createTime", |
| | | minWidth: 180, |
| | | sortable: true, |
| | | }, |
| | | { |
| | |
| | | return h("div",params.row.endMileage-params.row.beginMileage); |
| | | } |
| | | }, |
| | | { |
| | | title: "送货户数", |
| | | key: "oilWear", |
| | | width: 130, |
| | | }, |
| | | { |
| | | title: "送货量(件)", |
| | | key: "oilWear", |
| | | width: 130, |
| | | render: (h, params) => { |
| | | return h("div",0); |
| | | } |
| | | }, |
| | | // { |
| | | // title: "送货户数", |
| | | // // key: "oilWear", |
| | | // width: 130, |
| | | // }, |
| | | // { |
| | | // title: "送货量(件)", |
| | | // // key: "oilWear", |
| | | // width: 130, |
| | | // render: (h, params) => { |
| | | // return h("div",0); |
| | | // } |
| | | // }, |
| | | { |
| | | title: "月油耗(升)", |
| | | key: "oilWear", |
New file |
| | |
| | | <template> |
| | | <div> |
| | | <div style="float: left;width: 15%;overflow:auto"> |
| | | <Table |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | height="600" |
| | | highlight-row |
| | | @on-current-change="handleRowChange" |
| | | ></Table> |
| | | </div> |
| | | <div style="float: right;width: 85%;"> |
| | | <!--<div id="container"></div>--> |
| | | <!--<ul class="drawing-panel" style="z-index: 99;">--> |
| | | <!--<li class = "btn" @click="openEdit">开启编辑</li>--> |
| | | <!--<li class = "btn" @click="closeEdit">保存编辑</li>--> |
| | | <!--</ul>--> |
| | | |
| | | <ul class = "drawing-panel"> |
| | | <li class="bmap-btn bmap-polygon" id="polygon" @click="draw"></li> |
| | | <!--<li class = "btn" @click="clearAll">清除重画</li>--> |
| | | </ul> |
| | | <div id = "container"></div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getAllArea, |
| | | addAreaMap, |
| | | getAllByAreaId, |
| | | delAreaMap, |
| | | } from "@/api/open"; |
| | | export default { |
| | | name: "", |
| | | data() { |
| | | return { |
| | | polygon: {}, |
| | | columns: [ |
| | | { |
| | | title: "片区名称", |
| | | key: "name", |
| | | }, |
| | | ], |
| | | data:[], |
| | | map:{}, |
| | | areaId:"", |
| | | drawingManager:{}, |
| | | overlays:[] |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.getDataList(); |
| | | |
| | | this.map = new BMapGL.Map('container',{enableMapClick:false}); |
| | | var point = new BMapGL.Point(118.187167,39.636514); |
| | | this.map.centerAndZoom(point, 12); |
| | | this.map.enableScrollWheelZoom(true); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // this.polygon = new BMapGL.Polygon([ |
| | | // new BMapGL.Point(118.127822,39.697015), |
| | | // new BMapGL.Point(118.253728,39.697459), |
| | | // new BMapGL.Point(118.256028,39.601458), |
| | | // new BMapGL.Point(118.109424,39.59612), |
| | | // new BMapGL.Point(118.100801,39.650809), |
| | | // ], { |
| | | // strokeColor: 'blue', |
| | | // strokeWeight: 2, |
| | | // strokeOpacity: 0.5 |
| | | // }); |
| | | // this.map.addOverlay(this.polygon); |
| | | }, |
| | | methods:{ |
| | | clearAll() { |
| | | for(var i = 0; i < this.overlays.length; i++){ |
| | | this.map.removeOverlay(this.overlays[i]); |
| | | } |
| | | this.overlays.length = 0 |
| | | }, |
| | | draw(e) { |
| | | this.clearAll(); |
| | | |
| | | var styleOptions = { |
| | | strokeColor: '#5E87DB', // 边线颜色 |
| | | fillColor: '#5E87DB', // 填充颜色。当参数为空时,圆形没有填充颜色 |
| | | strokeWeight: 2, // 边线宽度,以像素为单位 |
| | | strokeOpacity: 1, // 边线透明度,取值范围0-1 |
| | | fillOpacity: 0.2 // 填充透明度,取值范围0-1 |
| | | }; |
| | | |
| | | // 实例化鼠标绘制工具 |
| | | this.drawingManager = new BMapGLLib.DrawingManager(this.map, { |
| | | // isOpen: true, // 是否开启绘制模式 |
| | | enableCalculate: false, // 绘制是否进行测距测面 |
| | | enableSorption: true, // 是否开启边界吸附功能 |
| | | sorptiondistance: 20, // 边界吸附距离 |
| | | polygonOptions: styleOptions, // 多边形的样式 |
| | | }); |
| | | |
| | | console.log(e) |
| | | var arr = document.getElementsByClassName('bmap-btn'); |
| | | for(var i = 0; i<arr.length; i++) { |
| | | arr[i].style.backgroundPositionY = '0'; |
| | | } |
| | | //e.style.backgroundPositionY = '-52px'; |
| | | var drawingType = BMAP_DRAWING_POLYGON; |
| | | // 进行绘制 |
| | | if (this.drawingManager._isOpen && this.drawingManager.getDrawingMode() === drawingType) { |
| | | this.drawingManager.close(); |
| | | } else { |
| | | this.drawingManager.setDrawingMode(drawingType); |
| | | this.drawingManager.open(); |
| | | } |
| | | |
| | | this.drawingManager.addEventListener('overlaycomplete', this.overlaycomplete); |
| | | }, |
| | | overlaycomplete(e){ |
| | | this.overlays.push(e.overlay); |
| | | var path = e.overlay.getPath(); |
| | | delAreaMap({id:this.areaId}).then((res) => { |
| | | if(res.success){ |
| | | for(var i=0;i<path.length;i++){ |
| | | addAreaMap({areaId:this.areaId,lng:path[i].lng,lat:path[i].lat,seq:i}).then((res) => { |
| | | this.findMap(); |
| | | }); |
| | | //this.sleep(150) |
| | | } |
| | | // addAreaMap({areaId:this.areaId,lng:path[0].lng,lat:path[0].lat}).then((res) => { |
| | | // |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | | sleep(delay) { |
| | | var start = (new Date()).getTime(); |
| | | while((new Date()).getTime() - start < delay) { |
| | | continue; |
| | | } |
| | | }, |
| | | openEdit() { |
| | | this.polygon.enableEditing(); |
| | | }, |
| | | closeEdit() { |
| | | this.polygon.disableEditing(); |
| | | var obj = this.polygon.points; |
| | | console.log(this.polygon) |
| | | |
| | | delAreaMap({id:this.areaId}).then((res) => { |
| | | if(res.success){ |
| | | for(var i=0;i<obj.length;i++){ |
| | | addAreaMap({areaId:this.areaId,lng:this.getLng(obj[i].lng,obj[i].lat),lat:this.getLat(obj[i].lng,obj[i].lat)}).then((res) => { |
| | | this.findMap(); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | getDataList() { |
| | | getAllArea({}).then((res) => { |
| | | if (res.success) { |
| | | this.data = res.result; |
| | | } |
| | | }); |
| | | }, |
| | | handleRowChange(currentRow, oldCurrentRow){ |
| | | this.areaId = currentRow.id |
| | | this.findMap(); |
| | | }, |
| | | findMap(){ |
| | | getAllByAreaId({id:this.areaId}).then((res) => { |
| | | if (res.success) { |
| | | this.map.clearOverlays(); |
| | | if(res.result.length>2){ |
| | | var ps = [] |
| | | for(var i=0;i<res.result.length;i++){ |
| | | ps.push(new BMapGL.Point(res.result[i].lng,res.result[i].lat)) |
| | | } |
| | | this.polygon = new BMapGL.Polygon(ps, { |
| | | strokeColor: 'blue', |
| | | strokeWeight: 2, |
| | | strokeOpacity: 0.5 |
| | | }); |
| | | this.map.addOverlay(this.polygon); |
| | | }else{ |
| | | // this.polygon = new BMapGL.Polygon([ |
| | | // new BMapGL.Point(118.127822,39.697015), |
| | | // new BMapGL.Point(118.253728,39.697459), |
| | | // new BMapGL.Point(118.256028,39.601458), |
| | | // new BMapGL.Point(118.109424,39.59612), |
| | | // new BMapGL.Point(118.100801,39.650809), |
| | | // ], { |
| | | // strokeColor: 'blue', |
| | | // strokeWeight: 2, |
| | | // strokeOpacity: 0.5 |
| | | // }); |
| | | // this.map.addOverlay(this.polygon); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | body, html, #container {width: 100%; height: 600px; overflow: hidden; margin: 0; font-family: "微软雅黑";} |
| | | ul li {list-style: none;} |
| | | .drawing-panel { |
| | | z-index: 999; |
| | | position: fixed; |
| | | bottom: 3.5rem; |
| | | margin-left: 2.5rem; |
| | | padding-left: 0; |
| | | border-radius: .25rem; |
| | | height: 47px; |
| | | box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5); |
| | | } |
| | | .bmap-btn { |
| | | border-right: 1px solid #d2d2d2; |
| | | float: left; |
| | | width: 64px; |
| | | height: 100%; |
| | | background-image: url(//api.map.baidu.com/library/DrawingManager/1.4/src/bg_drawing_tool.png); |
| | | cursor: pointer; |
| | | } |
| | | .drawing-panel .bmap-marker { |
| | | background-position: -65px 0; |
| | | } |
| | | .drawing-panel .bmap-polyline { |
| | | background-position: -195px 0; |
| | | } |
| | | .drawing-panel .bmap-rectangle { |
| | | background-position: -325px 0; |
| | | } |
| | | .drawing-panel .bmap-polygon { |
| | | background-position: -260px 0; |
| | | } |
| | | .drawing-panel .bmap-circle { |
| | | background-position: -130px 0; |
| | | } |
| | | /*body,*/ |
| | | /*html,*/ |
| | | /*#container {*/ |
| | | /*overflow: hidden;*/ |
| | | /*width: 100%;*/ |
| | | /*height: 600px;*/ |
| | | /*margin: 0;*/ |
| | | /*font-family: "微软雅黑";*/ |
| | | /*}*/ |
| | | /*ul li {*/ |
| | | /*list-style: none;*/ |
| | | /*}*/ |
| | | /*.drawing-panel {*/ |
| | | /*z-index: 999;*/ |
| | | /*position: fixed;*/ |
| | | /*bottom: 3.5rem;*/ |
| | | /*margin-left: 3rem;*/ |
| | | /*padding: 1rem 1rem;*/ |
| | | /*border-radius: .25rem;*/ |
| | | /*background-color: #fff;*/ |
| | | /*box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);*/ |
| | | /*}*/ |
| | | /*.btn {*/ |
| | | /*width: 150px;*/ |
| | | /*height: 30px;*/ |
| | | /*float: left;*/ |
| | | /*background-color: #fff;*/ |
| | | /*color: rgba(27, 142, 236, 1);*/ |
| | | /*font-size: 14px;*/ |
| | | /*border:1px solid rgba(27, 142, 236, 1);*/ |
| | | /*border-radius: 5px;*/ |
| | | /*margin: 0 5px;*/ |
| | | /*text-align: center;*/ |
| | | /*line-height: 30px;*/ |
| | | /*}*/ |
| | | /*.btn:hover {*/ |
| | | /*background-color: rgba(27, 142, 236, 0.8);*/ |
| | | /*color: #fff;*/ |
| | | /*}*/ |
| | | </style> |
New file |
| | |
| | | .permModal { |
| | | .ivu-modal-body { |
| | | max-height: 560px; |
| | | overflow: auto; |
| | | } |
| | | } |
| | | |
| | | .depModal { |
| | | .ivu-modal-body { |
| | | max-height: 500px; |
| | | overflow: auto; |
| | | } |
| | | } |
New file |
| | |
| | | <style lang="less"> |
| | | @import "@/styles/table-common.less"; |
| | | @import "@/styles/drawer-common.less"; |
| | | @import "src/views/your/order-manage/orderEvaluateManage.less"; |
| | | </style> |
| | | <template> |
| | | <div class="search"> |
| | | <Card> |
| | | <Row class="operation"> |
| | | <Input v-model="searchForm.userName" suffix="ios-search" @on-change="getDataList" placeholder="输入配送人" clearable style="width: 250px"/> |
| | | <Input v-model="searchForm.customerName" suffix="ios-search" @on-change="getDataList" placeholder="输入商户名称" clearable style="width: 250px;margin-left: 20px"/> |
| | | <Date-picker clearable @on-change="time1" format="yyyy-MM-dd" type="date" placement="bottom-end" placeholder="请选择配送日期" style="width: 240px;margin-left: 20px"> |
| | | </Date-picker> |
| | | <Select v-model="searchForm.status" style="width:200px;margin-left: 20px" clearable> |
| | | <Option v-for="item in cityList" :value="item.value" :key="item">{{ item.label }}</Option> |
| | | </Select> |
| | | <Button @click="init" icon="md-refresh">查询</Button> |
| | | </Row> |
| | | <Table |
| | | :loading="loading" |
| | | border |
| | | :columns="columns" |
| | | :data="data" |
| | | ref="table" |
| | | ></Table> |
| | | <Row type="flex" justify="end" class="page"> |
| | | <Page |
| | | :current="searchForm.pageNumber" |
| | | :total="total" |
| | | :page-size="searchForm.pageSize" |
| | | @on-change="changePage" |
| | | @on-page-size-change="changePageSize" |
| | | :page-size-opts="[10, 20, 50]" |
| | | size="small" |
| | | show-total |
| | | show-elevator |
| | | show-sizer |
| | | ></Page> |
| | | </Row> |
| | | </Card> |
| | | |
| | | <!-- 编辑 --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | findPageOrderTask2, |
| | | } from "@/api/open"; |
| | | export default { |
| | | name: "car-manage", |
| | | data() { |
| | | return { |
| | | maxHeight: 510, |
| | | openTip: true, |
| | | openLevel: "0", |
| | | loading: true, |
| | | modalTitle: "", |
| | | modalVisible:false, |
| | | searchForm: { |
| | | pageNumber: 1, // 当前页数 |
| | | pageSize: 10, // 页面大小 |
| | | sort: "sendDate", // 默认排序字段 |
| | | order: "desc", // 默认排序方式 |
| | | }, |
| | | submitLoading: false, |
| | | selectList: [], |
| | | columns: [ |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | { |
| | | title: "送货人", |
| | | key: "userName", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "商户名称", |
| | | key: "customerName", |
| | | ellipsis:true, |
| | | }, |
| | | { |
| | | title: "送货条数", |
| | | key: "num", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "送货日期", |
| | | key: "sendDate", |
| | | width: 160, |
| | | }, |
| | | { |
| | | title: "评价星级", |
| | | key: "level", |
| | | width: 100, |
| | | }, |
| | | { |
| | | title: "订单状态", |
| | | key: "status", |
| | | width: 120, |
| | | render: (h, params) => { |
| | | let re = ""; |
| | | if (params.row.status == 0) { |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "success", |
| | | text: "待配送", |
| | | }, |
| | | }), |
| | | ]); |
| | | } else if (params.row.status == 1) { |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "success", |
| | | text: "已送达", |
| | | }, |
| | | }), |
| | | ]); |
| | | }else{ |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "error", |
| | | text: "异常牵收", |
| | | }, |
| | | }), |
| | | ]); |
| | | } |
| | | }, |
| | | }, |
| | | { |
| | | title: "异常签收原因", |
| | | key: "remarks", |
| | | width: 150, |
| | | ellipsis:true, |
| | | }, |
| | | { |
| | | title: "签收方式", |
| | | key: "status", |
| | | width: 150, |
| | | render: (h, params) => { |
| | | if (params.row.status == 1) { |
| | | return h("div", [ |
| | | h("Badge", { |
| | | props: { |
| | | status: "success", |
| | | text: "指纹", |
| | | }, |
| | | }), |
| | | ]); |
| | | } |
| | | }, |
| | | }, |
| | | ], |
| | | data: [], |
| | | total: 0, |
| | | cityList: [ |
| | | { |
| | | value: 0, |
| | | label: '待配送' |
| | | }, |
| | | { |
| | | value: 1, |
| | | label: '已送达' |
| | | }, |
| | | { |
| | | value: 2, |
| | | label: '异常签收' |
| | | } |
| | | ], |
| | | }; |
| | | }, |
| | | methods: { |
| | | init() { |
| | | this.getDataList(); |
| | | }, |
| | | time1(e){ |
| | | this.searchForm.sendDate = e; |
| | | this.getDataList(); |
| | | }, |
| | | changePage(v) { |
| | | this.searchForm.pageNumber = v; |
| | | this.getDataList(); |
| | | this.clearSelectAll(); |
| | | }, |
| | | changePageSize(v) { |
| | | this.searchForm.pageSize = v; |
| | | this.getDataList(); |
| | | }, |
| | | getDataList() { |
| | | this.loading = true; |
| | | findPageOrderTask2(this.searchForm).then((res) => { |
| | | this.loading = false; |
| | | if (res.success) { |
| | | this.data = res.result.records; |
| | | this.total = res.result.total; |
| | | } |
| | | }); |
| | | }, |
| | | edit(v) { |
| | | this.modalType = 1; |
| | | this.modalTitle = "电子签收单"; |
| | | this.$refs.carForm.resetFields(); |
| | | // 转换null为"" |
| | | for (let attr in v) { |
| | | if (v[attr] == null) { |
| | | v[attr] = ""; |
| | | } |
| | | } |
| | | let str = JSON.stringify(v); |
| | | let roleInfo = JSON.parse(str); |
| | | this.carForm = roleInfo; |
| | | this.modalVisible = true; |
| | | }, |
| | | }, |
| | | mounted() { |
| | | this.maxHeight = Number(document.documentElement.clientHeight - 121) + "px"; |
| | | this.init(); |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | minWidth: 400, |
| | | }, |
| | | { |
| | | title: "送货条数", |
| | | key: "num", |
| | | width: 160, |
| | | sortable: true, |
| | | }, |
| | | { |
| | | title: "送货日期", |
| | | key: "sendDate", |
| | | width: 160, |
| | |
| | | submitLoading: false, |
| | | selectList: [], |
| | | columns: [ |
| | | { |
| | | type: "selection", |
| | | width: 60, |
| | | align: "center", |
| | | }, |
| | | // { |
| | | // type: "selection", |
| | | // width: 60, |
| | | // align: "center", |
| | | // }, |
| | | { |
| | | type: "index", |
| | | width: 60, |
| | |
| | | { |
| | | title: "反馈时间", |
| | | key: "createTime", |
| | | width: 110, |
| | | width: 130, |
| | | render: (h, params) => { |
| | | return h("div",params.row.createTime.substr(0,10)); |
| | | } |