Browse Source

日期选择有限选中当前日期

master
蟑螂恶霸 2 years ago
parent
commit
847b9abefc
  1. 865
      src/views/administrative/appointment.vue

865
src/views/administrative/appointment.vue

@ -1,118 +1,121 @@
<template> <template>
<div class="address_edit"> <div class="address_edit">
<!-- 导航栏 --> <!-- 导航栏 -->
<div class="header_body"> <div class="header_body">
<header-nav :slefBack="true" @goBack="goBack" :titelText="`行政检查预约`"></header-nav> <header-nav :slefBack="true" @goBack="goBack" :titelText="`行政检查预约`"></header-nav>
</div> </div>
<!-- 中间 --> <!-- 中间 -->
<div> <div>
<!-- <van-cell-group>--> <!-- <van-cell-group>-->
<van-form @failed="onFailed" @submit="submit"> <van-form @failed="onFailed" @submit="submit">
<!-- <van-field--> <!-- <van-field-->
<!-- v-model="submitData.lawEnforcementCode"--> <!-- v-model="submitData.lawEnforcementCode"-->
<!-- label="登记编号"--> <!-- label="登记编号"-->
<!-- />--> <!-- />-->
<van-field <van-field
v-model="submitData.enterpriseName" v-model="submitData.enterpriseName"
label="企业名称" label="企业名称"
required required
:rules="[{ required: true, message: '必填项' }]" :rules="[{ required: true, message: '必填项' }]"
readonly readonly
@click="showPopupCompony" @click="showPopupCompony"
/> />
<Popup :visible="popupVisible" :content="popupContent" @close="closePopupCompony" @reciveData="reciveData" /> <Popup :visible="popupVisible" :content="popupContent" @close="closePopupCompony"
<van-field @reciveData="reciveData"/>
v-model="submitData.linkMan" <van-field
label="企业联系人" v-model="submitData.linkMan"
/> label="企业联系人"
<van-field />
v-model="submitData.linkTel" <van-field
label="联系人电话" v-model="submitData.linkTel"
:rules="[{ validator, message: '请输入正确内容' }]" label="联系人电话"
/> :rules="[{ validator, message: '请输入正确内容' }]"
<van-field />
v-model="submitData.checkTime" <van-field
required v-model="submitData.checkTime"
readonly required
label="检查时间" readonly
:rules="[{ required: true, message: '必填项' }]" label="检查时间"
@click="data.showTimePicker = true" :rules="[{ required: true, message: '必填项' }]"
/> @click="data.showTimePicker = true"
<van-field />
v-model="data.checkItemText" <van-field
required v-model="data.checkItemText"
readonly required
label="检查事项" readonly
:rules="[{ required: true, message: '必填项' }]" label="检查事项"
@click="data.showItem = true" :rules="[{ required: true, message: '必填项' }]"
type="textarea" @click="data.showItem = true"
rows="1" type="textarea"
autosize rows="1"
/> autosize
<van-field v-model="submitData.checkItem" v-show="false" /> />
<van-field <van-field v-model="submitData.checkItem" v-show="false"/>
v-model="data.checkRequireText" <van-field
required v-model="data.checkRequireText"
readonly required
label="检查要求" readonly
:rules="[{ required: true, message: '必填项' }]" label="检查要求"
@click="data.showGA = true" :rules="[{ required: true, message: '必填项' }]"
type="textarea" @click="data.showGA = true"
rows="1" type="textarea"
autosize rows="1"
/> autosize
<van-field v-model="submitData.checkRequire" v-show="false" /> />
<van-field <van-field v-model="submitData.checkRequire" v-show="false"/>
v-model="submitData.lawEnforcement" <van-field
readonly v-model="submitData.lawEnforcement"
label="执法部门" readonly
:rules="[{ required: true, message: '必填项' }]" label="执法部门"
/> :rules="[{ required: true, message: '必填项' }]"
<van-field />
v-model="submitData.lawEnforcerText" <van-field
readonly v-model="submitData.lawEnforcerText"
label="执法人员" readonly
/> label="执法人员"
<van-field />
v-model="submitData.lawEnforcerTextTwo" <van-field
readonly v-model="submitData.lawEnforcerTextTwo"
label="执法人员" readonly
right-icon="add-o" label="执法人员"
@click="showPopup" right-icon="add-o"
/> @click="showPopup"
<van-field />
v-model="submitData.remark" <van-field
label="备注" v-model="submitData.remark"
rows="2" label="备注"
autosize rows="2"
type="textarea" autosize
maxlength="50" type="textarea"
placeholder="请输入备注" maxlength="50"
show-word-limit placeholder="请输入备注"
/> show-word-limit
/>
<div class="warp_body">
<van-action-bar> <div class="warp_body">
<van-button round block type="info" native-type="submit" @click="tmpSave">保存</van-button> <van-action-bar>
<van-button round block type="info" native-type="submit" @click="submit112">提交</van-button> <van-button round block type="info" native-type="submit" @click="tmpSave">保存</van-button>
</van-action-bar> <van-button round block type="info" native-type="submit" @click="submit112">提交</van-button>
</div> </van-action-bar>
</van-form> </div>
<!-- </van-cell-group>--> </van-form>
<!-- </van-cell-group>-->
</div> </div>
<!-- <div class="warp_body">--> <!-- <div class="warp_body">-->
<!-- <van-action-bar>--> <!-- <van-action-bar>-->
<!-- <van-action-bar-button text="保存" @click="submit" />--> <!-- <van-action-bar-button text="保存" @click="submit" />-->
<!-- </van-action-bar>--> <!-- </van-action-bar>-->
<!-- </div>--> <!-- </div>-->
<van-popup v-model:show="data.showLawEnforcerFlag" position="bottom" :style="{ height: '30%' }" /> <van-popup v-model:show="data.showLawEnforcerFlag" position="bottom" :style="{ height: '30%' }"/>
<UserPopup :visible="data.popupVisible" :content="data.popupContent" @close="closePopup" @reciveData="reciveVisible" /> <UserPopup :visible="data.popupVisible" :content="data.popupContent" @close="closePopup"
@reciveData="reciveVisible"/>
<van-popup v-model:show="data.showTimePicker" position="bottom" :style="{ height: '30%' }" > <van-popup v-model:show="data.showTimePicker" position="bottom" :style="{ height: '30%' }">
<van-date-picker <van-date-picker
type="time" type="time"
v-model="data.currentDate"
@confirm="onConfirm" @confirm="onConfirm"
@cancel="data.showTimePicker = false" @cancel="data.showTimePicker = false"
/> />
@ -127,333 +130,353 @@
</van-popup> </van-popup>
<van-popup v-model:show="data.showGA" position="bottom" :style="{ height: '30%' }"> <van-popup v-model:show="data.showGA" position="bottom" :style="{ height: '30%' }">
<van-picker title="要求" <van-picker title="要求"
:columns="data.ga_columns" :columns="data.ga_columns"
@confirm="gaConfirm" @confirm="gaConfirm"
@cancel="gaCancel" @cancel="gaCancel"
/> />
</van-popup> </van-popup>
</div> </div>
</template> </template>
<script setup name="register"> <script setup name="register">
import { showSuccessToast } from 'vant'; import {showSuccessToast} from 'vant';
import 'vant/es/toast/style'; import 'vant/es/toast/style';
import {getByUserIdAndZero, addEnterpriseLawEnforcement, editEnterpriseLawEnforcement} from '../../api/administrative' import {
import {queryUserInfo} from '../../api/enforce' getByUserIdAndZero,
import { queryEnterpriseInfoList } from '../../api/enterprise' addEnterpriseLawEnforcement,
import { reactive, ref } from "vue"; editEnterpriseLawEnforcement
import { getDict } from "../../api/Home"; } from '../../api/administrative'
import { queryLinkage, queryLinkageDictByValueAndParentId } from "../../api/linkage"; import {queryUserInfo} from '../../api/enforce'
import {uploadFile} from "../../util/fileUpload"; import {queryEnterpriseInfoList} from '../../api/enterprise'
//用户筛选弹窗 import {reactive, ref} from "vue";
import UserPopup from './userFilter.vue'; import {getDict} from "../../api/Home";
const { useCommon } = $globalStore; import {queryLinkage, queryLinkageDictByValueAndParentId} from "../../api/linkage";
import {uploadFile} from "../../util/fileUpload";
const router = useRouter(); //用户筛选弹窗
let queryaddressId = ref(""); import UserPopup from './userFilter.vue';
const data = reactive({
showLawEnforcerFlag:false, const {useCommon} = $globalStore;
showTimePicker:false,
popupVisible: false, const router = useRouter();
popupContent: '', let queryaddressId = ref("");
showGA:false, const data = reactive({
showItem:false, showLawEnforcerFlag: false,
checkItemText:"", showTimePicker: false,
checkRequireText: "", popupVisible: false,
ga_columns: [], popupContent: '',
item_columns: [], showGA: false,
}); showItem: false,
//保存参数 checkItemText: "",
const submitData = reactive({ checkRequireText: "",
/** ID */ ga_columns: [],
id:"", item_columns: [],
/** 登记编号 */ currentDate: []
lawEnforcementCode:"", });
/** 企业名称 */ //保存参数
enterpriseName:"", const submitData = reactive({
/**统一社会信用代码 */ /** ID */
enterpriseNumber:"", id: "",
/** 企业ID */ /** 登记编号 */
enterpriseId:"", lawEnforcementCode: "",
/** 企业联系人 */ /** 企业名称 */
linkMan:"", enterpriseName: "",
/** 联系人电话 */ /**统一社会信用代码 */
linkTel:"", enterpriseNumber: "",
/** 检查时间 */ /** 企业ID */
checkTime:"", enterpriseId: "",
/** 检查事项 */ /** 企业联系人 */
checkItem:"", linkMan: "",
/** 检查要求 */ /** 联系人电话 */
checkRequire:"", linkTel: "",
/** 执法部门 */ /** 检查时间 */
lawEnforcement:"", checkTime: "",
/** 执法部门ID */ /** 检查事项 */
lawEnforcementId:"", checkItem: "",
/** 执法人员 */ /** 检查要求 */
lawEnforcer:"", checkRequire: "",
lawCertificateNum:"", /** 执法部门 */
lawEnforcerText: "", lawEnforcement: "",
/** 执法人员ID */ /** 执法部门ID */
lawEnforcerId:"", lawEnforcementId: "",
/** 执法人员2 */ /** 执法人员 */
lawEnforcerTwo:"", lawEnforcer: "",
lawCertificateNumTwo:"", lawCertificateNum: "",
lawEnforcerTextTwo: "", lawEnforcerText: "",
/** 执法人员2ID */ /** 执法人员ID */
lawEnforcerTwoId:"", lawEnforcerId: "",
/** 备注 */ /** 执法人员2 */
remark:"", lawEnforcerTwo: "",
userId: useCommon.userId lawCertificateNumTwo: "",
}) lawEnforcerTextTwo: "",
/** 执法人员2ID */
lawEnforcerTwoId: "",
/** 备注 */
const onConfirm = (time) => { remark: "",
if(time != null) { userId: useCommon.userId
var times = time.selectedValues;
submitData.checkTime = times[0] +"-"+ times[1] +"-"+ times[2];
}
data.showTimePicker = false;
};
const validator = (val) => /^1[34578]\d{9}$/.test(val);
const onFailed = (errorInfo) => {
console.log('failed', errorInfo);
};
const showPopup = () =>{
data.popupVisible = true;
}
const closePopup = () =>{
data.popupVisible = false;
}
const reciveVisible = (item) =>{
submitData.lawEnforcerTwo = item.userName
submitData.lawCertificateNumTwo = item.lawCertificateNum;
submitData.lawEnforcerTwoId = item.userId;
// submitData.lawEnforcerTextTwo = submitData.lawEnforcerTwo +" "+ submitData.lawCertificateNumTwo
submitData.lawEnforcerTextTwo = submitData.lawEnforcerTwo
}
/* 检查要求 start */
const gaConfirm = ({ selectedOptions }) => {
data.checkRequireText = selectedOptions[0].text;
submitData.checkRequire = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
};
/* 检查要求 start */
const itemConfirm = ({ selectedOptions }) => {
data.checkItemText = selectedOptions[0].text;
submitData.checkItem = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
getLinkageByParentIdToGA(selectedOptions[0].id);
};
const itemChange =({ selectedOptions }) => {
// getLinkageByParentIdToGA(selectedOptions[0].id);
}
const gaCancel = () => {
data.showGA = false;
data.showItem = false;
}
/* 检查要求 end */
// 返回
const goBack = () => {
router.go(-1);
};
const dataFillIn = () => {
getByUserIdAndZero(useCommon.userId,success =>{
//跳转企业二维码地址
if(success.success){
Object.keys(submitData).forEach((item) => {
submitData[item] = success.data[item] ? success.data[item] : "";
})
data.checkItemText =success.data['params'].checkItemText;
data.checkRequireText =success.data['params'].checkRequireText;
submitData.lawEnforcerText =success.data['lawEnforcer'];
submitData.lawEnforcerTextTwo =success.data['lawEnforcerTwo'];
// showSuccessToast('保存成功');
}
},error=>{
console.log("保存失败")
}) })
}
const currentDate =() => {
const tmpSave = () => { const now = new Date();
// showSuccessToast('临时保存'); const year = now.getFullYear();
submitData.lawCertificateNum = null; const month = (now.getMonth() + 1).toString().padStart(2, '0');
addEnterpriseLawEnforcement(submitData,success =>{ const day = now.getDate().toString().padStart(2, '0');
//跳转企业二维码地址 data.currentDate = [year, month, day]
if(success.success){ }
showSuccessToast('保存成功');
router.push( const onConfirm = (time) => {
{ if (time != null) {
path: "/appointmentList" var times = time.selectedValues;
}); submitData.checkTime = times[0] + "-" + times[1] + "-" + times[2];
} }
},error=>{ data.showTimePicker = false;
console.log("保存失败") };
const validator = (val) => /^1[34578]\d{9}$/.test(val);
const onFailed = (errorInfo) => {
console.log('failed', errorInfo);
};
const showPopup = () => {
data.popupVisible = true;
}
const closePopup = () => {
data.popupVisible = false;
}
const reciveVisible = (item) => {
submitData.lawEnforcerTwo = item.userName
submitData.lawCertificateNumTwo = item.lawCertificateNum;
submitData.lawEnforcerTwoId = item.userId;
// submitData.lawEnforcerTextTwo = submitData.lawEnforcerTwo +" "+ submitData.lawCertificateNumTwo
submitData.lawEnforcerTextTwo = submitData.lawEnforcerTwo
}
/* 检查要求 start */
const gaConfirm = ({selectedOptions}) => {
data.checkRequireText = selectedOptions[0].text;
submitData.checkRequire = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
};
/* 检查要求 start */
const itemConfirm = ({selectedOptions}) => {
data.checkItemText = selectedOptions[0].text;
submitData.checkItem = selectedOptions[0].value;
data.showGA = false;
data.showItem = false;
getLinkageByParentIdToGA(selectedOptions[0].id);
};
const itemChange = ({selectedOptions}) => {
// getLinkageByParentIdToGA(selectedOptions[0].id);
}
const gaCancel = () => {
data.showGA = false;
data.showItem = false;
}
/* 检查要求 end */
// 返回
const goBack = () => {
router.go(-1);
};
const dataFillIn = () => {
getByUserIdAndZero(useCommon.userId, success => {
//跳转企业二维码地址
if (success.success) {
Object.keys(submitData).forEach((item) => {
submitData[item] = success.data[item] ? success.data[item] : "";
})
data.checkItemText = success.data['params'].checkItemText;
data.checkRequireText = success.data['params'].checkRequireText;
submitData.lawEnforcerText = success.data['lawEnforcer'];
submitData.lawEnforcerTextTwo = success.data['lawEnforcerTwo'];
// showSuccessToast('保存成功');
}
}, error => {
console.log("保存失败")
})
}
const tmpSave = () => {
// showSuccessToast('临时保存');
submitData.lawCertificateNum = null;
addEnterpriseLawEnforcement(submitData, success => {
//跳转企业二维码地址
if (success.success) {
showSuccessToast('保存成功');
router.push(
{
path: "/appointmentList"
});
}
}, error => {
console.log("保存失败")
})
}
const submit112 = () => {
// showSuccessToast('登记成功');
submitData.lawCertificateNum = null;
editEnterpriseLawEnforcement(submitData, success => {
//跳转企业二维码地址
if (success.success) {
showSuccessToast('登记成功');
router.push(
{
path: "/appointmentList"
});
}
}, error => {
console.log("登记失败")
})
}
const getLinkageByValueAndParentId = (value, parentId) => {
// 查询检查要求字典信息
queryLinkageDictByValueAndParentId({"value": value, "parentId": parentId}, success => {
getLinkageByParentIdToItem(success.id)
}, error => {
});
}
const getLinkageByParentIdToItem = (parentId) => {
// 查询检查要求字典信息
queryLinkage({"parentId": parentId}, success => {
for (var i = 0; i < success.length; i++) {
data.item_columns.push({text: success[i].title, value: success[i].id, id: success[i].id})
// if (i==0) {
// data.checkItemText = success[i].title;
// submitData.checkItem = success[i].id;
// getLinkageByParentIdToGA(success[i].id);
// }
}
}, error => {
});
}
const getLinkageByParentIdToGA = (parentId) => {
// 查询检查要求字典信息
data.ga_columns = [];
queryLinkage({"parentId": parentId}, success => {
for (var i = 0; i < success.length; i++) {
data.ga_columns.push({text: success[i].title, value: success[i].id, id: success[i].id})
// if (i==0) {
// data.checkRequireText = success[i].title;
// submitData.checkRequire = success[i].id;
// }
}
}, error => {
});
}
//初始化参数,获取扫码的企业统一信用编码
onMounted(() => {
// 数据填充
dataFillIn();
currentDate();
//查询当前登录人员信息
queryUserInfo(useCommon.userId, success => {
console.log(success.data)
submitData.lawEnforcer = success.data.userName;
submitData.lawCertificateNum = success.data.lawCertificateNum
// submitData.lawEnforcerText = submitData.lawEnforcer +" "+ submitData.lawCertificateNum
submitData.lawEnforcerText = submitData.lawEnforcer
submitData.lawEnforcerId = success.data.userId;
submitData.lawEnforcement = success.data.dept.deptName;
submitData.lawEnforcementId = success.data.dept.deptId;
}, error => {
});
getLinkageByValueAndParentId("check_item", "100");
// 查询检查要求字典信息
// getDict({"dictType": "checkRequire"}, success => {
// for(var i=0; i<success.data.length; i++) {
// data.ga_columns.push({ text: success.data[i].dictLabel, value: success.data[i].dictValue })
// }
// },error=>{});
// 查询检查要求字典信息
// getDict({"dictType": "checkItem"}, success => {
// for(var i=0; i<success.data.length; i++) {
// data.item_columns.push({ text: success.data[i].dictLabel, value: success.data[i].dictValue })
// }
// },error=>{});
}) })
}
const reciveData = (item) => {
const submit112 = () =>{ console.log(item);
// showSuccessToast('登记成功'); submitData.enterpriseName = item.enterpriseName;
submitData.lawCertificateNum = null; submitData.linkTel = item.enterpriseTel;
editEnterpriseLawEnforcement(submitData,success =>{ submitData.linkMan = item.legalPerson;
//跳转企业二维码地址 submitData.enterpriseNumber = item.enterpriseNumber;
if(success.success){
showSuccessToast('登记成功');
router.push(
{
path: "/appointmentList"
});
} }
},error=>{
console.log("登记失败")
})
}
const getLinkageByValueAndParentId = (value, parentId) => {
// 查询检查要求字典信息
queryLinkageDictByValueAndParentId({"value":value, "parentId": parentId}, success => {
getLinkageByParentIdToItem(success.id)
},error=>{});
}
const getLinkageByParentIdToItem = (parentId) => {
// 查询检查要求字典信息
queryLinkage({"parentId": parentId}, success => {
for(var i=0; i<success.length; i++) {
data.item_columns.push({ text: success[i].title, value: success[i].id, id: success[i].id })
// if (i==0) {
// data.checkItemText = success[i].title;
// submitData.checkItem = success[i].id;
// getLinkageByParentIdToGA(success[i].id);
// }
}
},error=>{});
}
const getLinkageByParentIdToGA = (parentId) => {
// 查询检查要求字典信息
data.ga_columns = [];
queryLinkage({"parentId": parentId}, success => {
for(var i=0; i<success.length; i++) {
data.ga_columns.push({ text: success[i].title, value: success[i].id, id: success[i].id })
// if (i==0) {
// data.checkRequireText = success[i].title;
// submitData.checkRequire = success[i].id;
// }
}
},error=>{});
}
//初始化参数,获取扫码的企业统一信用编码
onMounted(() =>{
// 数据填充
dataFillIn();
//查询当前登录人员信息
queryUserInfo(useCommon.userId,success =>{
console.log(success.data)
submitData.lawEnforcer = success.data.userName;
submitData.lawCertificateNum = success.data.lawCertificateNum
// submitData.lawEnforcerText = submitData.lawEnforcer +" "+ submitData.lawCertificateNum
submitData.lawEnforcerText = submitData.lawEnforcer
submitData.lawEnforcerId = success.data.userId;
submitData.lawEnforcement = success.data.dept.deptName;
submitData.lawEnforcementId = success.data.dept.deptId;
},error=>{});
getLinkageByValueAndParentId("check_item", "100");
// 查询检查要求字典信息
// getDict({"dictType": "checkRequire"}, success => {
// for(var i=0; i<success.data.length; i++) {
// data.ga_columns.push({ text: success.data[i].dictLabel, value: success.data[i].dictValue })
// }
// },error=>{});
// 查询检查要求字典信息
// getDict({"dictType": "checkItem"}, success => {
// for(var i=0; i<success.data.length; i++) {
// data.item_columns.push({ text: success.data[i].dictLabel, value: success.data[i].dictValue })
// }
// },error=>{});
})
const reciveData = (item) =>{
console.log(item);
submitData.enterpriseName = item.enterpriseName;
submitData.linkTel = item.enterpriseTel;
submitData.linkMan = item.legalPerson;
submitData.enterpriseNumber = item.enterpriseNumber;
}
</script> </script>
<script> <script>
//案件筛选弹窗 //案件筛选弹窗
import Popup from '../enterprise/companyFilter.vue'; import Popup from '../enterprise/companyFilter.vue';
export default { export default {
components: { components: {
Popup Popup
}, },
data() { data() {
return { return {
popupVisible: false, popupVisible: false,
popupContent: '' popupContent: ''
} }
}, },
methods: { methods: {
showPopupCompony() { showPopupCompony() {
this.popupVisible = true; this.popupVisible = true;
}, },
closePopupCompony() { closePopupCompony() {
this.popupVisible = false; this.popupVisible = false;
}
}
} }
}
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.address_edit { .address_edit {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
background-color: #f4f4f4; background-color: #f4f4f4;
} }
/* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */
.van-popup.van-toast{ /* vant4的 Toast 和 Popup 样式冲突,会导致 Toast 变成白底 */
background: var(--van-toast-background) !important; .van-popup.van-toast {
box-sizing: content-box !important; background: var(--van-toast-background) !important;
/* 下面3条css,影响不大 */ box-sizing: content-box !important;
transition: all var(--van-duration-fast) !important; /* 下面3条css,影响不大 */
width: var(--van-toast-default-width) !important; transition: all var(--van-duration-fast) !important;
max-width: var(--van-toast-max-width) !important; width: var(--van-toast-default-width) !important;
} max-width: var(--van-toast-max-width) !important;
.van-popup.van-toast .van-toast__icon{ }
font-size: var(--van-toast-icon-size) !important;
} .van-popup.van-toast .van-toast__icon {
font-size: var(--van-toast-icon-size) !important;
:deep(.van-button) { }
margin: 5% 3%;
padding: 0; :deep(.van-button) {
width: 94%; margin: 5% 3%;
height: 1rem; padding: 0;
color: #fff; width: 94%;
font-size: 0.4rem; height: 1rem;
border-radius: 1rem; color: #fff;
background: #1367fe; font-size: 0.4rem;
border: 0.02667rem solid #1367fe; border-radius: 1rem;
text-align: center; background: #1367fe;
} border: 0.02667rem solid #1367fe;
text-align: center;
}
</style> </style>

Loading…
Cancel
Save