hookehuyr

fix 权限控制, 页面参数判断页面功能

...@@ -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 // 提交按钮禁用状态
......