82d86ec5 by zhangmeng

票务

1 parent 9503459c
/**
* 通用js方法封装处理
* Copyright (c) 2019 ruoyi
......@@ -37,7 +35,9 @@ export function parseTime(time, pattern) {
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
if (key === 'a') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
if (result.length > 0 && value < 10) {
value = '0' + value
}
......@@ -114,8 +114,10 @@ export function selectDictLabels(datas, value, separator) {
// 字符串格式化(%s )
export function sprintf(str) {
var args = arguments; var flag = true; var i = 1
str = str.replace(/%s/g, function() {
var args = arguments;
var flag = true;
var i = 1
str = str.replace(/%s/g, function () {
var arg = args[i++]
if (typeof arg === 'undefined') {
flag = false
......@@ -148,7 +150,7 @@ export function mergeRecursive(source, target) {
}
}
return source
};
}
/**
* 构造树型结构数据
......@@ -198,13 +200,14 @@ export function handleTree(data, id, parentId, children) {
}
}
}
return tree
}
/**
* 参数处理
* @param {*} params 参数
*/
* 参数处理
* @param {*} params 参数
*/
export function tansParams(params) {
let result = ''
for (const propName of Object.keys(params)) {
......@@ -232,7 +235,8 @@ export function tansParams(params) {
export function getNormalPath(p) {
if (p.length === 0 || !p || p == 'undefined') {
return p
};
}
const res = p.replace('//', '/')
if (res[res.length - 1] === '/') {
return res.slice(0, res.length - 1)
......@@ -311,3 +315,11 @@ export function downloadFile(filePath, prefix) {
return `${prefix}/upload/getFile?fileUrl=${encodeURIComponent(filePath)}`
}
}
export function triggerLanguage(fn, cn, en) {
if (fn) {
return en
} else {
return cn
}
}
......
......@@ -21,7 +21,7 @@
</div>
<div class="form">
<el-form ref="formRef" :model="orderForm" :rules="rules" label-width="100px">
<el-form ref="formRef" :model="orderForm" :rules="rules" label-width="120px">
<!-- <el-form-item-->
<!-- :label="language == 0 ? '联系人' : 'contact'" prop="contacts"-->
<!-- >-->
......@@ -145,9 +145,12 @@ import {
import {ElMessage} from "element-plus";
import {languageFormat} from "@/viewsPc/seat/utils/language.js";
import useUserStore from "/@/store/modules/user";
import {useStorage} from "@vueuse/core/index";
const useStore = useUserStore()
const language = useStore.language;
const language = useStorage('language', 0)
console.log(language)
const loading = ref(false);
const route = useRoute();
......
......@@ -6,7 +6,7 @@
<div class="info">
<div class="title">{{ matchForm.name }}</div>
<div class="time">
{{ languageFormat(language, "时间", "Event Date & Time") }}{{
{{ triggerLanguage(language, "时间", "Event Date & Time") }}{{
matchForm.ticketStart
? dayjs(matchForm.ticketStart).format("YYYY.MM.DD")
: ""
......@@ -35,14 +35,14 @@
}}
</div>
<div class="address">
{{ languageFormat(language, "地址", "Location") }}{{
{{ triggerLanguage(language, "地址", "Location") }}{{
matchForm.address
}}
</div>
<!-- 时间 -->
<div class="select_item_box">
<div class="label">
{{ languageFormat(language, "票档", "Tickets") }}
{{ triggerLanguage(language, "票档", "Tickets") }}
</div>
<div class="select_item">
<div
......@@ -60,7 +60,7 @@
<!-- 时间 -->
<div class="select_item_box">
<div class="label">
{{ languageFormat(language, "时间", "Event Date & Time") }}
{{ triggerLanguage(language, "时间", "Event Date & Time") }}
</div>
<div class="select_item">
<div
......@@ -77,8 +77,8 @@
</div>
<!-- button -->
<div class="btn forPc" @click="toSelectSeat()">
{{ languageFormat(language, "添加观影人", "Add Moviegoers") }}
<div class="btn forPc" style="margin-left: 40px" @click="toSelectSeat()">
{{ triggerLanguage(language, "添加观影人", "Add Moviegoers") }}
</div>
</div>
</div>
......@@ -91,7 +91,7 @@
<script setup>
import {ref, reactive, onMounted, watch} from "vue";
import {ref, reactive, onMounted, watch, computed} from "vue";
import {listApi, getTicketInfoByActivityId, getTicketListApi} from '@/apiPc/booking'
import {dayjs} from "element-plus";
......@@ -99,10 +99,12 @@ import {ElMessageBox, ElMessage} from "element-plus";
import {languageFormat, getDayName} from "@/viewsPc/seat/utils/language";
import {fillImgUrl} from "/@/utils/ruoyi";
import useUserStore from "/@/store/modules/user";
import {triggerLanguage} from '@/utils/ruoyi'
import {useStorage} from "@vueuse/core/index";
const language = useStorage('language', 0)
const useStore = useUserStore()
const language = useStore.language;
const user = useStore.user
const user = computed(() => useUserStore().user)
const route = useRoute();
const router = useRouter();
const activeId = ref(route.params.activeId)
......@@ -152,10 +154,10 @@ function selectTick(v) {
}
function toSelectSeat() {
if (!selectForm.value.latId) return ElMessage.error(language.value == 0 ? "请选择票档" : 'Please select a ticket file')
if (!selectForm.value.id) return ElMessage.error(language.value == 0 ? "请选择时间" : 'Please select time')
console.log(user)
if (!user) {
if (!selectForm.value.latId) return ElMessage.error(language == 0 ? "请选择票档" : 'Please select a ticket file')
if (!selectForm.value.id) return ElMessage.error(language == 0 ? "请选择时间" : 'Please select time')
console.log(user.value)
if (!user.value) {
useStore().setVisitor()
return
}
......
......@@ -27,7 +27,7 @@
center
width="700"
>
<el-form ref="formRef" :model="form" :rules="rules" label-width="80px" size="large" style="margin: 80px">
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px" size="large" style="margin: 80px">
<el-form-item :label="language==0?'姓名':'name'" prop="name" required>
<el-input v-model="form.name" :placeholder="language==0?'请输入':'Please input'"/>
</el-form-item>
......@@ -66,23 +66,28 @@ import {aadCustomer, customerListApi, delCustomer} from '@/apiPc/booking'
import {ElMessage, ElMessageBox} from "element-plus";
import {languageFormat} from "@/viewsPc/seat/utils/language.js";
import useUserStore from "/@/store/modules/user";
import {useStorage} from "@vueuse/core/index";
import {triggerLanguage} from '@/utils/ruoyi'
const useStore = useUserStore()
const language = useStore.language;
const language = useStorage('language', 0)
const personnelList = ref([])
const show = ref(false)
const form = ref({})
const formRef = ref(null)
const rules = ref({
name: [
{required: true, message: "请输入姓名", trigger: "blur"},
{required: true, message: triggerLanguage(language.value, '请输入姓名', 'Please input'), trigger: "blur"},
],
idCard: [
{required: true, message: "请输入证件号", trigger: "blur"},
{
required: true,
message: triggerLanguage(language.value, '请输入证件号', 'Please enter the ID after ah'),
trigger: "blur"
},
],
idcType: [
{required: true, message: "请选择证件类型", trigger: "blur"},
{required: true, message: triggerLanguage(language.value, '请选择证件类型', 'Please choose'), trigger: "blur"},
],
})
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!