| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- import Cookies from 'js-cookie'
- import { Notification } from 'element-ui'
- import { getCustomerType, getTravelAgencyType, getSystemConfigList } from '@/api/systemConfig'
- import { getPayChannel } from '@/api/payChannel.js'
- import { getSaleChannelList } from '@/api/order'
- import { getAccountList, getSelf } from '@/api/systemSetting/account'
- import { getTicketCategory, getTicketTypeList, getScenic } from '@/api/ticketType'
- import { apiGetTravelAgencyList } from '@/api/travelAgency'
- import { getBatchConfigList } from '@/api/batch'
- const Store = require('electron-store')
- const localStore = new Store()
- const colorPalette = [
- '#C1232B', '#27727B', '#dcb309', '#E87C25', '#B5C334',
- '#FE8463', '#9BCA63', '#FAD860', '#F3A43B', '#60C0DD',
- '#8731e2', '#7bab05', '#f79007', '#F0805A', '#26C0C0'
- ]
- const app = {
- state: {
- diffTime: 0,
- scaleRate: 1,
- editorElement: null, // 正在编辑的打印对象
- localConfig: null,
- appStatus: {
- status: 1,
- process: 0
- },
- account: {},
- client: null,
- sellerDevice: null,
- sidebar: {
- opened: !+Cookies.get('sidebarStatus'),
- withoutAnimation: false
- },
- device: 'desktop',
- language: Cookies.get('language') || 'zh',
- currentTicket: null,
- printList: [],
- printOrder: null,
- batchList: [], // 场次列表
- performList: [], // 节目列表
- smallTicketTemplate: null,
- smallTicketTemplateList: [],
- printTemplate: null,
- printTemplateList: [],
- payChannelOptions: [],
- payChannelList: [],
- ticketCategory: [
- {
- id: 'ticket',
- name: '景区门票'
- },
- {
- id: 'member',
- name: '年卡次卡'
- }
- ],
- ticketTypeList: [],
- customerType: [],
- saleChannel: [],
- systemConfig: [],
- agencyList: [],
- scenicList: [],
- scenicColor: {},
- terminalNO: localStore.get('termId'),
- customLogo: require(`imgs/${process.env.VUE_APP_LOGO || 'logo'}.png`),
- faceModelIsReady: false // 人脸模型已预热完成
- },
- mutations: {
- SET_FACE_MODEL_READY (state, val) {
- state.faceModelIsReady = val
- },
- SET_TERMAINAL_NO (state, data) {
- state.terminalNO = data
- },
- SET_SYSTEM_CONFIG (state, data) {
- state.systemConfig = data
- },
- SET_BATCH_LIST (state, data) {
- state.batchList = data
- },
- SET_PERFORM_LIST (state, data) {
- state.performList = data
- },
- SET_SALE_CHANNEL (state, data) {
- state.saleChannel = data
- },
- SET_MY_ACCOUNT (state, data) {
- state.myAccount = data
- },
- SET_CUSTOM_LOGO (state, data) {
- state.customLogo = data
- },
- SET_SELLER_DEVICE (state, data) {
- state.sellerDevice = data
- },
- SET_TICKET_CATEGORY (state, data) {
- state.ticketCategory = data
- },
- SET_TICKET_TYPE_LIST (state, data) {
- state.ticketTypeList = data
- },
- SET_PAY_CHANNEL (state, { data, list }) {
- state.payChannelList = list
- state.payChannelOptions = data
- localStore.set('payChannelOptions', data)
- },
- SET_PRINT_LIST (state, data) {
- state.printList = state.printList.concat(data)
- },
- // 打印小票订单
- SET_PRINT_ORDER (state, data) {
- state.printOrder = data
- },
- PRINT_NEW (state, data) {
- state.printList.shift() // 移除已打印成功的门票
- },
- // 设置当前要打印的门票
- SET_CURRENT_TICKET (state, data) {
- state.currentTicket = data
- },
- // 设置与服务器的时间差
- SET_DIFF_TIME (state, data) {
- state.diffTime = new Date(data) - new Date()
- },
- SET_LOCAL_CONFIG (state, config) {
- state.localConfig = config
- },
- TOGGLE_SIDEBAR: state => {
- if (state.sidebar.opened) {
- Cookies.set('sidebarStatus', 1)
- } else {
- Cookies.set('sidebarStatus', 0)
- }
- state.sidebar.opened = !state.sidebar.opened
- state.sidebar.withoutAnimation = false
- },
- CLOSE_SIDEBAR: (state, withoutAnimation) => {
- Cookies.set('sidebarStatus', 1)
- state.sidebar.opened = false
- state.sidebar.withoutAnimation = withoutAnimation
- },
- TOGGLE_DEVICE: (state, device) => {
- state.device = device
- },
- SET_LANGUAGE: (state, language) => {
- state.language = language
- Cookies.set('language', language)
- },
- SHOW_ROOM: (state, room) => {
- state.dialogVisible = true
- state.globleRoom = room
- },
- HIDE_ROOM: (state) => {
- state.dialogVisible = false
- },
- SHOW_WXNOTIFY: (state) => {
- // if (state.wxNoify.visible) return
- console.log(Notification)
- state.wxNoify = Notification.info({
- iconClass: 'iconfont icon-auth',
- title: '提醒',
- dangerouslyUseHTMLString: true,
- customClass: 'authNotify',
- duration: 0,
- message: `有新的待授权用户需处理`,
- position: 'bottom-right'
- })
- },
- UPDATE_APP: (state, data) => {
- state.appStatus = data
- },
- SET_CUR_EDITOR_ELEMENT: (state, data) => {
- state.editorElement = data
- },
- SCALE_CANVAS: (state, data) => {
- state.scaleRate = data
- },
- SET_SMALL_TICKET_TEMPLATE: (state, data) => {
- state.smallTicketTemplate = data
- },
- SET_SMALL_TICKET_TEMPLATE_LIST: (state, data) => {
- state.smallTicketTemplateList = data
- },
- SET_PRINT_TEMPLATE: (state, data) => {
- state.printTemplate = data
- },
- SET_PRINT_TEMPLATE_LIST: (state, data) => {
- state.printTemplateList = data
- },
- SET_CUSTOMER_TYPE: (state, data) => {
- state.customerType = data
- },
- SET_TRAVEL_AGENCY_TYPE: (state, data) => {
- state.travelAgencyType = data
- },
- SET_AGENCY_LIST: (state, data) => {
- state.agencyList = data
- },
- SET_SCENIC_LIST: (state, data) => {
- state.scenicList = data
- },
- SET_ACCOUNT: (state, data) => {
- state.account = data
- },
- SET_SCENIC_COLOR: (state, data) => {
- state.scenicColor = data
- }
- },
- actions: {
- getAccount ({ commit }) {
- getSelf().then(res => {
- commit('SET_ACCOUNT', res)
- })
- },
- getScenicList ({ commit }) {
- getScenic().then(res => {
- let scenicList = res?.data.children.map(item => item.data)
- let scenicColor = {}
- scenicList.forEach((s, i) => {
- scenicColor[s.id] = colorPalette[i % 15]
- })
- commit('SET_SCENIC_COLOR', scenicColor)
- commit('SET_SCENIC_LIST', scenicList)
- })
- },
- getBatchConfigList ({ commit }) {
- return getBatchConfigList({
- pageNum: 0,
- pageSize: 0
- }).then(res => {
- commit('SET_BATCH_LIST', res.list)
- })
- },
- getAgencyList ({ commit }) {
- return apiGetTravelAgencyList({
- pageNum: 0,
- pageSize: 0,
- keyWords6: 1
- }).then(res => {
- commit('SET_AGENCY_LIST', res.list)
- })
- },
- getSystemConfigList ({ commit }) {
- getSystemConfigList().then(res => {
- commit('SET_SYSTEM_CONFIG', res.list)
- })
- },
- getSaleChannel ({ commit }) {
- getSaleChannelList().then(res => {
- commit('SET_SALE_CHANNEL', res?.data)
- })
- },
- getMyAccount ({ commit, rootState }) {
- getAccountList({
- pageNum: 0,
- pageSize: 0
- }).then(res => {
- let target = res.list.find(i => i.nick_name === rootState.user.name)
- // console.log(target)
- commit('SET_MY_ACCOUNT', target)
- })
- },
- getPayChannel ({ commit }) {
- return getPayChannel({
- pageNum: 0,
- pageSize: 0,
- keyWords1: '',
- type: ''
- }).then(res => {
- let target = res.list.filter(i => i.status === 1).map(i => i.name)
- commit('SET_PAY_CHANNEL', { data: target, list: res.list.filter(i => i.status === 1) })
- })
- },
- setCustomerType ({ commit }) {
- return getCustomerType().then(res => {
- commit('SET_CUSTOMER_TYPE', res)
- })
- },
- setTravelAgencyType ({ commit }) {
- return getTravelAgencyType().then(res => {
- commit('SET_TRAVEL_AGENCY_TYPE', res)
- })
- },
- getTicketCategory ({ commit }) {
- return getTicketCategory().then(res => {
- commit('SET_TICKET_CATEGORY', res.list)
- })
- },
- getTicketTypeList ({ commit }) {
- return getTicketTypeList({
- pageNum: 0,
- pageSize: 0
- }).then(res => {
- commit('SET_TICKET_TYPE_LIST', res.list)
- })
- },
- setLocalConfig ({ commit }, data) {
- let configFile = require('path').join('C://', 'config.json')
- let fs = require('fs')
- fs.open(configFile, 'r', (err, data) => {
- if (err) {
- console.log(err)
- return
- }
- let configData = JSON.parse(fs.readFileSync(configFile))
- commit('SET_LOCAL_CONFIG', configData)
- console.log(configData)
- })
- },
- updateApp ({ commit }, data) {
- commit('UPDATE_APP', data)
- },
- toggleSideBar ({ commit }) {
- commit('TOGGLE_SIDEBAR')
- },
- closeSideBar ({ commit }, { withoutAnimation }) {
- commit('CLOSE_SIDEBAR', withoutAnimation)
- },
- toggleDevice ({ commit }, device) {
- commit('TOGGLE_DEVICE', device)
- },
- setLanguage ({ commit }, language) {
- commit('SET_LANGUAGE', language)
- },
- showRoom ({ commit }, room) {
- commit('SHOW_ROOM', room)
- },
- hideRoom ({ commit }) {
- commit('HIDE_ROOM')
- },
- scaleCanvas ({ commit }, data) {
- commit('SCALE_CANVAS', data)
- },
- setEditorElement ({ commit }, element) {
- commit('SET_CUR_EDITOR_ELEMENT', element)
- }
- }
- }
- export default app
|