Browse Source

原因改成查字典项

dev
wangmingyong@163.com 2 months ago
parent
commit
00a574adac
  1. 15
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue
  2. 14
      zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue
  3. 50
      zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue

15
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/EnforcementInfoSection.vue

@ -165,6 +165,7 @@ import {
buildEnforcementTimeFromPicker,
} from '@/util/enforcementTimePicker';
import { queryUnionByHour } from '@/api/enforcement';
import { loadDict } from '@/util/dictUtil';
const props = defineProps({
formData: {
@ -216,12 +217,7 @@ const unionList = ref([]);
const unionLoading = ref(false);
const showReasonPicker = ref(false);
const reasonOptions = [
{ text: '企业原因', value: '企业原因' },
{ text: '系统原因', value: '系统原因' },
{ text: '扫码未能显示企业信息', value: '扫码未能显示企业信息' },
{ text: '其他', value: '其他' }
];
const reasonOptions = ref([]);
onMounted(() => {
const range = getEnforcementTimeDateRange(7);
@ -229,6 +225,10 @@ onMounted(() => {
maxDate.value = range.maxDate;
defaultPickerValue = range.currentDate;
datePickerValue.value = [...range.currentDate];
loadDict('no-scan-reason', (columns) => {
reasonOptions.value = columns;
});
});
watch(() => props.formData.jointEnforcement, (newVal) => {
@ -291,7 +291,8 @@ const onTimeConfirm = ({ selectedValues }) => {
const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || '';
if (props.formData.reason !== '其他') {
const selectedValue = selectedOptions[0]?.value || '';
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.other_reasons = '';
}
showReasonPicker.value = false;

14
zdxt-web-client/zdxt-efcode-enforcement-app/src/components/enforcement/register/NonEnforcementInfoSection.vue

@ -109,13 +109,8 @@ const matterOptions = ref([]);
const showMatterPicker = ref(false);
const showTimePicker = ref(false);
const showReasonPicker = ref(false);
const reasonOptions = ref([]);
const reasonOptions = [
{ text: '企业原因', value: '企业原因' },
{ text: '系统原因', value: '系统原因' },
{ text: '扫码未能显示企业信息', value: '扫码未能显示企业信息' },
{ text: '其他', value: '其他' }
];
const datePickerValue = ref([]);
const minDate = ref(new Date());
const maxDate = ref(new Date());
@ -130,7 +125,8 @@ const selectMatter = ({ selectedOptions }) => {
//
const selectReason = ({ selectedOptions }) => {
props.formData.reason = selectedOptions[0]?.text || '';
if (props.formData.reason !== '其他') {
const selectedValue = selectedOptions[0]?.value || '';
if (selectedValue !== '其他' && selectedOptions[0]?.text !== '其他') {
props.formData.other_reasons = '';
}
showReasonPicker.value = false;
@ -147,6 +143,10 @@ onMounted(() => {
loadDict('no_check_category', (columns) => {
matterOptions.value = columns;
});
loadDict('no-scan-reason', (columns) => {
reasonOptions.value = columns;
});
});
const openTimePicker = () => {

50
zdxt-web-client/zdxt-efcode-enforcement-app/src/views/enforcement/scanEntQRCode.vue

@ -45,7 +45,7 @@
<div class="reason-tags">
<div v-for="(reason, index) in reasonOptions" :key="index" class="reason-tag"
:class="{ active: selectedReason === index }" @click="selectedReason = index">
{{ reason }}
{{ reason.text }}
</div>
</div>
</div>
@ -96,6 +96,7 @@ import { useRouter, useRoute } from 'vue-router';
import { showFailToast, showSuccessToast, showToast, showConfirmDialog } from 'vant';
import { baseUrl, appEnv } from '@/config/env.js';
import { getEntInfoByQRCode, queryEnterpriseListAndQrInfo, szyptGetToken } from '@/api/enforcement/index';
import { loadDict } from '@/util/dictUtil';
import wx from 'weixin-js-sdk';
const router = useRouter();
@ -326,19 +327,14 @@ const isHttpLink = (url) => {
// ========== ==========
const showSearchModal = ref(false);
const selectedReason = ref(3); // ""
const selectedReason = ref(-1); //
const searchKeyword = ref('');
const enterpriseList = ref([]);
const loading = ref(false);
const finished = ref(false);
const error = ref(false);
const reasonOptions = [
'企业原因',
'系统原因',
'扫码未能显示企业信息',
'其他'
];
const reasonOptions = ref([]);
const showSearchPopup = () => {
showSearchModal.value = true;
@ -346,9 +342,25 @@ const showSearchPopup = () => {
enterpriseList.value = [];
finished.value = false;
error.value = false;
nextTick(() => {
loadEnterprises();
});
if (reasonOptions.value.length === 0) {
loadDict('no-scan-reason', (columns) => {
reasonOptions.value = columns;
const otherIndex = columns.findIndex(item => item.text === '其他' || item.value === '其他');
selectedReason.value = otherIndex !== -1 ? otherIndex : 0;
nextTick(() => {
loadEnterprises();
});
});
} else {
if (selectedReason.value === -1) {
const otherIndex = reasonOptions.value.findIndex(item => item.text === '其他' || item.value === '其他');
selectedReason.value = otherIndex !== -1 ? otherIndex : 0;
}
nextTick(() => {
loadEnterprises();
});
}
};
const closeSearchModal = () => {
@ -415,7 +427,7 @@ const onLoad = () => {
const selectEnterprise = (item) => {
console.log('选中企业:', item);
// sessionStorage
const selectedReasonText = reasonOptions[selectedReason.value];
const selectedReasonText = reasonOptions.value[selectedReason.value]?.text || '';
sessionStorage.setItem('scanReason', selectedReasonText);
showSearchModal.value = false;
router.push({
@ -430,7 +442,7 @@ const selectEnterprise = (item) => {
//
const handleOutOfCityEnterprise = () => {
const selectedReasonText = reasonOptions[selectedReason.value];
const selectedReasonText = reasonOptions[selectedReason.value]?.text || '';
sessionStorage.setItem('scanReason', selectedReasonText);
showSearchModal.value = false;
router.push({
@ -459,6 +471,18 @@ const toSign = () => {
// ========== ==========
onMounted(() => {
loadDict('no-scan-reason', (columns) => {
reasonOptions.value = columns;
const otherIndex = columns.findIndex(item => item.text === '其他' || item.value === '其他');
if (otherIndex !== -1) {
selectedReason.value = otherIndex;
} else if (columns.length > 0) {
selectedReason.value = 0;
}
});
});
onBeforeUnmount(() => {
//
if (html5QrCode) {

Loading…
Cancel
Save