Showing
2 changed files
with
26 additions
and
19 deletions
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | * @Author: hookehuyr hookehuyr@gmail.com | 2 | * @Author: hookehuyr hookehuyr@gmail.com |
| 3 | * @Date: 2022-05-26 23:52:36 | 3 | * @Date: 2022-05-26 23:52:36 |
| 4 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 4 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 5 | - * @LastEditTime: 2024-06-26 09:38:31 | 5 | + * @LastEditTime: 2024-06-28 17:08:06 |
| 6 | * @FilePath: /data-table/src/App.vue | 6 | * @FilePath: /data-table/src/App.vue |
| 7 | * @Description: | 7 | * @Description: |
| 8 | --> | 8 | --> |
| ... | @@ -72,7 +72,7 @@ onMounted(async () => { | ... | @@ -72,7 +72,7 @@ onMounted(async () => { |
| 72 | const code = getUrlParams(location.href) ? getUrlParams(location.href).code : ''; | 72 | const code = getUrlParams(location.href) ? getUrlParams(location.href).code : ''; |
| 73 | const model = getUrlParams(location.href) ? getUrlParams(location.href).model : ''; | 73 | const model = getUrlParams(location.href) ? getUrlParams(location.href).model : ''; |
| 74 | const data_id = getUrlParams(location.href) ? getUrlParams(location.href).data_id : ''; | 74 | const data_id = getUrlParams(location.href) ? getUrlParams(location.href).data_id : ''; |
| 75 | - // 权限控制新增参数 | 75 | + // 权限控制, 页面参数判断页面功能 |
| 76 | /** | 76 | /** |
| 77 | * add 新增页 | 77 | * add 新增页 |
| 78 | * info 详情页 | 78 | * info 详情页 |
| ... | @@ -82,7 +82,7 @@ onMounted(async () => { | ... | @@ -82,7 +82,7 @@ onMounted(async () => { |
| 82 | const page_type = getUrlParams(location.href) ? getUrlParams(location.href).page_type : ''; | 82 | const page_type = getUrlParams(location.href) ? getUrlParams(location.href).page_type : ''; |
| 83 | const raw_url = encodeURIComponent(location.pathname + location.hash); | 83 | const raw_url = encodeURIComponent(location.pathname + location.hash); |
| 84 | // 数据收集设置 | 84 | // 数据收集设置 |
| 85 | - const { data } = await getFormSettingAPI({ form_code: code }); | 85 | + const { data } = await getFormSettingAPI({ form_code: code, page_type, data_id }); |
| 86 | const form_setting = {}; | 86 | const form_setting = {}; |
| 87 | if (data.length) { | 87 | if (data.length) { |
| 88 | Object.assign(form_setting, data[0]['property_list'], data[0]['extend']); | 88 | Object.assign(form_setting, data[0]['property_list'], data[0]['extend']); | ... | ... |
| 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-28 14:22:00 | 4 | + * @LastEditTime: 2024-06-28 17:07:28 |
| 5 | * @FilePath: /data-table/src/views/index.vue | 5 | * @FilePath: /data-table/src/views/index.vue |
| 6 | * @Description: 首页 | 6 | * @Description: 首页 |
| 7 | --> | 7 | --> |
| ... | @@ -182,12 +182,22 @@ const postData = ref({}); | ... | @@ -182,12 +182,22 @@ const postData = ref({}); |
| 182 | 182 | ||
| 183 | // 编辑模式不能提交操作 | 183 | // 编辑模式不能提交操作 |
| 184 | const model = $route.query.model; | 184 | const model = $route.query.model; |
| 185 | -// 标记表单类型-只读标识 | 185 | +// 权限控制, 页面参数判断页面功能 |
| 186 | -const form_type = $route.query.type; | 186 | +/** |
| 187 | + * add 新增页 | ||
| 188 | + * info 详情页 | ||
| 189 | + * edit 编辑页 | ||
| 190 | + * flow 流程页 | ||
| 191 | + */ | ||
| 192 | +const page_type = $route.query.page_type ? $route.query.page_type : null; | ||
| 193 | +// | ||
| 194 | +const data_id = $route.query.data_id ? $route.query.data_id : null; | ||
| 187 | // 模仿金数据的扩展参数 | 195 | // 模仿金数据的扩展参数 |
| 188 | const x_field_1 = $route.query.x_field_1 ? $route.query.x_field_1 : null; | 196 | const x_field_1 = $route.query.x_field_1 ? $route.query.x_field_1 : null; |
| 189 | // 周期ID标识 | 197 | // 周期ID标识 |
| 190 | const x_cycle = $route.query.x_cycle ? $route.query.x_cycle : null; | 198 | const x_cycle = $route.query.x_cycle ? $route.query.x_cycle : null; |
| 199 | +// iframe传值openid | ||
| 200 | +const iframe_openid = getUrlParams(location.href) ? getUrlParams(location.href).openid : ''; | ||
| 191 | 201 | ||
| 192 | // 格式化表单数据结构 | 202 | // 格式化表单数据结构 |
| 193 | const formatData = (data) => { | 203 | const formatData = (data) => { |
| ... | @@ -309,7 +319,7 @@ onMounted(async () => { | ... | @@ -309,7 +319,7 @@ onMounted(async () => { |
| 309 | document | 319 | document |
| 310 | .querySelector("body") | 320 | .querySelector("body") |
| 311 | .setAttribute("style", `background-color: ${styleColor.backgroundColor}`); | 321 | .setAttribute("style", `background-color: ${styleColor.backgroundColor}`); |
| 312 | - const { data } = await queryFormAPI({ form_code: $route.query.code }); | 322 | + const { data } = await queryFormAPI({ form_code: $route.query.code, page_type, data_id }); |
| 313 | const form_data = data; | 323 | const form_data = data; |
| 314 | // 缓存表单信息 | 324 | // 缓存表单信息 |
| 315 | store.changeFormInfo(data); | 325 | store.changeFormInfo(data); |
| ... | @@ -523,9 +533,6 @@ onMounted(async () => { | ... | @@ -523,9 +533,6 @@ onMounted(async () => { |
| 523 | formData.value = formatData(page_form); | 533 | formData.value = formatData(page_form); |
| 524 | 534 | ||
| 525 | // TAG:获取原来表单数据 | 535 | // TAG:获取原来表单数据 |
| 526 | - // iframe传值openid | ||
| 527 | - const iframe_openid = getUrlParams(location.href) ? getUrlParams(location.href).openid : ''; | ||
| 528 | - const data_id = $route.query.data_id; | ||
| 529 | if (data_id) { // 如果有data_id,则获取历史数据 否则获取表单默认值 | 536 | if (data_id) { // 如果有data_id,则获取历史数据 否则获取表单默认值 |
| 530 | const history_data = await queryFormDataAPI({ form_code: $route.query.code, data_id, openid: iframe_openid }); | 537 | const history_data = await queryFormDataAPI({ form_code: $route.query.code, data_id, openid: iframe_openid }); |
| 531 | if (history_data.code) { | 538 | if (history_data.code) { |
| ... | @@ -536,7 +543,7 @@ onMounted(async () => { | ... | @@ -536,7 +543,7 @@ onMounted(async () => { |
| 536 | if (item.key === key) { | 543 | if (item.key === key) { |
| 537 | item.component_props.default = element; | 544 | item.component_props.default = element; |
| 538 | // 设置读写权限 read_only read_write | 545 | // 设置读写权限 read_only read_write |
| 539 | - if (form_type === 'readonly') { | 546 | + if (page_type === 'info') { |
| 540 | item.component_props.readonly = true; | 547 | item.component_props.readonly = true; |
| 541 | PCommit.value.visible = false; // 只读模式下,提交按钮隐藏 | 548 | PCommit.value.visible = false; // 只读模式下,提交按钮隐藏 |
| 542 | } | 549 | } |
| ... | @@ -939,14 +946,11 @@ const onSubmit = async (values) => { | ... | @@ -939,14 +946,11 @@ const onSubmit = async (values) => { |
| 939 | if (model === 'edit') { | 946 | if (model === 'edit') { |
| 940 | console.warn(postData.value); | 947 | console.warn(postData.value); |
| 941 | } | 948 | } |
| 942 | - if (model === 'edit' || model === 'preview' || form_type === 'readonly') return false; | 949 | + if (model === 'edit' || model === 'preview' || page_type === 'info') return false; |
| 943 | // 提交按钮禁用 | 950 | // 提交按钮禁用 |
| 944 | submitStatus.value = true; | 951 | submitStatus.value = true; |
| 945 | - // iframe传值openid | 952 | + // TAG:不同类型提交表单处理 |
| 946 | - const iframe_openid = getUrlParams(location.href) ? getUrlParams(location.href).openid : ''; | 953 | + if (page_type === 'add' || page_type == null) { // 新增表单提交 |
| 947 | - // | ||
| 948 | - const data_id = getUrlParams(location.href) ? getUrlParams(location.href).data_id : ''; | ||
| 949 | - if (!data_id) { // 正常表单提交 | ||
| 950 | // 通过验证 | 954 | // 通过验证 |
| 951 | const result = await addFormDataAPI({ | 955 | const result = await addFormDataAPI({ |
| 952 | form_code: $route.query.code, | 956 | form_code: $route.query.code, |
| ... | @@ -983,7 +987,7 @@ const onSubmit = async (values) => { | ... | @@ -983,7 +987,7 @@ const onSubmit = async (values) => { |
| 983 | // 提交按钮禁用状态 | 987 | // 提交按钮禁用状态 |
| 984 | submitStatus.value = false; | 988 | submitStatus.value = false; |
| 985 | } | 989 | } |
| 986 | - } else { | 990 | + } else if (page_type === 'edit') { // 编辑表单提交 |
| 987 | // 编辑模式表单提交 | 991 | // 编辑模式表单提交 |
| 988 | const result = await modiFormDataAPI({ | 992 | const result = await modiFormDataAPI({ |
| 989 | form_code: $route.query.code, | 993 | form_code: $route.query.code, |
| ... | @@ -991,7 +995,6 @@ const onSubmit = async (values) => { | ... | @@ -991,7 +995,6 @@ const onSubmit = async (values) => { |
| 991 | openid: iframe_openid, | 995 | openid: iframe_openid, |
| 992 | data_id | 996 | data_id |
| 993 | }); | 997 | }); |
| 994 | - // TODO: 后续流程可能不一致,需要讨论 | ||
| 995 | if (result.code) { | 998 | if (result.code) { |
| 996 | // 提交按钮禁用状态 | 999 | // 提交按钮禁用状态 |
| 997 | submitStatus.value = false; | 1000 | submitStatus.value = false; |
| ... | @@ -1005,6 +1008,10 @@ const onSubmit = async (values) => { | ... | @@ -1005,6 +1008,10 @@ const onSubmit = async (values) => { |
| 1005 | // 提交按钮禁用状态 | 1008 | // 提交按钮禁用状态 |
| 1006 | submitStatus.value = false; | 1009 | submitStatus.value = false; |
| 1007 | } | 1010 | } |
| 1011 | + } else if (page_type === 'flow') { // TODO: 流程表单提交 | ||
| 1012 | + | ||
| 1013 | + } else { | ||
| 1014 | + console.warn('缺参数'); | ||
| 1008 | } | 1015 | } |
| 1009 | } else { | 1016 | } else { |
| 1010 | // 提交按钮禁用状态 | 1017 | // 提交按钮禁用状态 | ... | ... |
-
Please register or login to post a comment