Commit 32e723cf authored by xinzhedeai's avatar xinzhedeai

better:应急演练、特种作业备案 校验提醒信息优化

parent d41c8a6a
......@@ -32,8 +32,7 @@ window.onload = function () {
if (gemhoUtil.getCookie('userType') == 'consumers') {
vant.Dialog.alert({
title: '信息提示',
message: '您好,消费者,请用爱山东扫一扫商家店面二维码访问~',
}).then(() => { // 关闭当前访问页面回到爱山东
message: '您好,消费者,请扫商家店面二维码提交您的安全建议。',
lightAppJssdk.navigation.close({
success: function (data) { },
fail: function (data) { },
......@@ -129,9 +128,12 @@ function getUserInfo() {
if (gemhoUtil.getCookie('userType') == 'consumers') {
let merId = gemhoUtil.getParameter('merId')
if (!merId) {
// 此处跳转过渡页面!!!!!2025年8月2日09:38:23新增
vant.Dialog.alert({
title: '信息提示',
message: '请扫描商户码访问~',
message: '您好,消费者,请用爱山东扫一扫商家店面二维码访问~',
}).then(() => { // 关闭当前访问页面回到爱山东
lightAppJssdk.navigation.close({
success: function (data) { },
......
......@@ -327,6 +327,22 @@ gemhoUtil.isIOSStrict = function() {
}
gemhoUtil.validateChineseName = function(name) {
const regex = /^(?:[\u4E00-\u9FA5\u3007\u3400-\u4DBF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFD])+(?:·(?:[\u4E00-\u9FA5\u3007\u3400-\u4DBF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFD])+)*$/;
return regex.test(name.trim());
}
gemhoUtil.validateNumber999 = function(name) {
const regex = /^(?:[1-9]|[1-9]\d|[1-8]\d{2}|9[0-8]\d|99[0-8])$/;
return regex.test(name.trim());
}
gemhoUtil.validateRequire = function(name) {
return name && name.trim();
}
// aes解密
function aes_Decrypt(word, key) {
var key = CryptoJS.enc.Utf8.parse(key) //转为128bit
......
......@@ -19,15 +19,15 @@
<div class="form-item">
<span class="form-label title_require">培训标题</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.title" :disabled="flag=='XQ'" class="form-input"
placeholder="">
<input maxlength="25" type="text" v-model="formData.title" :disabled="flag=='XQ'" class="form-input"
placeholder="请输入培训标题">
</div>
</div>
<div class="form-item">
<span class="form-label title_require">培训演练类别</span>
<div class="form-input-wrap">
<select class="selector" v-model="formData.safetyTrainingType" :disabled="flag=='XQ'">
<select class="selector" v-model="formData.safetyTrainingType" :disabled="flag=='XQ'" placeholder="请选择培训演练类别">
<option v-for="(item, i) in tabList4lv2" v-if="item.dictValue!='0'" :key="i"
:label="item.dictLabel" :value="item.dictValue">
</option>
......@@ -37,15 +37,15 @@
<div class="form-item">
<span class="form-label title_require">培训人数(人)</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.participantsNum" :disabled="flag=='XQ'"
class="form-input" placeholder="">
<input type="number" maxlength="3" v-model="formData.participantsNum" :disabled="flag=='XQ'"
class="form-input" placeholder="请输入培训人数(人)">
</div>
</div>
<div class="form-item">
<span class="form-label title_require">负责人</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.responsiblePerson" :disabled="flag=='XQ'"
class="form-input" placeholder="">
<input maxlength="4" type="text" v-model="formData.responsiblePerson" :disabled="flag=='XQ'"
class="form-input" placeholder="请输入负责人">
</div>
</div>
......
......@@ -233,30 +233,53 @@ window.addEventListener("load", function() {
},
submitForm() {
if (!this.formData.title) {
if (!gemhoUtil.validateRequire(this.formData.title)) {
vant.Dialog.alert({
message: '培训标题不可为空',
})
return;
}
if (!this.formData.safetyTrainingType) {
if (!gemhoUtil.validateRequire(this.formData.safetyTrainingType)) {
vant.Dialog.alert({
message: '培训演练类别不可为空',
})
return;
}
if (!this.formData.participantsNum) {
if (!gemhoUtil.validateRequire(this.formData.participantsNum)) {
vant.Dialog.alert({
message: '培训人数不可为空',
})
return;
}
if (!this.formData.responsiblePerson) {
if (!gemhoUtil.validateNumber999(this.formData.participantsNum)) {
vant.Dialog.alert({
message: '培训人数请输入大于0且小于999的数字',
})
return;
}
if (!gemhoUtil.validateRequire(this.formData.responsiblePerson)) {
vant.Dialog.alert({
message: '负责人不可为空',
})
return;
}
if (!gemhoUtil.validateChineseName(this.formData.responsiblePerson)) {
vant.Dialog.alert({
message: '负责人格式不正确',
})
return;
}
if (this.formData.responsiblePerson.length < 2) {
vant.Dialog.alert({
message: '负责人字符长度不可小于2位',
})
return;
}
if (!this.formData.images.length) {
vant.Dialog.alert({
message: '图片不可为空',
......
......@@ -19,23 +19,23 @@
<div class="form-item">
<span class="form-label title_require">演练标题</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.title" :disabled="flag=='XQ'" class="form-input"
placeholder="">
<input maxlength="25" type="text" v-model="formData.title" :disabled="flag=='XQ'" class="form-input"
placeholder="请输入演练标题">
</div>
</div>
<div class="form-item">
<span class="form-label title_require">演练人数(人)</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.participantsNum" :disabled="flag=='XQ'"
class="form-input" placeholder="">
<input type="number" maxlength="3" v-model="formData.participantsNum" :disabled="flag=='XQ'"
class="form-input" placeholder="请输入培训人数(人)">
</div>
</div>
<div class="form-item">
<span class="form-label title_require">负责人</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.responsiblePerson" :disabled="flag=='XQ'"
class="form-input" placeholder="">
<input maxlength="4" type="text" v-model="formData.responsiblePerson" :disabled="flag=='XQ'"
class="form-input" placeholder="请输入负责人">
</div>
</div>
......
......@@ -200,24 +200,49 @@ window.addEventListener("load", function() {
},
submitForm() {
if (!this.formData.title) {
if (!gemhoUtil.validateRequire(this.formData.title)) {
vant.Dialog.alert({
message: '演练标题不可为空',
})
return;
}
if (!this.formData.participantsNum) {
if (!gemhoUtil.validateRequire(this.formData.participantsNum)) {
vant.Dialog.alert({
message: '负责人数不可为空',
message: '演练人数不可为空',
})
return;
}
if (!this.formData.responsiblePerson) {
if (!gemhoUtil.validateNumber999(this.formData.participantsNum)) {
vant.Dialog.alert({
message: '演练人数请输入大于0且小于999的数字',
})
return;
}
if (!gemhoUtil.validateRequire(this.formData.responsiblePerson)) {
vant.Dialog.alert({
message: '负责人不可为空',
})
return;
}
if (!gemhoUtil.validateChineseName(this.formData.responsiblePerson)) {
vant.Dialog.alert({
message: '负责人格式不正确',
})
return;
}
if (this.formData.responsiblePerson.length < 2) {
vant.Dialog.alert({
message: '负责人字符长度不可小于2位',
})
return;
}
if (!this.formData.images.length) {
vant.Dialog.alert({
message: '图片不可为空',
......
......@@ -33,6 +33,7 @@ window.addEventListener("load", function() {
page: 1,
size: 6,
total: 0,
reqFlag: false, // 页面列表接口请求flag 防止多次请求
}
},
mounted() {
......@@ -100,6 +101,10 @@ window.addEventListener("load", function() {
gemhoUtil.navigatePage(url, '跳转中...')
},
getList() {
if(this.reqFlag){ // 第一次请求没有结束则不进行下面逻辑
return
}
this.reqFlag = true
vant.Toast.loading({
message: '正在加载...',
forbidClick: true,
......@@ -142,6 +147,7 @@ window.addEventListener("load", function() {
}else{this.page++}
}
this.loading = false
this.reqFlag = false
}
)
}, 0)
......
......@@ -53,16 +53,16 @@
<div class="form-item">
<span class="form-label title_require">作业公司</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.companyName" :disabled="flag=='XQ'" class="form-input"
placeholder="">
<input maxlength="25" type="text" v-model="formData.companyName" :disabled="flag=='XQ'" class="form-input"
placeholder="请输入作业公司">
</div>
</div>
<div class="form-item">
<span class="form-label title_require">作业人员姓名</span>
<div class="form-input-wrap">
<input type="text" v-model="formData.workerName" :disabled="flag=='XQ'" class="form-input"
placeholder="">
<input maxlength="25" type="text" v-model="formData.workerName" :disabled="flag=='XQ'" class="form-input"
placeholder="请输入作业人员姓名(多个逗号隔开)">
</div>
</div>
......@@ -93,14 +93,14 @@
<div class="form-item date-wrapper">
<span class="form-label title_require" style="width: 2rem;">作业时间(起始)</span>
<div class="form-input-wrap" style="display: flex; align-items: center; gap: 0.2rem;">
<van-field readonly v-model="formData.startTime" :disabled="flag=='XQ'" placeholder="选择开始时间"
<van-field readonly v-model="formData.startTime" :disabled="flag=='XQ'" placeholder="请选择作业时间(起始)"
class="form-input" @click="showStartDatePickerHandler" />
</div>
</div>
<div class="form-item date-wrapper">
<span class="form-label title_require" style="width: 2rem;">作业时间(结束)</span>
<div class="form-input-wrap" style="display: flex; align-items: center; gap: 0.2rem;">
<van-field readonly v-model="formData.endTime" :disabled="flag=='XQ'" placeholder="选择结束时间"
<van-field readonly v-model="formData.endTime" :disabled="flag=='XQ'" placeholder="请选择作业时间(结束)"
class="form-input" @click="showEndDatePickerHandler" />
</div>
</div>
......
......@@ -369,12 +369,26 @@ window.addEventListener("load", function () {
})
return;
}
if (!this.formData.workerName) {
if (!gemhoUtil.validateRequire(this.formData.workerName)) {
vant.Dialog.alert({
message: '作业人员姓名不可为空',
})
return;
}
if (!gemhoUtil.validateChineseName(this.formData.workerName)) {
vant.Dialog.alert({
message: '作业人员姓名格式不正确',
})
return;
}
if (this.formData.workerName.length <2) {
vant.Dialog.alert({
message: '作业人员姓名长度不可少于2字符',
})
return;
}
if (!this.formData.startTime || !this.formData.endTime) {
vant.Dialog.alert({
message: '作业时间不可为空',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment