import Vue from 'vue'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import '@/styles/index.scss' // global css
import App from './App'
import router from './router'
import store from './store'
import '@/icons' // icon
import '@/permission' // permission control
import curd from '@/utils/curd'
import time from 'time-formater'
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
// 全局数字、金额输入框组件
import directive from './components/AmountInputBox/index.js'
import vdr from 'vue-draggable-resizable-gorkys'
import 'vue-draggable-resizable-gorkys/dist/VueDraggableResizable.css'
import fullscreen from 'vue-fullscreen'
import CryptoJS from 'crypto-js';

Vue.prototype.$CryptoJS = CryptoJS;
Vue.component('vdr', vdr)
Vue.use(directive)
Vue.use(fullscreen)

// 关闭点弹窗周围关闭功能
ElementUI.Dialog.props.closeOnClickModal.default = false

Vue.use(curd)
Vue.use(ElementUI)
// 查看图片
Vue.use(Viewer)
Viewer.setDefaults({
  Options: {
    'inline': true,
    'button': true,
    'navbar': true,
    'title': true,
    'toolbar': true,
    'tooltip': true,
    'movable': true,
    'zoomable': true,
    'rotatable': true,
    'scalable': true,
    'transition': true,
    'fullscreen': true,
    'keyboard': true,
    'url': 'data-source'
  }
})

// 处理时间字符串格式全局过滤器 '2018/1/23 00:00:00' to '2018-01-23'
Vue.filter('formatTime', function(value) {
  if (!value) return ''
  const isTime = /^\d{4}([-\/.])\d{1,2}\1\d{1,2}/
  if (!isTime.test(value)) return value
  let result = time(value).format('YYYY-MM-DD')
  result = result.indexOf('1900-01-01') > -1 ? '' : result
  return result
})
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
