|
@@ -11,7 +11,7 @@
|
|
|
<p class="miniTitle">基础信息</p>
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
- v-model="inputForm.place"
|
|
|
+ v-model="inputForm.placeSelectName"
|
|
|
center
|
|
|
readonly
|
|
|
label="地点:"
|
|
@@ -27,12 +27,13 @@
|
|
|
:options="options"
|
|
|
@close="showArea = false"
|
|
|
@finish="onFinish"
|
|
|
+ :field-names="fieldNames"
|
|
|
/>
|
|
|
</van-popup>
|
|
|
</van-cell-group>
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
- v-model="inputForm.address"
|
|
|
+ v-model="inputForm.placeDel"
|
|
|
center
|
|
|
label="详细地址:"
|
|
|
placeholder="请填写具体地址"
|
|
@@ -43,7 +44,7 @@
|
|
|
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
- v-model="inputForm.count"
|
|
|
+ v-model="inputForm.frequency"
|
|
|
center
|
|
|
label="频次:"
|
|
|
placeholder="请填写频次"
|
|
@@ -53,7 +54,7 @@
|
|
|
</van-cell-group>
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
- v-model="inputForm.time"
|
|
|
+ v-model="inputForm.partyTime"
|
|
|
center
|
|
|
readonly
|
|
|
label="时间:"
|
|
@@ -70,13 +71,16 @@
|
|
|
@cancel="showAct = false"
|
|
|
>
|
|
|
<van-date-picker v-model="currentDate" />
|
|
|
- <van-time-picker v-model="currentTime" />
|
|
|
+ <van-time-picker
|
|
|
+ v-model="currentTime"
|
|
|
+ :columns-type="columnsType"
|
|
|
+ />
|
|
|
</van-picker-group>
|
|
|
</van-popup>
|
|
|
</van-cell-group>
|
|
|
<van-cell-group>
|
|
|
<van-field
|
|
|
- v-model="inputForm.person"
|
|
|
+ v-model="inputForm.relatedPersons.name"
|
|
|
center
|
|
|
required
|
|
|
label="相关人:"
|
|
@@ -91,7 +95,7 @@
|
|
|
show-cancel-button
|
|
|
@confirm="reselected"
|
|
|
>
|
|
|
- <person-list @selected="selected"></person-list>
|
|
|
+ <person-list @selected="selected" :type="1"></person-list>
|
|
|
</van-dialog>
|
|
|
</van-cell-group>
|
|
|
<van-cell-group>
|
|
@@ -115,8 +119,11 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { reactive, ref } from "vue";
|
|
|
+import { ref } from "vue";
|
|
|
import personList from "../personList.vue";
|
|
|
+import tools from "@/api/sys/tools";
|
|
|
+import UserManage from "@/api/user/UserManage";
|
|
|
+import { useRoute } from "vue-router";
|
|
|
export default {
|
|
|
components: { personList },
|
|
|
setup() {
|
|
@@ -125,54 +132,77 @@ export default {
|
|
|
history.back();
|
|
|
};
|
|
|
// 活动信息
|
|
|
- const inputForm = reactive({
|
|
|
- place: "",
|
|
|
- count: "",
|
|
|
- time: "",
|
|
|
- person: "",
|
|
|
- place: "",
|
|
|
- address: "",
|
|
|
- into: "",
|
|
|
+ let inputForm = ref({
|
|
|
+ id: "",
|
|
|
+ place: "320900",
|
|
|
+ placeSelectName: "盐城市",
|
|
|
+ placeSelectType3: "320900",
|
|
|
+ placeSelectType4: "",
|
|
|
+ placeSelectType5: "",
|
|
|
+ placeSelectType6: "",
|
|
|
+ placeDel: "",
|
|
|
+ frequency: "",
|
|
|
+ partyTime: "",
|
|
|
+ relatedPersons: {
|
|
|
+ id: "",
|
|
|
+ name: "",
|
|
|
+ },
|
|
|
+ content: "",
|
|
|
+ state: "0",
|
|
|
+ assessment: "0",
|
|
|
});
|
|
|
// 获取活动时间
|
|
|
let showAct = ref(false);
|
|
|
let currentDate = ref(["" + new Date().getFullYear(), "01", "01"]);
|
|
|
let currentTime = ref(["00", "00"]);
|
|
|
+ const columnsType = ["hour", "minute", "second"];
|
|
|
const getTime = () => {
|
|
|
showAct.value = false;
|
|
|
- inputForm.time = `${currentDate.value.join("-")} ${currentTime.value.join(
|
|
|
- ":"
|
|
|
- )}`;
|
|
|
+ inputForm.value.partyTime = `${currentDate.value.join(
|
|
|
+ "-"
|
|
|
+ )} ${currentTime.value.join(":")}`;
|
|
|
};
|
|
|
// 相关人
|
|
|
let showPerson = ref(false);
|
|
|
- let list = "";
|
|
|
- const selected = (val) => {
|
|
|
- list = val;
|
|
|
+ let list = {
|
|
|
+ value: [],
|
|
|
+ type: "",
|
|
|
+ };
|
|
|
+ const selected = (val, type) => {
|
|
|
+ list.value = val;
|
|
|
+ list.type = type;
|
|
|
};
|
|
|
const reselected = () => {
|
|
|
- inputForm.person = list;
|
|
|
+ let ids = [];
|
|
|
+ let names = [];
|
|
|
+ if (list.type == 1) {
|
|
|
+ list.value.forEach((item) => {
|
|
|
+ ids.push(item.id);
|
|
|
+ names.push(item.name);
|
|
|
+ });
|
|
|
+ inputForm.value.relatedPersons.id = ids.join(",");
|
|
|
+ inputForm.value.relatedPersons.name = names.join(",");
|
|
|
+ }
|
|
|
};
|
|
|
// 地区选择
|
|
|
let showArea = ref(false);
|
|
|
const cascaderValue = ref("");
|
|
|
+ const fieldNames = {
|
|
|
+ text: "name",
|
|
|
+ value: "code",
|
|
|
+ children: "children",
|
|
|
+ };
|
|
|
// 选项列表,children 代表子选项,支持多级嵌套
|
|
|
- const options = [
|
|
|
- {
|
|
|
- text: "浙江省",
|
|
|
- value: "330000",
|
|
|
- children: [{ text: "杭州市", value: "330100" }],
|
|
|
- },
|
|
|
- {
|
|
|
- text: "江苏省",
|
|
|
- value: "320000",
|
|
|
- children: [{ text: "南京市", value: "320100" }],
|
|
|
- },
|
|
|
- ];
|
|
|
+ let options = ref([]);
|
|
|
+ new tools().treeData().then((res) => {
|
|
|
+ options.value.push(res[0]);
|
|
|
+ });
|
|
|
// 全部选项选择完毕后,会触发 finish 事件
|
|
|
const onFinish = ({ selectedOptions }) => {
|
|
|
showArea.value = false;
|
|
|
- inputForm.place = selectedOptions.map((option) => option.text).join("/");
|
|
|
+ inputForm.value.placeSelectName = selectedOptions
|
|
|
+ .map((option) => option.name)
|
|
|
+ .join("/");
|
|
|
};
|
|
|
return {
|
|
|
inputForm,
|
|
@@ -180,6 +210,7 @@ export default {
|
|
|
showAct,
|
|
|
currentDate,
|
|
|
currentTime,
|
|
|
+ columnsType,
|
|
|
getTime,
|
|
|
// 返回
|
|
|
onClickLeft,
|
|
@@ -189,6 +220,7 @@ export default {
|
|
|
reselected,
|
|
|
// 地区选择
|
|
|
showArea,
|
|
|
+ fieldNames,
|
|
|
options,
|
|
|
onFinish,
|
|
|
cascaderValue,
|