Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
data-table
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Authored by
hookehuyr
2024-08-12 11:16:58 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
99d2fa6a9b06ae1749715f64a9372602d57fd919
99d2fa6a
1 parent
a4e30ba6
✨ feat: 入口添加参数force_back, 强制按照后台用户模式检查权限
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
35 deletions
src/App.vue
src/views/index.vue
src/App.vue
View file @
99d2fa6
...
...
@@ -2,7 +2,7 @@
* @Author: hookehuyr hookehuyr@gmail.com
* @Date: 2022-05-26 23:52:36
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-08-
02 22:58:0
5
* @LastEditTime: 2024-08-
12 11:12:3
5
* @FilePath: /data-table/src/App.vue
* @Description:
-->
...
...
@@ -82,8 +82,9 @@ onMounted(async () => {
const page_type = getUrlParams(location.href) ? getUrlParams(location.href).page_type : '';
const raw_url = encodeURIComponent(location.pathname + location.hash);
const flow_node_code = getUrlParams(location.href) ? getUrlParams(location.href).flow_node_code : ''; // flow_node_code 表示随机选择的流程节点的ID
const force_back = getUrlParams(location.href) ? getUrlParams(location.href).force_back : ''; // force_back=1 时,强制按照后台用户模式检查权限
// 数据收集设置
const { data } = await getFormSettingAPI({ form_code: code, page_type, data_id, flow_node_code });
const { data } = await getFormSettingAPI({ form_code: code, page_type, data_id, flow_node_code
, force_back
});
const form_setting = {};
if (data.length) {
Object.assign(form_setting, data[0]['property_list'], data[0]['extend']);
...
...
src/views/index.vue
View file @
99d2fa6
<!--
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2024-08-
09 19:22:14
* @LastEditTime: 2024-08-
12 11:15:45
* @FilePath: /data-table/src/views/index.vue
* @Description: 首页
-->
...
...
@@ -193,16 +193,7 @@
<script setup>
import "@vant/touch-emulator";
import { createComponentType } from "@/hooks/useComponentType";
import {
Cookies,
$,
_,
axios,
storeToRefs,
mainStore,
Toast,
useTitle,
} from "@/utils/generatePackage.js";
import { Cookies, $, _, axios, storeToRefs, mainStore, Toast, useTitle, } from "@/utils/generatePackage.js";
import { useRoute } from "vue-router";
import { queryFormAPI, postVerifyPasswordAPI } from "@/api/form.js";
import { addFormDataAPI, queryFormDataAPI, modiFormDataAPI, flowFormDataAPI } from "@/api/data.js";
...
...
@@ -261,7 +252,8 @@ const x_field_1 = $route.query.x_field_1 ? $route.query.x_field_1 : null;
const x_cycle = $route.query.x_cycle ? $route.query.x_cycle : null;
// iframe传值openid
const iframe_openid = getUrlParams(location.href) ? getUrlParams(location.href).openid : '';
// 强制后台检查标识
const force_back = $route.query.force_back ? $route.query.force_back : '';
// 格式化表单数据结构
const formatData = (data) => {
const arr = [];
...
...
@@ -347,23 +339,6 @@ const onApprovalSelect = (item) => {
}
myForm.value.submit();
}
// switch (item.id) {
// case 'commit':
// myForm.value.submit();
// break;
// case 'draft':
// myForm.value.submit();
// break;
// case 'withdraw':
// handleApproval('withdraw');
// break;
// case 'reject':
// handleApproval('reject');
// break;
// case 'terminate':
// handleApproval('terminate');
// break;
// }
};
const onApprovalCancel = () => {
console.warn('取消');
...
...
@@ -426,7 +401,7 @@ onMounted(async () => {
document
.querySelector("body")
.setAttribute("style", `background-color: ${styleColor.backgroundColor}`);
const { data, flow_process_list, code } = await queryFormAPI({ form_code: $route.query.code, page_type, data_id, flow_node_code }); // flow_node_code 表示随机选择的流程节点的ID
const { data, flow_process_list, code } = await queryFormAPI({ form_code: $route.query.code, page_type, data_id, flow_node_code
, force_back
}); // flow_node_code 表示随机选择的流程节点的ID
const form_data = data;
// 处理审批意见显示
if (code) {
...
...
@@ -652,7 +627,7 @@ onMounted(async () => {
// TAG:获取原来表单数据
if (data_id) { // 如果有data_id,则获取历史数据 否则获取表单默认值
const history_data = await queryFormDataAPI({ form_code: $route.query.code, data_id, openid: iframe_openid });
const history_data = await queryFormDataAPI({ form_code: $route.query.code, data_id, openid: iframe_openid
, force_back
});
if (history_data.code) {
// let object = history_data.data; // 表单数据
// formData.value.forEach((item) => { // 把对应数据赋值到表单
...
...
@@ -671,7 +646,7 @@ onMounted(async () => {
// 结构优化一下
let object = history_data.data;
const isInfoPage = page_type === 'info';
const objectMap = new Map(Object.entries(object)); // 将 object 转换为 Map
const objectMap = new Map(Object.entries(object)); // 将 object 转换为 Map
,Object.entries() 方法用于返回一个给定对象自身可枚举属性的键值对数组,数组中的每个元素是一个包含键值对的数组,[ ["name", "Alice"], ["age", 30], ["city", "New York"] ]
formData.value.forEach((item) => {
if (objectMap.has(item.key)) {
item.component_props.default = objectMap.get(item.key);
...
...
@@ -1183,6 +1158,7 @@ const onSubmit = async (values) => {
openid: iframe_openid,
flow_id: formSetting.value.flow_id, // 流程相关保存接口, 把flow_id传到后台
flow_node_action_id: 'commit', // 流程节点的操作按钮的ID, 因为只有提交操作,ID写死
force_back
});
if (result.code) {
// 提交按钮禁用状态
...
...
@@ -1227,7 +1203,8 @@ const onSubmit = async (values) => {
form_code: $route.query.code,
data: postData.value,
openid: iframe_openid,
data_id
data_id,
force_back
});
if (result.code) {
// 提交按钮禁用状态
...
...
@@ -1257,6 +1234,7 @@ const onSubmit = async (values) => {
flow_node_action_id: flow_node_action_id.value,
flow_content: approval_note.value,
flow_reject_to_node_codes: checked_reject.value.length ? checked_reject.value.join(',') : '',
force_back
});
if (result.code) {
// 提交按钮禁用状态
...
...
Please
register
or
login
to post a comment