|
@@ -0,0 +1,295 @@
|
|
|
|
+<template>
|
|
|
|
+ <van-nav-bar
|
|
|
|
+ title="信息上报中心"
|
|
|
|
+ left-text=""
|
|
|
|
+ left-arrow
|
|
|
|
+ @click-left="onClickLeft"
|
|
|
|
+ />
|
|
|
|
+ <div class="main">
|
|
|
|
+ <p class="title">场所活动上报</p>
|
|
|
|
+ <div class="formArea">
|
|
|
|
+ <p class="miniTitle">基础信息</p>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.activity"
|
|
|
|
+ center
|
|
|
|
+ label="活动名称:"
|
|
|
|
+ placeholder="请填写活动名称"
|
|
|
|
+ input-align="right"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.place"
|
|
|
|
+ readonly
|
|
|
|
+ required
|
|
|
|
+ label="场所名称:"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="arrow-down"
|
|
|
|
+ @click="showPlace = true"
|
|
|
|
+ />
|
|
|
|
+ <van-popup v-model:show="showPlace" round position="bottom">
|
|
|
|
+ <van-picker
|
|
|
|
+ :columns="places"
|
|
|
|
+ @cancel="showPlace = false"
|
|
|
|
+ @confirm="getPlace"
|
|
|
|
+ />
|
|
|
|
+ </van-popup>
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.activityTime"
|
|
|
|
+ center
|
|
|
|
+ label="活动时间:"
|
|
|
|
+ placeholder="请选择时间"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="arrow-down"
|
|
|
|
+ @click="showAct = true"
|
|
|
|
+ />
|
|
|
|
+ <van-popup v-model:show="showAct" round position="bottom">
|
|
|
|
+ <van-picker-group
|
|
|
|
+ title="活动时间"
|
|
|
|
+ :tabs="['选择日期', '选择时间']"
|
|
|
|
+ next-step-text="下一步"
|
|
|
|
+ @confirm="getTime"
|
|
|
|
+ @cancel="showAct = false"
|
|
|
|
+ >
|
|
|
|
+ <van-date-picker v-model="currentDate" />
|
|
|
|
+ <van-time-picker v-model="currentTime" />
|
|
|
|
+ </van-picker-group>
|
|
|
|
+ </van-popup>
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.countPerson"
|
|
|
|
+ center
|
|
|
|
+ label="参会人数:"
|
|
|
|
+ placeholder="请填写参会人数"
|
|
|
|
+ input-align="right"
|
|
|
|
+ type="digit"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.list"
|
|
|
|
+ center
|
|
|
|
+ required
|
|
|
|
+ label="已知名单:"
|
|
|
|
+ placeholder="请选择参会已知名单"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="arrow-down"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.portname"
|
|
|
|
+ center
|
|
|
|
+ label="报告人:"
|
|
|
|
+ placeholder="请选择报告人"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="arrow-down"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.area"
|
|
|
|
+ center
|
|
|
|
+ label="参加范围:"
|
|
|
|
+ placeholder="请填写参加范围"
|
|
|
|
+ input-align="right"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.activityPlace"
|
|
|
|
+ center
|
|
|
|
+ label="活动地点:"
|
|
|
|
+ placeholder="请填写参加地点"
|
|
|
|
+ input-align="right"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.address"
|
|
|
|
+ center
|
|
|
|
+ label="详细地址:"
|
|
|
|
+ placeholder="请填写活参加地点"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="location"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.money"
|
|
|
|
+ center
|
|
|
|
+ label="经费来源:"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ input-align="right"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.activityName"
|
|
|
|
+ center
|
|
|
|
+ label="活动负责人:"
|
|
|
|
+ placeholder="请选择活动负责人"
|
|
|
|
+ input-align="right"
|
|
|
|
+ right-icon="arrow-down"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.tel"
|
|
|
|
+ center
|
|
|
|
+ label="联系方式:"
|
|
|
|
+ placeholder="请填写联系方式"
|
|
|
|
+ input-align="right"
|
|
|
|
+ />
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <van-field name="uploader" label="安全预案:">
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-uploader>
|
|
|
|
+ <van-button icon="plus">上传文件</van-button>
|
|
|
|
+ </van-uploader>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ <van-cell-group>
|
|
|
|
+ <div class="rowTextArea">
|
|
|
|
+ <van-field
|
|
|
|
+ v-model="placeActivity.into"
|
|
|
|
+ center
|
|
|
|
+ rows="2"
|
|
|
|
+ type="textarea"
|
|
|
|
+ label="主题内容:"
|
|
|
|
+ label-align="top"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </van-cell-group>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="subbtn">
|
|
|
|
+ <van-button type="primary">提交</van-button>
|
|
|
|
+ <van-button type="default" hairline>取消</van-button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+import { ref } from "vue";
|
|
|
|
+export default {
|
|
|
|
+ setup() {
|
|
|
|
+ // 返回
|
|
|
|
+ const onClickLeft = () => {
|
|
|
|
+ history.back();
|
|
|
|
+ };
|
|
|
|
+ // 活动信息
|
|
|
|
+ const placeActivity = {
|
|
|
|
+ activity: "",
|
|
|
|
+ place: "",
|
|
|
|
+ activityTime: "",
|
|
|
|
+ countPerson: "",
|
|
|
|
+ list: '',
|
|
|
|
+ portname: "",
|
|
|
|
+ area: "",
|
|
|
|
+ activityPlace: "",
|
|
|
|
+ address: "",
|
|
|
|
+ money: "",
|
|
|
|
+ activityName: "",
|
|
|
|
+ tel: "",
|
|
|
|
+ file: "",
|
|
|
|
+ into: "",
|
|
|
|
+ };
|
|
|
|
+ // 场所名称
|
|
|
|
+ const places = [
|
|
|
|
+ { text: "杭州", value: "Hangzhou" },
|
|
|
|
+ { text: "宁波", value: "Ningbo" },
|
|
|
|
+ { text: "温州", value: "Wenzhou" },
|
|
|
|
+ { text: "绍兴", value: "Shaoxing" },
|
|
|
|
+ { text: "湖州", value: "Huzhou" },
|
|
|
|
+ ];
|
|
|
|
+ const showPlace = ref(false);
|
|
|
|
+ const getPlace = ({ selectedOptions }) => {
|
|
|
|
+ showPlace.value = false;
|
|
|
|
+ placeActivity.place = selectedOptions[0].text;
|
|
|
|
+ };
|
|
|
|
+ // 获取活动时间
|
|
|
|
+ const showAct = ref(false);
|
|
|
|
+ const currentDate = ref(["2022", "06", "01"]);
|
|
|
|
+ const currentTime = ref(["12", "00"]);
|
|
|
|
+ const getTime = () => {
|
|
|
|
+ showAct.value = false;
|
|
|
|
+ placeActivity.activityTime = `${currentDate.value.join(
|
|
|
|
+ "-"
|
|
|
|
+ )} ${currentTime.value.join(":")}`;
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ return {
|
|
|
|
+ placeActivity,
|
|
|
|
+ showPlace,
|
|
|
|
+ places,
|
|
|
|
+ getPlace,
|
|
|
|
+ showAct,
|
|
|
|
+ currentDate,
|
|
|
|
+ currentTime,
|
|
|
|
+ getTime,
|
|
|
|
+ onClickLeft,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style scoped>
|
|
|
|
+* {
|
|
|
|
+ margin: 0;
|
|
|
|
+ padding: 0;
|
|
|
|
+}
|
|
|
|
+.main p {
|
|
|
|
+ height: 40px;
|
|
|
|
+ line-height: 40px;
|
|
|
|
+ color: #36a7f3;
|
|
|
|
+ border-bottom: 1px solid #eee;
|
|
|
|
+}
|
|
|
|
+.title {
|
|
|
|
+ font-size: 20px;
|
|
|
|
+ font-weight: 700;
|
|
|
|
+ padding-left: 20px;
|
|
|
|
+}
|
|
|
|
+.miniTitle {
|
|
|
|
+ font-size: 16px;
|
|
|
|
+}
|
|
|
|
+.formArea {
|
|
|
|
+ padding: 0px 20px;
|
|
|
|
+}
|
|
|
|
+.formArea .van-cell-group .van-field__label {
|
|
|
|
+ height: 40px;
|
|
|
|
+}
|
|
|
|
+.formArea .van-cell-group .van-cell {
|
|
|
|
+ line-height: 40px;
|
|
|
|
+}
|
|
|
|
+.formArea .van-field__right-icon {
|
|
|
|
+ color: #36a7f3;
|
|
|
|
+}
|
|
|
|
+.rowTextArea::v-deep .van-field__value {
|
|
|
|
+ width: 98%;
|
|
|
|
+ border: 2px solid #ccc;
|
|
|
|
+ border-radius: 10px;
|
|
|
|
+}
|
|
|
|
+.rowTextArea::v-deep .van-cell {
|
|
|
|
+ display: flow-root;
|
|
|
|
+}
|
|
|
|
+.subbtn {
|
|
|
|
+ margin: 20px;
|
|
|
|
+ text-align: center;
|
|
|
|
+}
|
|
|
|
+.subbtn .van-button {
|
|
|
|
+ width: 40%;
|
|
|
|
+ margin: 5px;
|
|
|
|
+}
|
|
|
|
+.van-uploader .van-button {
|
|
|
|
+ border: none;
|
|
|
|
+ color: #36a7f3;
|
|
|
|
+ top: -4px;
|
|
|
|
+}
|
|
|
|
+</style>
|