hookehuyr

fix 树形组件获取默认值,和测试

1 <!-- 1 <!--
2 * @Date: 2022-08-29 14:31:20 2 * @Date: 2022-08-29 14:31:20
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-06-03 18:27:47 4 + * @LastEditTime: 2024-06-04 14:02:58
5 - * @FilePath: /data-table/src/components/TreeField/MyComponent.vue 5 + * @FilePath: /data-table/src/components/OrgPickerField/MyComponent.vue
6 * @Description: 树形组件 6 * @Description: 树形组件
7 --> 7 -->
8 <template> 8 <template>
...@@ -234,25 +234,20 @@ console.log("🚀 ~ file: MyComponent.vue:227 ~ props:", props); ...@@ -234,25 +234,20 @@ console.log("🚀 ~ file: MyComponent.vue:227 ~ props:", props);
234 const emit = defineEmits(["active"]); 234 const emit = defineEmits(["active"]);
235 235
236 onMounted(() => { 236 onMounted(() => {
237 - // props.item.value = props.item?.component_props.default;
238 // TODO:获取已选中数据 237 // TODO:获取已选中数据
239 - // emitCheckedGroup.value = { 238 + // 如果有默认值处理
240 - // dept: [{ 239 + if (props.value) {
241 - // "id": 107691, 240 + let default_value = JSON.parse(props.value);
242 - // "name": "插花组", 241 + default_value.forEach(item => {
243 - // "type": "dept" 242 + if (item.type === 'dept') {
244 - // }], 243 + emitCheckedGroup.value.dept.push(item);
245 - // role: [{ 244 + } else if (item.type === 'role') {
246 - // "id": 137902, 245 + emitCheckedGroup.value.role.push(item);
247 - // "name": "大道大商营员组长", 246 + } else if (item.type === 'user') {
248 - // "type": "role" 247 + emitCheckedGroup.value.user.push(item);
249 - // }], 248 + }
250 - // user: [{ 249 + })
251 - // "id": 107707, 250 + }
252 - // "name": "场地组长",
253 - // "type": "user"
254 - // }]
255 - // }
256 }); 251 });
257 252
258 const openTree = () => { 253 const openTree = () => {
......
1 <!-- 1 <!--
2 * @Date: 2022-08-29 14:31:20 2 * @Date: 2022-08-29 14:31:20
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-06-03 13:29:18 4 + * @LastEditTime: 2024-06-04 13:13:03
5 - * @FilePath: /data-table/src/components/TreeField/index.vue 5 + * @FilePath: /data-table/src/components/OrgPickerField/index.vue
6 * @Description: 树形组件 6 * @Description: 树形组件
7 --> 7 -->
8 <template> 8 <template>
...@@ -44,23 +44,6 @@ const isGroup = computed(() => { ...@@ -44,23 +44,6 @@ const isGroup = computed(() => {
44 44
45 onMounted(() => { 45 onMounted(() => {
46 // props.item.value = props.item.component_props.default; 46 // props.item.value = props.item.component_props.default;
47 - // TODO:获取已选中数据
48 - // emitCheckedGroup.value = {
49 - // dept: [{
50 - // "id": 107691,
51 - // "name": "插花组",
52 - // "type": "dept"
53 - // }],
54 - // role: [{
55 - // "id": 137902,
56 - // "name": "大道大商营员组长",
57 - // "type": "role"
58 - // }],
59 - // user: [{
60 - // "id": 107707,
61 - // "name": "场地组长",
62 - // "type": "user"
63 - // }]
64 }); 47 });
65 48
66 // 规则校验 49 // 规则校验
......
1 <!-- 1 <!--
2 * @Date: 2022-07-18 10:22:22 2 * @Date: 2022-07-18 10:22:22
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2024-06-03 17:06:34 4 + * @LastEditTime: 2024-06-04 17:19:56
5 * @FilePath: /data-table/src/views/index.vue 5 * @FilePath: /data-table/src/views/index.vue
6 * @Description: 首页 6 * @Description: 首页
7 --> 7 -->
...@@ -243,7 +243,8 @@ onMounted(async () => { ...@@ -243,7 +243,8 @@ onMounted(async () => {
243 // TODO:待完善,集合组保存的字段和值怎么处理,都是单条数据都要合并到相应的 group_field_name 下面? 243 // TODO:待完善,集合组保存的字段和值怎么处理,都是单条数据都要合并到相应的 group_field_name 下面?
244 // page_form.unshift({ 244 // page_form.unshift({
245 // data_type : "text", 245 // data_type : "text",
246 - // default : "", 246 + // default : '',
247 + // // default : '[{ "id": 107691, "name": "插花组", "type": "dept" }, { "id": 137902, "name": "大道大商营员组长", "type": "role" },{ "id": 107707, "name": "场地组长", "type": "user" }]',
247 // disabled : false, 248 // disabled : false,
248 // field_id : 1414832, 249 // field_id : 1414832,
249 // field_name : "field_4", 250 // field_name : "field_4",
...@@ -254,128 +255,128 @@ onMounted(async () => { ...@@ -254,128 +255,128 @@ onMounted(async () => {
254 // placeholder : "请输入", 255 // placeholder : "请输入",
255 // readonly : false, 256 // readonly : false,
256 // required : true, 257 // required : true,
257 - // tag : "tree", 258 + // tag : "org_picker",
258 // unique : false, 259 // unique : false,
259 // }); 260 // });
260 261
261 - page_form.unshift({ 262 + // page_form.unshift({
262 - data_type : "text", 263 + // data_type : "text",
263 - default : "", 264 + // default : "",
264 - disabled : false, 265 + // disabled : false,
265 - field_id : 1414832, 266 + // field_id : 1414832,
266 - field_name : "field_4", 267 + // field_name : "field_4",
267 - index : 41, 268 + // index : 41,
268 - interaction_type : "h5edit", 269 + // interaction_type : "h5edit",
269 - label : "物品详情", 270 + // label : "物品详情",
270 - name : "name_41", 271 + // name : "name_41",
271 - placeholder : "请输入", 272 + // placeholder : "请输入",
272 - readonly : false, 273 + // readonly : false,
273 - required : false, 274 + // required : false,
274 - tag : "group", 275 + // tag : "group",
275 - unique : false, 276 + // unique : false,
276 - field_groups: [{ 277 + // field_groups: [{
277 - "tag": "input", 278 + // "tag": "input",
278 - "name": "input_21", 279 + // "name": "input_21",
279 - "index": 2, 280 + // "index": 2,
280 - "label": "物品描述", 281 + // "label": "物品描述",
281 - "unique": false, 282 + // "unique": false,
282 - "default": "", 283 + // "default": "",
283 - "disabled": false, 284 + // "disabled": false,
284 - "field_id": 7985071, 285 + // "field_id": 7985071,
285 - "readonly": false, 286 + // "readonly": false,
286 - "required": false, 287 + // "required": false,
287 - "data_type": "text", 288 + // "data_type": "text",
288 - "field_name": "field_10", 289 + // "field_name": "field_10",
289 - "placeholder": "请输入", 290 + // "placeholder": "请输入",
290 - "is_camera_scan": false, 291 + // "is_camera_scan": false,
291 - "camera_scan_type": "", 292 + // "camera_scan_type": "",
292 - "interaction_type": "h5edit", 293 + // "interaction_type": "h5edit",
293 - "is_edit_camera_scan_result": false, 294 + // "is_edit_camera_scan_result": false,
294 - "group_field_name" : "field_4", 295 + // "group_field_name" : "field_4",
295 - },{ 296 + // },{
296 - "tag": "gender", 297 + // "tag": "gender",
297 - "name": "gender_3", 298 + // "name": "gender_3",
298 - "note": "", 299 + // "note": "",
299 - "index": 3, 300 + // "index": 3,
300 - "label": "性别", 301 + // "label": "性别",
301 - "options": [ 302 + // "options": [
302 - { 303 + // {
303 - "title": "男", 304 + // "title": "男",
304 - "value": "男", 305 + // "value": "男",
305 - "checked": false, 306 + // "checked": false,
306 - "desc_url": "", 307 + // "desc_url": "",
307 - "is_input": false, 308 + // "is_input": false,
308 - "desc_text": "", 309 + // "desc_text": "",
309 - "desc_type": "", 310 + // "desc_type": "",
310 - "desc_btn_name": "", 311 + // "desc_btn_name": "",
311 - "input_required": false, 312 + // "input_required": false,
312 - "input_placeholder": "请输入补充信息" 313 + // "input_placeholder": "请输入补充信息"
313 - }, 314 + // },
314 - { 315 + // {
315 - "title": "女", 316 + // "title": "女",
316 - "value": "女", 317 + // "value": "女",
317 - "checked": false, 318 + // "checked": false,
318 - "desc_url": "", 319 + // "desc_url": "",
319 - "is_input": false, 320 + // "is_input": false,
320 - "desc_text": "", 321 + // "desc_text": "",
321 - "desc_type": "", 322 + // "desc_type": "",
322 - "desc_btn_name": "", 323 + // "desc_btn_name": "",
323 - "input_required": false, 324 + // "input_required": false,
324 - "input_placeholder": "请输入补充信息" 325 + // "input_placeholder": "请输入补充信息"
325 - } 326 + // }
326 - ], 327 + // ],
327 - "disabled": false, 328 + // "disabled": false,
328 - "field_id": 799603, 329 + // "field_id": 799603,
329 - "required": false, 330 + // "required": false,
330 - "data_type": "text", 331 + // "data_type": "text",
331 - "direction": "vertical", 332 + // "direction": "vertical",
332 - "field_name": "field_4", 333 + // "field_name": "field_4",
333 - "option_map": { 334 + // "option_map": {
334 - "女": { 335 + // "女": {
335 - "title": "女", 336 + // "title": "女",
336 - "value": "女", 337 + // "value": "女",
337 - "checked": false, 338 + // "checked": false,
338 - "desc_url": "", 339 + // "desc_url": "",
339 - "is_input": false, 340 + // "is_input": false,
340 - "desc_text": "", 341 + // "desc_text": "",
341 - "desc_type": "", 342 + // "desc_type": "",
342 - "desc_btn_name": "", 343 + // "desc_btn_name": "",
343 - "input_required": false, 344 + // "input_required": false,
344 - "input_placeholder": "请输入补充信息" 345 + // "input_placeholder": "请输入补充信息"
345 - }, 346 + // },
346 - "男": { 347 + // "男": {
347 - "title": "男", 348 + // "title": "男",
348 - "value": "男", 349 + // "value": "男",
349 - "checked": false, 350 + // "checked": false,
350 - "desc_url": "", 351 + // "desc_url": "",
351 - "is_input": false, 352 + // "is_input": false,
352 - "desc_text": "", 353 + // "desc_text": "",
353 - "desc_type": "", 354 + // "desc_type": "",
354 - "desc_btn_name": "", 355 + // "desc_btn_name": "",
355 - "input_required": false, 356 + // "input_required": false,
356 - "input_placeholder": "请输入补充信息" 357 + // "input_placeholder": "请输入补充信息"
357 - } 358 + // }
358 - }, 359 + // },
359 - "interaction_type": "h5edit" 360 + // "interaction_type": "h5edit"
360 - },] 361 + // },]
361 - }); 362 + // });
362 363
363 - page_form.push({ 364 + // page_form.push({
364 - "tag": "name", 365 + // "tag": "name",
365 - "name": "name_2", 366 + // "name": "name_2",
366 - "index": 2, 367 + // "index": 2,
367 - "label": "姓名", 368 + // "label": "姓名",
368 - "unique": false, 369 + // "unique": false,
369 - "default": "", 370 + // "default": "",
370 - "disabled": false, 371 + // "disabled": false,
371 - "field_id": 799599, 372 + // "field_id": 799599,
372 - "readonly": false, 373 + // "readonly": false,
373 - "required": true, 374 + // "required": true,
374 - "data_type": "text", 375 + // "data_type": "text",
375 - "field_name": "field_2", 376 + // "field_name": "field_2",
376 - "placeholder": "请输入", 377 + // "placeholder": "请输入",
377 - "interaction_type": "h5edit" 378 + // "interaction_type": "h5edit"
378 - }) 379 + // })
379 formData.value = formatData(page_form); 380 formData.value = formatData(page_form);
380 // TODO:再次提交测试, 需要获取原来表单数据 381 // TODO:再次提交测试, 需要获取原来表单数据
381 // formData.value.forEach((item) => { 382 // formData.value.forEach((item) => {
......