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 <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&lt;typeof ElForm&gt; | undefined) =&gt; { @@ -175,6 +169,19 @@ const submitForm = (formEl: InstanceType&lt;typeof ElForm&gt; | undefined) =&gt; {
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(() =&gt; { @@ -188,51 +195,6 @@ onMounted(() =&gt; {
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>