Browse Source

修改执法预告-执法时间方位为一个框

v4
蟑螂恶霸 12 months ago
parent
commit
2cdbc4e80e
  1. 221
      src/views/administrative/appointment.vue

221
src/views/administrative/appointment.vue

@ -1,18 +1,9 @@
<template>
<div class="address_edit">
<!-- 导航栏 -->
<!-- <div class="header_body">
<header-nav :slefBack="true" @goBack="goBack" :titelText="`行政执法预约`"></header-nav>
</div>-->
<!-- 中间 -->
<div class="warp_body">
<!-- <van-cell-group>-->
<van-form @failed="onFailed" @submit="submit">
<van-cell-group>
<!-- <van-field-->
<!-- v-model="submitData.lawEnforcementCode"-->
<!-- label="登记编号"-->
<!-- />-->
<van-field
v-model="submitData.enterpriseName"
label="企业名称"
@ -51,6 +42,15 @@
@click="data.showTimePicker = true"
/>
<van-field
v-model="data.checkHour"
placeholder="开始 - 结束时间"
required
readonly
clickable
:rules="[{ required: true, message: '必填项' }]"
@click="data.hourPicker = true"
/>
<!-- <van-field
v-model="data.checkHourStart"
required
label=""
@ -67,24 +67,9 @@
readonly
:rules="[{ required: true, message: '必填项' }]"
@click="data.hourEndPicker = true"
/>
/> -->
</div>
<!-- <template #div>
<div class="plan-attach">
<div class="plan-time">
<van-field
v-model="data.fieldValue"
is-link
placeholder="选择时段"
@click="data.dateShowPicker = true"
/>
</div>
</div>
</template>-->
<van-field
v-model="submitData.checkItemText"
label="执法事项"
@ -107,31 +92,6 @@
placeholder="请输入执法要求"
show-word-limit
/>
<!-- <van-field-->
<!-- v-model="data.checkItemText"-->
<!-- required-->
<!-- readonly-->
<!-- label="执法事项"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showItem = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkItem" v-show="false"/>-->
<!-- <van-field-->
<!-- v-model="data.checkRequireText"-->
<!-- required-->
<!-- readonly-->
<!-- label="执法要求"-->
<!-- :rules="[{ required: true, message: '必填项' }]"-->
<!-- @click="data.showGA = true"-->
<!-- type="textarea"-->
<!-- rows="1"-->
<!-- autosize-->
<!-- />-->
<!-- <van-field v-model="submitData.checkRequire" v-show="false"/>-->
<van-field
v-model="submitData.bureauDeptName"
readonly
@ -160,90 +120,29 @@
@click-input="showPopup(index)"
/>
</div>
<!-- <div class="addbtn" @click.stop="addLawCer"><van-icon name="add-o" /></div> -->
</div>
<!-- <div v-for="(item, index) in data.lawCer" :key="index">
<div class="item-delete" v-if="index>0" @click.stop="cancelUser(index)"><label>执法人员 {{index+1}}</label> <a>删除</a></div>
<van-field
v-model="item.show"
label=" "
readonly
required
:rules="[{ required: true, message: '必填项' }]"
placeholder="请选择"
is-link
@click="showPopup(index)"
/>
</div>
<div class="addbtn" @click.stop="addLawCer"><van-icon name="add-o" /></div>-->
<!-- <van-field-->
<!-- v-model="submitData.lawEnforcerTextTwo"-->
<!-- readonly-->
<!-- label="执法人员"-->
<!-- right-icon="add-o"-->
<!-- @click="showPopup"-->
<!-- />-->
<!-- <van-field
v-model="submitData.remark"
label="备注"
rows="2"
autosize
type="textarea"
maxlength="100"
placeholder="请输入备注"
show-word-limit
/>-->
<!-- <van-divider class="divdsty" />-->
<!--应客户要求暂时隐藏联合执法功能-->
<!-- <van-cell center title="开启联合执法">
<template #right-icon>
<van-switch v-model="data.checked" @click="!data.checked"/>
<van-switch v-model="data.checked" @click="checkUnite"/>
</template>
</van-cell> -->
<!-- <van-field-->
<!-- v-if="data.checked"-->
<!-- v-model="submitData.deptTexts"-->
<!-- label="执法单位"-->
<!-- rows="2"-->
<!-- autosize-->
<!-- type="textarea"-->
<!-- placeholder="请选择"-->
<!-- is-link-->
<!-- show-word-limit-->
<!-- readonly-->
<!-- @click="data.deptChecked=true"-->
<!-- />-->
<div class="add-inspect" v-if="data.checked">
<!-- <p v-if="submitData.userObjs.length > 0"><label>联合执法部门+人员</label></p> -->
<div class="add-inspect-item" v-for="(item, index) in submitData.userObjs" :key="index">
<p>
<span class="add-name">{{nameCorrect(item.userName)}}</span>
<span class="add-law">{{item.lawCertificateNum}}</span>
</p>
<span class="add-dept">{{item.zzDisplayPath}}</span>
<van-icon class="remove-v" name="cross" @click.stop="removeDeptAndUser(index)" />
</div>
<div class="addbtn" @click.stop="data.deptChecked=true"><van-icon name="add-o" /></div>
<div class="add-inspect" v-if="data.checked">
<div class="add-inspect-item" v-for="(item, index) in submitData.userObjs" :key="index">
<p>
<span class="add-name">{{nameCorrect(item.userName)}}</span>
<span class="add-law">{{item.lawCertificateNum}}</span>
</p>
<span class="add-dept">{{item.zzDisplayPath}}</span>
<van-icon class="remove-v" name="cross" @click.stop="removeDeptAndUser(index)" />
</div>
<div class="addbtn" @click.stop="data.deptChecked=true"><van-icon name="add-o" /></div>
</div>
</van-cell-group>
<van-action-bar>
<van-button round block type="info" native-type="submit" @click="tmpSave">保存</van-button>
<van-button round block type="info" native-type="submit" @click="submit112">提交</van-button>
</van-action-bar>
<van-button round block type="info" native-type="submit" @click="tmpSave">保存</van-button>
<van-button round block type="info" native-type="submit" @click="submit112">提交</van-button>
</van-action-bar>
</van-form>
<!-- </van-cell-group>-->
</div>
<!-- <div class="warp_body">-->
<!-- <van-action-bar>-->
<!-- <van-action-bar-button text="保存" @click="submit" />-->
<!-- </van-action-bar>-->
<!-- </div>-->
<van-popup v-model:show="data.showLawEnforcerFlag" position="bottom" :style="{ height: '30%' }"/>
<UserPopup :visible="data.popupVisible" :content="data.popupContent" :lawEDid="submitData.lawEnforcerId" :LawEDs="data.lawCer" :isShowCardId="0" @close="closePopup"
@reciveData="reciveVisible"/>
@ -273,8 +172,12 @@
/>
</van-popup>
<DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup"
@reciveData="reciveDept"/>
<DeptPopup :visible="data.deptChecked" :content="data.deptContent" @close="closePopup" @reciveData="reciveDept"/>
<van-popup v-model:show="data.hourPicker" round position="bottom">
<van-picker :columns="data.hour_columns" @confirm="hourConfirm" @cancel="data.hourPicker = false" />
</van-popup>
<van-popup v-model:show="data.hourStartPicker" round position="bottom">
<van-time-picker v-model="data.currentHour" :columns-type='data.checkHourType'
@cancel="data.hourStartPicker = false"
@ -307,7 +210,7 @@
<script setup name="register">
import {nameCorrect,encryptPhone} from'@/util/fileUpload';
import {showSuccessToast} from 'vant';
import {showSuccessToast, showToast} from 'vant';
import 'vant/es/toast/style';
import {
getByUserIdAndZero,
@ -331,6 +234,21 @@
const router = useRouter();
let queryaddressId = ref("");
//
const timeRange = ref("09:00 - 12:00");
// 00~23 [{text:'00', value:'00'}, ...]
const hourOptions = Array.from({ length: 24 }, (_, i) => {
const s = String(i).padStart(2, '0')
return { text: s, value: s }
})
// 00~59
const minuteOptions = Array.from({ length: 60 }, (_, i) => {
const s = String(i).padStart(2, '0')
return { text: s, value: s }
})
const data = reactive({
showLawEnforcerFlag: false,
showTimePicker: false,
@ -353,13 +271,24 @@
tempDate: null,
lawCerFlag: 0,
lawCer:[{ text:"", id:"", show:"", num:"" }],
hourStartPicker: ref(false),
hourEndPicker: ref(false),
currentHour:ref(['00','00']),
checkHourType:ref(['hour', 'minute']),
checkHour:"",
checkHourStart:"",
checkHourEnd:""
checkHourEnd:"",
hourPicker: ref(false),
hour_columns: [
hourOptions,
[{ text: ':', value: ':', disabled: true }],
minuteOptions,
[{ text: '至', value: 'sep', disabled: true }],
hourOptions,
[{ text: ':', value: ':', disabled: true }],
minuteOptions
],
// lawCer:[],
});
@ -460,9 +389,35 @@
}
}
/**
* 执法时间 时段选择
*/
const toMinutes = (hhmm) => {
const [h, m] = hhmm.split(':').map(Number)
return h * 60 + m
}
const isValidRange = (start, end) => {
return toMinutes(start) <= toMinutes(end)
}
/** 执法时间 时段选择 */
const hourConfirm = ({ selectedOptions }) => {
// values [, , "", , ]
const [sh, _1, sm, _, eh, _2, em] = selectedOptions.map(o => o.value);
//
console.log("start: ", sh+":"+sm);
console.log("end: ", eh+":"+em);
if (!isValidRange(sh+":"+sm, eh+":"+em)) {
showToast("请选择正确的时间区间!");
} else {
//
data.hourPicker = false;
data.checkHourStart = sh+":"+sm;
data.checkHourEnd = eh+":"+em;
data.checkHour = sh+":"+sm +" - "+ eh+":"+em
}
};
const hourStartConfirm = ({ selectedOptions }) => {
data.hourStartPicker = false;
data.checkHourStart = selectedOptions[0].value+":"+selectedOptions[1].value;
@ -618,6 +573,7 @@
submitData.lawEnforcerTwoId = submitData.lawEnforcerTwoId.substring(0, submitData.lawEnforcerTwoId.length - 1);
submitData.lawEnforcerTwo = submitData.lawEnforcerTwo.substring(0, submitData.lawEnforcerTwo.length - 1);
submitData.lawCertificateNum = submitData.lawCertificateNum.substring(0, submitData.lawCertificateNum.length - 1);
submitData.checkHour=data.checkHour;
submitData.checkHourStart=data.checkHourStart;
submitData.checkHourEnd=data.checkHourEnd;
addEnterpriseLawEnforcement(submitData, success => {
@ -661,6 +617,7 @@
submitData.lawEnforcerTwoId = submitData.lawEnforcerTwoId.substring(0, submitData.lawEnforcerTwoId.length - 1);
submitData.lawEnforcerTwo = submitData.lawEnforcerTwo.substring(0, submitData.lawEnforcerTwo.length - 1);
submitData.lawCertificateNum = submitData.lawCertificateNum.substring(0, submitData.lawCertificateNum.length - 1);
submitData.checkHour=data.checkHour;
submitData.checkHourStart=data.checkHourStart;
submitData.checkHourEnd=data.checkHourEnd;
editEnterpriseLawEnforcement(submitData, success => {

Loading…
Cancel
Save