Commit 66de4d786ddda15268d000deffc0b3794e49cf08

Authored by 杨泽宇
1 parent 9318fb38

debug watch

Showing 1 changed file with 25 additions and 63 deletions
src/views/column/edit.vue
1 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 9 import { columnAdd, columnEdit } from "@/api/property/column";
4 10 import { useRoute } from "vue-router";
5 11 import { back } from "@/utils/tool";
... ... @@ -45,37 +51,25 @@ const rules = reactive({
45 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 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 58 message: "请填写CMS页面ID",
66 59 trigger: "change",
67 60 },
68 61 ],
69 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 66 message: "请填写CMS栏目ID",
73 67 trigger: "change",
74 68 },
75 69 ],
76 70 cmsPageUrl: [
77 71 {
78   - required: form.data.cmsPageType === 1? true: false,
  72 + required: form.data.cmsPageType === 1 ? true : false,
79 73 message: "请填写CMS页面链接",
80 74 trigger: "blur",
81 75 },
... ... @@ -175,6 +169,19 @@ const submitForm = (formEl: InstanceType&lt;typeof ElForm&gt; | undefined) =&gt; {
175 169 const handleImageChange = (url: string, tagName: string) => {
176 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 185 onMounted(() => {
179 186 form.dataType = useRoute().query.dataType;
180 187 mlen.value = 4;
... ... @@ -188,51 +195,6 @@ onMounted(() =&gt; {
188 195 mlen.value = 6;
189 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 198 form.data.sort = ~~useRoute().query.sort;
237 199 });
238 200 </script>
... ...