Commit 66de4d786ddda15268d000deffc0b3794e49cf08
1 parent
9318fb38
debug watch
Showing
1 changed file
with
25 additions
and
63 deletions
src/views/column/edit.vue
| 1 | <script setup lang="ts"> | 1 | <script setup lang="ts"> |
| 2 | -import { reactive, ref, getCurrentInstance, onMounted, watch } from "vue"; | 2 | +import { |
| 3 | + reactive, | ||
| 4 | + ref, | ||
| 5 | + getCurrentInstance, | ||
| 6 | + onMounted, | ||
| 7 | + watchEffect, | ||
| 8 | +} from "vue"; | ||
| 3 | import { columnAdd, columnEdit } from "@/api/property/column"; | 9 | import { columnAdd, columnEdit } from "@/api/property/column"; |
| 4 | import { useRoute } from "vue-router"; | 10 | import { useRoute } from "vue-router"; |
| 5 | import { back } from "@/utils/tool"; | 11 | import { back } from "@/utils/tool"; |
| @@ -45,37 +51,25 @@ const rules = reactive({ | @@ -45,37 +51,25 @@ const rules = reactive({ | ||
| 45 | trigger: "blur", | 51 | trigger: "blur", |
| 46 | }, | 52 | }, |
| 47 | ], | 53 | ], |
| 48 | - // cmsPageId: [ | ||
| 49 | - // { | ||
| 50 | - // required: false, | ||
| 51 | - // message: "请填写CMS页面ID", | ||
| 52 | - // trigger: "blur", | ||
| 53 | - // }, | ||
| 54 | - // ], | ||
| 55 | - // cmsColumnId: [ | ||
| 56 | - // { | ||
| 57 | - // required: false, | ||
| 58 | - // message: "请填写CMS栏目ID", | ||
| 59 | - // trigger: "blur", | ||
| 60 | - // }, | ||
| 61 | - // ], | ||
| 62 | cmsPageId: [ | 54 | cmsPageId: [ |
| 63 | { | 55 | { |
| 64 | - required: form.data.cmsPageType === 4 && form.data.cmsColumnId? false: true, | 56 | + required: |
| 57 | + form.data.cmsPageType === 4 && form.data.cmsColumnId ? false : true, | ||
| 65 | message: "请填写CMS页面ID", | 58 | message: "请填写CMS页面ID", |
| 66 | trigger: "change", | 59 | trigger: "change", |
| 67 | }, | 60 | }, |
| 68 | ], | 61 | ], |
| 69 | cmsColumnId: [ | 62 | cmsColumnId: [ |
| 70 | { | 63 | { |
| 71 | - required: form.data.cmsPageType === 4 && form.data.cmsPageId? false: true, | 64 | + required: |
| 65 | + form.data.cmsPageType === 4 && form.data.cmsPageId ? false : true, | ||
| 72 | message: "请填写CMS栏目ID", | 66 | message: "请填写CMS栏目ID", |
| 73 | trigger: "change", | 67 | trigger: "change", |
| 74 | }, | 68 | }, |
| 75 | ], | 69 | ], |
| 76 | cmsPageUrl: [ | 70 | cmsPageUrl: [ |
| 77 | { | 71 | { |
| 78 | - required: form.data.cmsPageType === 1? true: false, | 72 | + required: form.data.cmsPageType === 1 ? true : false, |
| 79 | message: "请填写CMS页面链接", | 73 | message: "请填写CMS页面链接", |
| 80 | trigger: "blur", | 74 | trigger: "blur", |
| 81 | }, | 75 | }, |
| @@ -175,6 +169,19 @@ const submitForm = (formEl: InstanceType<typeof ElForm> | undefined) => { | @@ -175,6 +169,19 @@ const submitForm = (formEl: InstanceType<typeof ElForm> | undefined) => { | ||
| 175 | const handleImageChange = (url: string, tagName: string) => { | 169 | const handleImageChange = (url: string, tagName: string) => { |
| 176 | form.data[tagName] = url; | 170 | form.data[tagName] = url; |
| 177 | }; | 171 | }; |
| 172 | +watchEffect(() => { | ||
| 173 | + // cms页面类型为【原生 4】时,cms栏目ID、cms页面ID必填一个,cms栏目名称选填 | ||
| 174 | + // cms页面类型为【h5 1】时,页面url必填 | ||
| 175 | + if (~~form.data.cmsPageType === 4) { | ||
| 176 | + rules.cmsPageUrl[0].required = false; | ||
| 177 | + rules.cmsPageId[0].required = ~~form.data.cmsColumnId ? false : true; | ||
| 178 | + rules.cmsColumnId[0].required = ~~form.data.cmsPageId ? false : true; | ||
| 179 | + } else { | ||
| 180 | + rules.cmsPageUrl[0].required = true; | ||
| 181 | + rules.cmsPageId[0].required = false; | ||
| 182 | + rules.cmsColumnId[0].required = false; | ||
| 183 | + } | ||
| 184 | +}); | ||
| 178 | onMounted(() => { | 185 | onMounted(() => { |
| 179 | form.dataType = useRoute().query.dataType; | 186 | form.dataType = useRoute().query.dataType; |
| 180 | mlen.value = 4; | 187 | mlen.value = 4; |
| @@ -188,51 +195,6 @@ onMounted(() => { | @@ -188,51 +195,6 @@ onMounted(() => { | ||
| 188 | mlen.value = 6; | 195 | mlen.value = 6; |
| 189 | break; | 196 | break; |
| 190 | } | 197 | } |
| 191 | - // cms页面类型为【原生 4】时,cms栏目ID、cms页面ID必填一个,cms栏目名称选填 | ||
| 192 | - // cms页面类型为【h5 1】时,页面url必填 | ||
| 193 | - if(~~form.data.cmsPageType === 4) { | ||
| 194 | - rules.cmsPageUrl[0].required = false; | ||
| 195 | - rules.cmsPageId[0].required = ~~form.data.cmsColumnId? false: true | ||
| 196 | - rules.cmsColumnId[0].required = ~~form.data.cmsPageId? false: true | ||
| 197 | - } else { | ||
| 198 | - rules.cmsPageUrl[0].required = true | ||
| 199 | - rules.cmsPageId[0].required = false | ||
| 200 | - rules.cmsColumnId[0].required = false | ||
| 201 | - } | ||
| 202 | - watch( | ||
| 203 | - () => form.data.cmsPageType, | ||
| 204 | - (data) => { | ||
| 205 | - if (~~data === 4) { | ||
| 206 | - rules.cmsPageUrl[0].required = false; | ||
| 207 | - rules.cmsColumnId[0].required = form.data.cmsPageId? false: true | ||
| 208 | - rules.cmsPageId[0].required = form.data.cmsColumnId? false: true | ||
| 209 | - } else if (~~data === 1) { | ||
| 210 | - rules.cmsPageUrl[0].required = true; | ||
| 211 | - rules.cmsPageId[0].required = false; | ||
| 212 | - rules.cmsColumnId[0].required = false; | ||
| 213 | - } | ||
| 214 | - } | ||
| 215 | - ); | ||
| 216 | - watch( | ||
| 217 | - () => form.data.cmsPageId, | ||
| 218 | - (data) => { | ||
| 219 | - if (~~form.data.cmsPageType === 4) { | ||
| 220 | - rules.cmsColumnId[0].required = data ? false : true; | ||
| 221 | - } else { | ||
| 222 | - rules.cmsColumnId[0].required = false; | ||
| 223 | - } | ||
| 224 | - } | ||
| 225 | - ); | ||
| 226 | - watch( | ||
| 227 | - () => form.data.cmsColumnId, | ||
| 228 | - (data) => { | ||
| 229 | - if (~~form.data.cmsPageType === 4) { | ||
| 230 | - rules.cmsPageId[0].required = data ? false : true; | ||
| 231 | - } else { | ||
| 232 | - rules.cmsPageId[0].required = false; | ||
| 233 | - } | ||
| 234 | - } | ||
| 235 | - ); | ||
| 236 | form.data.sort = ~~useRoute().query.sort; | 198 | form.data.sort = ~~useRoute().query.sort; |
| 237 | }); | 199 | }); |
| 238 | </script> | 200 | </script> |