Browse Source

审批流节点福泉

qin_26
herenshan112 3 weeks ago
parent
commit
e517ac094c
  1. 1
      package.json
  2. 4
      src/api/DesignForm/filterUnit.ts
  3. 7
      src/api/DesignForm/flowPower.ts
  4. 6
      src/api/DesignForm/types.ts
  5. 4
      src/api/taskapi/management.ts
  6. 20
      src/api/taskapi/types.ts
  7. 12
      src/components/DesignForm/aceDrawer.vue
  8. 42
      src/components/DesignForm/formControlPropertiNew.vue
  9. 10
      src/components/DesignForm/public/expand/org.vue
  10. 2
      src/components/DesignForm/public/expand/pickpost.vue
  11. 12
      src/components/DesignForm/public/form/childTable.vue
  12. 71
      src/components/DesignForm/public/form/formGroup.vue
  13. 231
      src/components/DesignForm/public/form/formItem.vue
  14. 19
      src/components/DesignForm/tableListPage/formPageCont.vue
  15. 2
      src/components/DesignForm/tableListPage/formPageContApp.vue
  16. 8
      src/components/DesignForm/tableListPage/index.vue
  17. 40
      src/components/workflow/drwer/copyerSend.vue
  18. 2
      src/components/workflow/nodeWrap.vue
  19. 10
      src/layout/components/Sidebar/SidebarItem.vue
  20. 7
      src/store/modules/user.ts
  21. 16
      src/views/login/index.vue
  22. 10
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/simulateTaskFlow.vue
  23. 2
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue
  24. 54
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue
  25. 24
      src/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue
  26. 26
      src/views/sysworkflow/lowcodepage/pageFlow/tableFlow.vue
  27. 3
      src/views/taskplatform/taskmanagement/lookFlowInfoApp.vue
  28. 65
      src/widget/associatedforms/index.vue
  29. 67
      src/widget/baidumap/index.vue
  30. 65
      src/widget/baidumap/indexLook.vue
  31. 68
      src/widget/carousel/index.vue
  32. 67
      src/widget/digitpage/index.vue
  33. 63
      src/widget/lowcodeimage/index.vue
  34. 64
      src/widget/lowcodetransfer/index.vue
  35. 62
      src/widget/number/index.vue
  36. 2
      src/widget/org/cont.vue
  37. 68
      src/widget/org/index.vue
  38. 63
      src/widget/orgcitys/index.vue
  39. 156
      src/widget/systemunit/deptOrgPage.vue
  40. 61
      src/widget/systemunit/deptOrgSearch.vue
  41. 62
      src/widget/systemunit/editTime.vue
  42. 61
      src/widget/systemunit/founder.vue
  43. 64
      src/widget/systemunit/founderTime.vue
  44. 67
      src/widget/systemunit/ownerPage.vue
  45. 63
      src/widget/urllink/index.vue
  46. 64
      src/widget/videoupload/index.vue
  47. 67
      src/widget/writingboard/index.vue
  48. 19
      vite.config.ts

1
package.json

@ -124,6 +124,7 @@
"postcss-html": "^1.5.0", "postcss-html": "^1.5.0",
"postcss-scss": "^4.0.6", "postcss-scss": "^4.0.6",
"prettier": "^2.8.8", "prettier": "^2.8.8",
"rollup-plugin-terser": "^7.0.2",
"sass": "^1.58.3", "sass": "^1.58.3",
"stylelint": "^15.5.0", "stylelint": "^15.5.0",
"stylelint-config-html": "^1.1.0", "stylelint-config-html": "^1.1.0",

4
src/api/DesignForm/filterUnit.ts

@ -6,7 +6,7 @@ import { layoutUnit } from "@/api/DesignForm/fieldUnit";
@ 功能: 解析出表单可作为AI变量的元素 @ 功能: 解析出表单可作为AI变量的元素
*/ */
const analysisFromUnit = (unitInfo:formStruct) => { const analysisFromUnit = (unitInfo:formStruct) => {
console.log("解析出表单可作为AI变量的元素------------>",unitInfo) // console.log("解析出表单可作为AI变量的元素------------>",unitInfo)
let optionsInfo = new Array let optionsInfo = new Array
if(unitInfo.formData&&unitInfo.formData.list && unitInfo.formData.list.length>0 ){ if(unitInfo.formData&&unitInfo.formData.list && unitInfo.formData.list.length>0 ){
unitInfo.formData.list.forEach((item:any) => { unitInfo.formData.list.forEach((item:any) => {
@ -17,7 +17,7 @@ const analysisFromUnit = (unitInfo:formStruct) => {
//显示子表单字段 //显示子表单字段
if(item.type=="table"){ if(item.type=="table"){
item.list.forEach(eles => { item.list.forEach((eles: { label: string; item: { label: string; }; unitName: string; name: any; }) => {
let labelName = "" let labelName = ""
if(eles.label){ if(eles.label){
labelName = eles.label labelName = eles.label

7
src/api/DesignForm/flowPower.ts

@ -0,0 +1,7 @@
const allNodePwoer = inject('flowNodePower')
const currentNodePowerKey = inject('currentNodeKey')
export const ObtainAuthorization = (key:string,types?:number) => {
console.log("测试是否获取授权-1-->",allNodePwoer)
console.log("测试是否获取授权-2-->",currentNodePowerKey)
}

6
src/api/DesignForm/types.ts

@ -10,9 +10,9 @@ export interface FormList {
tableData?: any // 子表时 tableData?: any // 子表时
options?: Options[] // radio;checkbox;select选项 options?: Options[] // radio;checkbox;select选项
styles:{ styles:{
divStyle:{}, divStyle:any,
labelStyle:{}, labelStyle:any,
inputStyle:{} inputStyle:any
} }
} }
export interface Options { export interface Options {

4
src/api/taskapi/management.ts

@ -77,7 +77,7 @@ export function generateFlow(data: nodeFlow):any{
//获取任务表单内容 //获取任务表单内容
export function gainTaskFormInfo(data: customerFormLogo):AxiosPromise<customerFormVersionCont> { export function gainTaskFormInfo(data: customerFormLogo) {
return request({ return request({
url: '/systemapi/task_management/gainTaskFormInfo', url: '/systemapi/task_management/gainTaskFormInfo',
method: 'post', method: 'post',
@ -104,7 +104,7 @@ export function gainEditDataLog(data: any):any{
} }
//添加任务是回显表单数据,若有流程回显流程 //添加任务是回显表单数据,若有流程回显流程
export function echoTableFormPage(data: any):any{ export function echoTableFormPage(data: any){
return request({ return request({
url: '/systemapi/task_management/echoTableFormPage', url: '/systemapi/task_management/echoTableFormPage',
method: 'post', method: 'post',

20
src/api/taskapi/types.ts

@ -41,6 +41,7 @@ export interface taskListCont{
//自定义表单标识符 //自定义表单标识符
export interface customerFormLogo{ export interface customerFormLogo{
id:string; id:string;
runFlowId?:string;
} }
//自定义表单版本内容 //自定义表单版本内容
export interface customerFormVersionCont{ export interface customerFormVersionCont{
@ -109,3 +110,22 @@ export interface runWeekInfo {
hour:number; hour:number;
minute:number; minute:number;
} }
//节点赋权
export interface nodePoweInfo {
nodeKey:string;
powerAry:powerAryInfo[];
apiSetup?:apiSetupInfo
}
//节点福泉结构体
export interface powerAryInfo{
id:string;
isEdit:boolean;
isLook:boolean;
name:string;
status?:number
}
//节点福泉补充
export interface apiSetupInfo{
library?:any[];
title?:any[];
}

12
src/components/DesignForm/aceDrawer.vue

@ -74,7 +74,7 @@ const jiShuDiGui = (val: []) => {
if (!Array.isArray(val)) return (jibuqi = 0); if (!Array.isArray(val)) return (jibuqi = 0);
val.forEach((item: any) => { val.forEach((item: any) => {
jibuqi++; jibuqi++;
console.log("递归查数", jibuqi); // console.log("", jibuqi);
if (item.children && item.children.length > 0) { if (item.children && item.children.length > 0) {
jiShuDiGui(item.children); jiShuDiGui(item.children);
} }
@ -113,7 +113,7 @@ const drawerBeforeClose = () => {
treeSelectAry.value = []; treeSelectAry.value = [];
}; };
onMounted(() => { onMounted(() => {
console.log("预览视图--------------------------------》", props.data); // console.log("--------------------------------", props.data);
}); });
onUnmounted(() => { onUnmounted(() => {
if (Object.keys(editor.value).length !== 0) { if (Object.keys(editor.value).length !== 0) {
@ -217,7 +217,7 @@ const dialogConfirmTree = () => {
// }) // })
// emits('confirm', treeSelectAry) // emits('confirm', treeSelectAry)
console.log("回填主表值", treeSelectAry.value); // console.log("", treeSelectAry.value);
emits("confirmTree", treeSelectAry.value, props.data.type); emits("confirmTree", treeSelectAry.value, props.data.type);
drawerBeforeClose(); drawerBeforeClose();
}; };
@ -227,9 +227,9 @@ const dialogConfirmTree = () => {
@ 功能: 删除指定节点数据 @ 功能: 删除指定节点数据
*/ */
const pickDel = (val: treeStruct) => { const pickDel = (val: treeStruct) => {
console.log("要删除得节点-->", val.value); // console.log("-->", val.value);
delDiGui(treeSelectAry.value, val); delDiGui(treeSelectAry.value, val);
console.log("删除指定节点数据---结果-->", treeSelectAry); // console.log("----->", treeSelectAry);
}; };
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ -237,7 +237,7 @@ const pickDel = (val: treeStruct) => {
@ 功能: 执行递归删除 @ 功能: 执行递归删除
*/ */
const delDiGui = (tree: treeStruct[], val: treeStruct) => { const delDiGui = (tree: treeStruct[], val: treeStruct) => {
console.log("要删除得节点-11->", tree, val.value); // console.log("-11->", tree, val.value);
for (let i = 0; i < tree.length; i++) { for (let i = 0; i < tree.length; i++) {
const node = tree[i]; const node = tree[i];
if (node.value == val.value) { if (node.value == val.value) {

42
src/components/DesignForm/formControlPropertiNew.vue

@ -1399,7 +1399,7 @@ const getPropByPath = (obj: any, path: string, val: any) => {
} }
} }
// liwenxuan end 250410 // liwenxuan end 250410
console.log("修改指定路径下的值", keyArr, tempObj); // console.log("", keyArr, tempObj);
let i = 0; let i = 0;
for (i; i < keyArr.length - 1; i++) { for (i; i < keyArr.length - 1; i++) {
const key = keyArr[i]; const key = keyArr[i];
@ -1593,12 +1593,12 @@ const openAttrDialog = (type?: string, tooltip?: string) => {
console.log("更多属性弹窗", controlData.value); console.log("更多属性弹窗", controlData.value);
switch (type) { switch (type) {
case "treeSelect": case "treeSelect":
console.log("更多属性弹窗", controlData.value.control.data); // console.log("", controlData.value.control.data);
editData = controlData.value.control.data; editData = controlData.value.control.data;
break; break;
case "cascader": case "cascader":
console.log("更多属性级联", controlData.value.options); // console.log("", controlData.value.options);
editData = controlData.value.options; editData = controlData.value.options;
break; break;
case "optionsParams": // case "optionsParams": //
@ -1617,12 +1617,12 @@ const openAttrDialog = (type?: string, tooltip?: string) => {
callback: (result: any) => { callback: (result: any) => {
switch (type) { switch (type) {
case "treeSelect": case "treeSelect":
console.log("更多属性弹窗会写数据:", result); // console.log("", result);
controlData.value.control.data = result; controlData.value.control.data = result;
console.log( // console.log(
"更多属性弹窗会写数据-----1------>:", // "-----1------>",
controlData.value.control.data // controlData.value.control.data
); // );
break; break;
case "cascader": case "cascader":
controlData.value.options = result; controlData.value.options = result;
@ -1865,8 +1865,8 @@ const isNotWrite = (val: any) => {
return false; return false;
}; };
const isNotWriteWord = (val: any) => { const isNotWriteWord = (val: any) => {
console.log("isNotWriteWord---->", val); // console.log("isNotWriteWord---->", val);
console.log("isNotWriteWord--formField-->", props.formField); // console.log("isNotWriteWord--formField-->", props.formField);
if ( if (
val.eventName === "filedNameKey" && val.eventName === "filedNameKey" &&
props.customerformid != "" && props.customerformid != "" &&
@ -1891,7 +1891,7 @@ const formListmap = ref<any>();
const subUnit = ref<any>(); const subUnit = ref<any>();
// //
const digitPageSub = (val: any, envt: any) => { const digitPageSub = (val: any, envt: any) => {
console.log("默认值处理--->", val, envt, props.formData); // console.log("--->", val, envt, props.formData);
// console.log("-1-->",props.formList) // console.log("-1-->",props.formList)
// console.log("-2-->",props.formConfig) // console.log("-2-->",props.formConfig)
@ -2131,7 +2131,7 @@ function haveOrgTreeInfo() {
//orgTreeLoading.value = true; //orgTreeLoading.value = true;
getOrgTreeList({ orgid: 309 }) getOrgTreeList({ orgid: 309 })
.then(({ data }) => { .then(({ data }) => {
console.log("行政组织树对照值", data); // console.log("", data);
@ -2963,7 +2963,7 @@ function associatedFormsHideDialoghandle() {
controlData.value.control.hideConditionHtmlCopy = controlData.value.control.hideConditionHtmlCopy =
controlData.value.control.hideConditionHtml; controlData.value.control.hideConditionHtml;
nextTick(() => { nextTick(() => {
aft.value.focusEditor(); aft.value.focusEditor
}); });
} }
@ -3466,8 +3466,8 @@ watch(
) )
); );
} else { } else {
console.log(changedOptions); // console.log(changedOptions);
console.log(controlData.value.control.glxxsz); // console.log(controlData.value.control.glxxsz);
for (var i = 0; i < changedOptions.length; i++) { for (var i = 0; i < changedOptions.length; i++) {
if (controlData.value.control.glxxsz[i] === undefined) { if (controlData.value.control.glxxsz[i] === undefined) {
//option //option
@ -3893,7 +3893,7 @@ const requiredText = (val: any) => {
@ 功能: 校验文本框改变 @ 功能: 校验文本框改变
*/ */
const requiredTextRadio = (val: any) => { const requiredTextRadio = (val: any) => {
console.log("校验文本框改变-->", val); // console.log("-->", val);
if (val.type == radioVerify.type) { if (val.type == radioVerify.type) {
if (typeof controlData.value.customRules == "object") { if (typeof controlData.value.customRules == "object") {
if (Array.isArray(controlData.value.customRules)) { if (Array.isArray(controlData.value.customRules)) {
@ -3962,7 +3962,7 @@ const requiredChangeSet = (val: boolean) => {
@ 功能: 单选改变事件 @ 功能: 单选改变事件
*/ */
const radioChangeSet = (val: any) => { const radioChangeSet = (val: any) => {
console.log("单选改变事件-222-->", val); // console.log("-222-->", val);
let pickRadio = {}; let pickRadio = {};
let isTrue = true; let isTrue = true;
textUinrVerfy.forEach((item: any) => { textUinrVerfy.forEach((item: any) => {
@ -4026,7 +4026,7 @@ watch(
// } // }
}); });
} else { } else {
console.log("formData.value---------------", formData.value); // console.log("formData.value---------------", formData.value);
if (formData.value.dataSourceConfi) { if (formData.value.dataSourceConfi) {
formData.value.dataSourceConfig.id = ""; formData.value.dataSourceConfig.id = "";
formData.value.dataSourceConfig.dataBaseName = ""; formData.value.dataSourceConfig.dataBaseName = "";
@ -4042,7 +4042,7 @@ watch(
} }
formAttr.value.forEach((item) => { formAttr.value.forEach((item) => {
console.log(item.label, "item.", item.type); // console.log(item.label, "item.", item.type);
if (!item.hide) { if (!item.hide) {
if (!item.type) { if (!item.type) {
// console.log(item.label, "item.", item.type); // console.log(item.label, "item.", item.type);
@ -4239,7 +4239,7 @@ function resetClick(){
function delRowClick(param: any){ function delRowClick(param: any){
let key = param.key let key = param.key
console.log(key) // console.log(key)
controlData.value.control.roleCheckDataList = controlData.value.control.roleCheckDataList.filter((item: { key: any; }) => item.key !== key); controlData.value.control.roleCheckDataList = controlData.value.control.roleCheckDataList.filter((item: { key: any; }) => item.key !== key);
let arr: any[] = [] let arr: any[] = []
controlData.value.control.roleCheckDataList.forEach((element: { key: string; }) => { controlData.value.control.roleCheckDataList.forEach((element: { key: string; }) => {
@ -4286,7 +4286,7 @@ const closeDataSource = () => {
*/ */
// const dataList = ref<dataBaseStruct[]>([]); // const dataList = ref<dataBaseStruct[]>([]);
const updataBase = (val: any) => { const updataBase = (val: any) => {
console.log("设定关联数据", val); // console.log("", val);
formData.value.dataSourceConfig.id = val.id; formData.value.dataSourceConfig.id = val.id;
formData.value.dataSourceConfig.dataBaseName = val.dataBaseName; formData.value.dataSourceConfig.dataBaseName = val.dataBaseName;
formData.value.dataSourceConfig.tableName = val.tableName; formData.value.dataSourceConfig.tableName = val.tableName;

10
src/components/DesignForm/public/expand/org.vue

@ -11,7 +11,7 @@ const props = withDefaults(
defineProps<{ defineProps<{
modelValue?: string; modelValue?: string;
disabled?: boolean; disabled?: boolean;
data?: Object; data?: any;
}>(), }>(),
{} {}
); );
@ -24,7 +24,7 @@ const value = computed({
if(hasComma(props.modelValue)||multiple){ if(hasComma(props.modelValue)||multiple){
return commaStringToNumberArray(props.modelValue) return commaStringToNumberArray(props.modelValue)
}else{ }else{
return props.modelValue * 1; return props.modelValue;
} }
} else { } else {
return props.modelValue; return props.modelValue;
@ -131,13 +131,13 @@ function haveOrgTreeInfo() {
orgTreeLoading.value = true; orgTreeLoading.value = true;
getOrgTreeList({ orgid: 309 }) getOrgTreeList({ orgid: 309 })
.then(({ data }) => { .then(({ data }) => {
console.log("行政组织树对照值", data); // console.log("", data);
//liwenxuan 250916 start //liwenxuan 250916 start
// IDIDididid // IDIDididid
const targetIds = props.data.control.range const targetIds = props.data.control.range
console.log(targetIds) // console.log(targetIds)
if(targetIds&&targetIds.length>0){ if(targetIds&&targetIds.length>0){
// //
const filteredTree = filterOrganizationTree(data, targetIds); const filteredTree = filterOrganizationTree(data, targetIds);
@ -233,7 +233,7 @@ function filterChildTargetIds(targetIds: any[], nodeMap: Map<any, any>) {
// ID // ID
while (parentId !== undefined && nodeMap.has(parentId)) { while (parentId !== undefined && nodeMap.has(parentId)) {
if (validTargetIds.includes(parentId)) { if (validTargetIds.includes(parentId)) {
console.log(`提示:ID ${currentId} 是目标ID ${parentId} 的子节点,已忽略`); // console.log(`ID ${currentId} ID ${parentId} `);
return false; // ID return false; // ID
} }
parentId = nodeMap.get(parentId).superior; // parentId = nodeMap.get(parentId).superior; //

2
src/components/DesignForm/public/expand/pickpost.vue

@ -71,7 +71,7 @@ function haveOrgTreeInfo() {
orgTreeLoading.value = true; orgTreeLoading.value = true;
getOrgTreeList({ orgid: 309 }) getOrgTreeList({ orgid: 309 })
.then(({ data }) => { .then(({ data }) => {
console.log("行政组织树对照值", data); // console.log("", data);
orgTreeList.value = data; orgTreeList.value = data;
}) })
.finally(() => { .finally(() => {

12
src/components/DesignForm/public/form/childTable.vue

@ -47,7 +47,7 @@ const editDisabled = computed(() => {
return formProps.value.type === 2 && props.data.config?.editDisabled; return formProps.value.type === 2 && props.data.config?.editDisabled;
}); });
const addColumn = () => { const addColumn = () => {
console.log("如果编辑页禁用时--------->", tableDataNew.value); // console.log("--------->", tableDataNew.value);
const temp: any = {}; const temp: any = {};
if (props.data.list) { if (props.data.list) {
props.data.list.forEach((item: any) => { props.data.list.forEach((item: any) => {
@ -55,15 +55,15 @@ const addColumn = () => {
temp[item.name] = item.control.modelValue; temp[item.name] = item.control.modelValue;
} }
}); });
console.log("如果编辑页禁用时-------temp:", temp); // console.log("-------temp:", temp);
console.log("如果编辑页禁用时-------jsonParseStringify:", jsonParseStringify(temp)); // console.log("-------jsonParseStringify:", jsonParseStringify(temp));
tableDataNew.value.push(jsonParseStringify(temp)); tableDataNew.value.push(jsonParseStringify(temp));
} }
}; };
const getText = (text: any, val: any, name: any) => { const getText = (text: any, val: any, name: any) => {
console.log("text===>", text); // console.log("text===>", text);
console.log("name===>", name); // console.log("name===>", name);
console.log("val===>", val); // console.log("val===>", val);
if (typeof text === "string") { if (typeof text === "string") {
return text; return text;
} else { } else {

71
src/components/DesignForm/public/form/formGroup.vue

@ -16,7 +16,8 @@ import { constFormBtnEvent, constFormProps } from "@/api/DesignForm/utils";
import { Md5 } from "ts-md5"; import { Md5 } from "ts-md5";
import { jsonParseStringify } from "@/utils/DesignForm"; import { jsonParseStringify } from "@/utils/DesignForm";
import request from "@/utils/request"; import request from "@/utils/request";
import { AnalysisCss } from "@/components/DesignForm/public/form/calculate/cssInfo.ts"; import { AnalysisCss } from "@/components/DesignForm/public/form/calculate/cssInfo";
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -751,6 +752,48 @@ function optionsValue3GetTable(data: any, fieldName: string) {
/* /*
*/ */
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
</script> </script>
<template> <template>
<draggable <draggable
@ -780,33 +823,37 @@ function optionsValue3GetTable(data: any, fieldName: string) {
v-if="linksIf(element)" v-if="linksIf(element)"
> >
<!--选项卡组件--> <!--选项卡组件-->
<template v-if="element.type === 'tabs'"> <template v-if="element.type === 'tabs' ">
<div class="form-tabs"> <div class="form-tabs">
<el-tabs v-bind="element.control" :class="[element.config?.className]"> <el-tabs v-bind="element.control" :class="[element.config?.className]">
<template v-for="(item, tIndex) in element.columns">
<el-tab-pane <el-tab-pane
v-for="(item, tIndex) in element.columns"
:label="item.label" :label="item.label"
:key="tIndex" :key="tIndex"
v-if="judgeIsShow(item.name)"
> >
<form-group :data="item.list" data-type="not-nested" /> <form-group :data="item.list" data-type="not-nested" />
</el-tab-pane> </el-tab-pane>
</template>
</el-tabs> </el-tabs>
</div> </div>
</template> </template>
<!--标题组件--> <!--标题组件-->
<template v-else-if="element.type === 'title'"> <template v-else-if="element.type === 'title' && judgeIsShow(element.name)">
<div <div
class="title" class="title"
:class="[element.config.className]" :class="[element.config.className]"
v-bind="element.control" v-bind="element.control"
:style="getFormItemLableStyle(element.styles)" :style="getFormItemLableStyle(element.styles)"
> >
<span v-html="element.control.modelValue"></span> <span v-html="element.control.modelValue"></span>
<Tooltips :content="element.config.help" v-if="element.config.help" /> <Tooltips :content="element.config.help" v-if="element.config.help" />
</div> </div>
</template> </template>
<!--文字组件--> <!--文字组件-->
<template v-else-if="element.type === 'txt'"> <template v-else-if="element.type === 'txt' && judgeIsShow(element.name)">
<div <div
v-bind="element.control" v-bind="element.control"
:class="[element.config.className]" :class="[element.config.className]"
@ -814,7 +861,7 @@ function optionsValue3GetTable(data: any, fieldName: string) {
></div> ></div>
</template> </template>
<!--表格组件--> <!--表格组件-->
<template v-else-if="element.type === 'table'"> <template v-else-if="element.type === 'table' && judgeIsShow(element.name)">
<div class="form-table" v-if="type === 5"> <div class="form-table" v-if="type === 5">
{{ element.item ? (element.item.label ? element.item.label : 2) : 3 }} {{ element.item ? (element.item.label ? element.item.label : 2) : 3 }}
<!-- <form-group :data="element.list" data-type="not-nested" /> --> <!-- <form-group :data="element.list" data-type="not-nested" /> -->
@ -829,7 +876,7 @@ function optionsValue3GetTable(data: any, fieldName: string) {
/> />
</template> </template>
<!--格栅布局--> <!--格栅布局-->
<template v-else-if="element.type === 'grid'"> <template v-else-if="element.type === 'grid' && judgeIsShow(element.name)">
<el-row <el-row
class="form-row" class="form-row"
:style="type === 5 ? 'padding: 0 0 20px 0;' : ''" :style="type === 5 ? 'padding: 0 0 20px 0;' : ''"
@ -860,7 +907,8 @@ function optionsValue3GetTable(data: any, fieldName: string) {
</el-row> </el-row>
</template> </template>
<!--卡片布局--> <!--卡片布局-->
<template v-else-if="element.type === 'card'"> <template v-else-if="element.type === 'card' && judgeIsShow(element.name)">
<el-collapse model-value="1"> <el-collapse model-value="1">
<el-collapse-item :title="element.item.label" name="1"> <el-collapse-item :title="element.item.label" name="1">
<template #title v-if="element.help"> <template #title v-if="element.help">
@ -872,13 +920,13 @@ function optionsValue3GetTable(data: any, fieldName: string) {
</el-collapse> </el-collapse>
</template> </template>
<!--分割线--> <!--分割线-->
<template v-else-if="element.type === 'divider'"> <template v-else-if="element.type === 'divider' && judgeIsShow(element.name)">
<el-divider v-bind="element.control">{{ <el-divider v-bind="element.control">{{
element.item && element.item.label element.item && element.item.label
}}</el-divider> }}</el-divider>
</template> </template>
<!--div容器--> <!--div容器-->
<template v-else-if="element.type === 'div'"> <template v-else-if="element.type === 'div' && judgeIsShow(element.name)">
<div <div
class="div-layout" class="div-layout"
v-bind="element.control" v-bind="element.control"
@ -892,7 +940,8 @@ function optionsValue3GetTable(data: any, fieldName: string) {
</div> </div>
</template> </template>
<!--弹性布局--> <!--弹性布局-->
<template v-else-if="element.type === 'flex'"> <template v-else-if="element.type === 'flex' && judgeIsShow(element.name)" >
<!-- <form-group <!-- <form-group
:data="element.list" :data="element.list"
data-type="not-nested" data-type="not-nested"

231
src/components/DesignForm/public/form/formItem.vue

@ -58,11 +58,13 @@ import TextImg from "@/assets/image/tinymce.png";
import { import {
AnalysisCss, AnalysisCss,
AnalysisInputCss, AnalysisInputCss,
} from "@/components/DesignForm/public/form/calculate/cssInfo.ts"; } from "@/components/DesignForm/public/form/calculate/cssInfo";
import request from "@/utils/request"; import request from "@/utils/request";
import { getgovcont } from "@/api/hr/org/index"; import { getgovcont } from "@/api/hr/org/index";
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -75,6 +77,7 @@ const props = withDefaults(
tablekey?: any; tablekey?: any;
numrun?: any; numrun?: any;
rowIndex?: any; rowIndex?: any;
alldata?:any;
}>(), }>(),
{} {}
); );
@ -630,6 +633,29 @@ const getFormItemInputStyle = (ele: any, sty: number) => {
}; };
const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown"; const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown";
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
// console.log("--nodeKey-->", currentNodePowerKey);
// console.log("--purview-->", allNodePwoer);
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2024-07-27 14:17:16 @ 时间: 2024-07-27 14:17:16
@ -638,56 +664,75 @@ const imgUploadApiUrl = import.meta.env.VITE_APP_BASE_API + "/api/upordown";
const judgeIsShow = (key: string) => { const judgeIsShow = (key: string) => {
// console.log("--nodeKey-->", props.nodeKey); // console.log("--nodeKey-->", props.nodeKey);
// console.log("--purview-->", props.purview); // console.log("--purview-->", props.purview);
if (
props.nodeKey != undefined &&
props.purview != undefined &&
props.purview != null &&
props.purview != null &&
props.purview != "" &&
props.purview != ""
) {
if (props.purview.length < 1) {
return true;
} else {
let isShow = false;
if (Array.isArray(props.purview)) {
props.purview.forEach((item) => { let myPower = curNodePowerAry()
// console.log("--purview-->", item.nodeKey , props.nodeKey); // console.log("-3-->",key)
if (item.nodeKey == props.nodeKey) { // console.log("-4-->",myPower)
if (item.powerAry && item.powerAry.length > 0) { if(Array.isArray(myPower) && myPower.length > 0){
item.powerAry.forEach((itm) => { let isOk = true
if (itm.id == key) { myPower.forEach((item:powerAryInfo) => {
// console.log( if(key == item.id){
// "", isOk = item.isLook
// itm, }
// itm.id == key, })
// "--------->", return isOk
// itm.isLook }else{
// ); return true
isShow = itm.isLook;
}
});
}
}
});
} }
return isShow; // if (
} // props.nodeKey != undefined &&
} else { // props.purview != undefined &&
return true; // props.purview != null &&
} // props.purview != null
// ) {
// if (props.purview.length < 1) {
// return true;
// } else {
// let isShow = false;
// if (Array.isArray(props.purview)) {
// props.purview.forEach((item) => {
// // console.log("--purview-->", item.nodeKey , props.nodeKey);
// if (item.nodeKey == props.nodeKey) {
// if (item.powerAry && item.powerAry.length > 0) {
// item.powerAry.forEach((itm: { id: string; isLook: boolean; }) => {
// if (itm.id == key) {
// // console.log(
// // "",
// // itm,
// // itm.id == key,
// // "--------->",
// // itm.isLook
// // );
// isShow = itm.isLook;
// }
// });
// }
// }
// });
// }
// return isShow;
// }
// } else {
// return true;
// }
}; };
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2024-07-27 15:11:42 @ 时间: 2024-07-27 15:11:42
@ 功能: 判断是否禁用 @ 功能: 判断是否禁用
*/ */
const judgeIsDisabled = (key: string) => { const judgeIsDisabled = (key: string) => {
// console.log("", key); // console.log("", key);
// console.log("-1-->",allNodePwoer)
// console.log("-2-->",currentNodePowerKey)
if (type.value === 3) { if (type.value === 3) {
return true; // return true; //
} }
@ -698,48 +743,62 @@ const judgeIsDisabled = (key: string) => {
return true; // return true; //
} }
// console.log("-------props.nodeKey----------->", props.purview); // console.log("-------props.nodeKey----------->", props.purview);
if (
props.nodeKey != undefined &&
props.purview != undefined && let myPower = curNodePowerAry()
props.purview != null && // console.log("-3-->",myPower)
props.purview != null && if(Array.isArray(myPower) && myPower.length > 0){
props.purview != "" && let isOk = false
props.purview != "" myPower.forEach((item:powerAryInfo) => {
) { if(key == item.id){
if (props.purview.length < 1) { isOk = !item.isEdit
return false; }
} else { })
let isShow = true; return isOk
props.purview.forEach((item) => { }else{
if (item.nodeKey == props.nodeKey) { return false
if (item.powerAry && item.powerAry.length > 0) {
item.powerAry.forEach((itm) => {
if (itm.id == key) {
// console.log(
// "",
// itm,
// itm.id == key,
// "--------->",
// itm.isLook
// );
isShow = !itm.isEdit;
}
});
}
}
});
return isShow;
}
} else {
return false;
} }
// if (
// props.nodeKey != undefined &&
// props.purview != undefined &&
// props.purview != null &&
// props.purview != null
// ) {
// if (props.purview.length < 1) {
// return false;
// } else {
// let isShow = true;
// props.purview.forEach((item) => {
// if (item.nodeKey == props.nodeKey) {
// if (item.powerAry && item.powerAry.length > 0) {
// item.powerAry.forEach((itm: { id: string; isEdit: any; }) => {
// if (itm.id == key) {
// // console.log(
// // "",
// // itm,
// // itm.id == key,
// // "--------->",
// // itm.isLook
// // );
// isShow = !itm.isEdit;
// }
// });
// }
// }
// });
// return isShow;
// }
// } else {
// return false;
// }
}; };
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2024-08-02 13:02:49 @ 时间: 2024-08-02 13:02:49
@ 功能: 将时间戳转换成字符串 @ 功能: 将时间戳转换成字符串
*/ */
const timeToString = (timeVal: any, types: int) => { const timeToString = (timeVal: any, types: string) => {
// console.log("",timeVal,types) // console.log("",timeVal,types)
let timeStr = ""; let timeStr = "";
if (Array.isArray(timeVal)) { if (Array.isArray(timeVal)) {
@ -757,8 +816,8 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`; timeStr = `${startTime.year}-${startTime.month}-${startTime.day} ${startTime.hours}:${startTime.minutes}:${startTime.seconds}${endTime.year}-${endTime.month}-${endTime.day} ${endTime.hours}:${endTime.minutes}:${endTime.seconds}`;
break; break;
case "week": // case "week": //
let startWeek = getYearWeek(startTime); let startWeek = getYearWeek(timeVal[0]);
let endWeek = getYearWeek(endTime); let endWeek = getYearWeek(timeVal[1]);
timeStr = `${startWeek}${endWeek}`; timeStr = `${startWeek}${endWeek}`;
break; break;
case "timeCalss": // case "timeCalss": //
@ -790,7 +849,7 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
break; break;
case "week": // case "week": //
timeStr = getYearWeek(timeVal); timeStr = getYearWeek(timeVal[0]).toString();
break; break;
case "timeCalss": // case "timeCalss": //
timeStr = `${hours}:${minutes}:${seconds}`; timeStr = `${hours}:${minutes}:${seconds}`;
@ -815,7 +874,7 @@ const timeToString = (timeVal: any, types: int) => {
timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; timeStr = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
break; break;
case "week": // case "week": //
timeStr = getYearWeek(timeVal); timeStr = getYearWeek(timeVal*1).toString();
break; break;
case "timeCalss": // case "timeCalss": //
timeStr = `${hours}:${minutes}:${seconds}`; timeStr = `${hours}:${minutes}:${seconds}`;
@ -858,7 +917,7 @@ const timeToAry = (timestamp: number) => {
const getYearWeek = (timestamp: number) => { const getYearWeek = (timestamp: number) => {
const date = new Date(timestamp); const date = new Date(timestamp);
const firstDayOfYear = new Date(date.getFullYear(), 0, 1); const firstDayOfYear = new Date(date.getFullYear(), 0, 1);
const pastDaysOfYear = (date - firstDayOfYear) / 86400000; const pastDaysOfYear = (date.getTime() - firstDayOfYear.getTime()) / 86400000;
const weekNumber = Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7); const weekNumber = Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7);
return weekNumber; return weekNumber;
}; };
@ -886,7 +945,7 @@ const judgeRadio = (val: any, list: any) => {
@ 功能: 判断多选值 @ 功能: 判断多选值
*/ */
const judgeCheckbox = (val: any, list: any) => { const judgeCheckbox = (val: any, list: any) => {
let valAry = []; let valAry: any[] = [];
if (Array.isArray(val)) { if (Array.isArray(val)) {
if (val.length > 0) { if (val.length > 0) {
if (Array.isArray(list)) { if (Array.isArray(list)) {
@ -909,7 +968,7 @@ const judgeCheckbox = (val: any, list: any) => {
*/ */
const selectValue = (val: any, list: any) => { const selectValue = (val: any, list: any) => {
// console.log("",val,list) // console.log("",val,list)
let valAry = []; let valAry: any[] = [];
if (val && val != "" && val != null) { if (val && val != "" && val != null) {
let pickSelect = val; let pickSelect = val;
if (Array.isArray(val)) { if (Array.isArray(val)) {
@ -990,7 +1049,7 @@ const uploadPic = (val: any) => {
@ 时间: 2024-11-29 13:46:36 @ 时间: 2024-11-29 13:46:36
@ 功能: 获取级联选择值 @ 功能: 获取级联选择值
*/ */
const judjeCascader = (val: any[], options: any[]) => { const judjeCascader = (val: any, options: any) => {
// console.log("val===========>", val); // console.log("val===========>", val);
if (val == "" || val == undefined || val == null) return ""; if (val == "" || val == undefined || val == null) return "";
if (val && val.length < 0) return ""; if (val && val.length < 0) return "";
@ -1042,6 +1101,8 @@ const diGuiJilian = (val: any, options: any[]) => {
}); });
return dataVal; return dataVal;
}; };
</script> </script>
<template> <template>
<BaiduMap <BaiduMap
@ -1261,7 +1322,7 @@ const diGuiJilian = (val: any, options: any[]) => {
:type="data.type === 'password' ? 'password' : 'text'" :type="data.type === 'password' ? 'password' : 'text'"
:style="getFormItemInputStyle(configStyle, 2)" :style="getFormItemInputStyle(configStyle, 2)"
:input-style="getFormItemInputStyle(configStyle, 3)" :input-style="getFormItemInputStyle(configStyle, 3)"
v-if="['input', 'password'].includes(data.type)" v-if="['input', 'password'].includes(data.type) || judgeIsShow(data.name)"
@change="onValueChange(data.type)" @change="onValueChange(data.type)"
:placeholder=" :placeholder="
data.control.placeholder data.control.placeholder

19
src/components/DesignForm/tableListPage/formPageCont.vue

@ -36,6 +36,7 @@ import { constFormBtnEvent, constFormProps } from "@/api/DesignForm/utils";
import RunFlowStep from "@/views/taskplatform/taskmanagement/runFlowStep.vue"; import RunFlowStep from "@/views/taskplatform/taskmanagement/runFlowStep.vue";
import { customerFormVersionCont } from "@/api/taskapi/types"; import { customerFormVersionCont } from "@/api/taskapi/types";
import { stringify } from "uuid"; import { stringify } from "uuid";
import { nodePoweInfo } from "@/api/taskapi/types";
const props = defineProps({ const props = defineProps({
isShow: { isShow: {
@ -67,6 +68,9 @@ const formLoading = ref(false);
const flowAry = ref<any[]>(); // const flowAry = ref<any[]>(); //
const currentProgress = ref<number>(1); // const currentProgress = ref<number>(1); //
const runstep = ref(null); const runstep = ref(null);
const nodeKey = ref<string>("");
const currterNodePower = ref<nodePoweInfo[]>([])
//ID //ID
const openOfClose = computed({ const openOfClose = computed({
get() { get() {
@ -273,9 +277,14 @@ let gainTaskFormInfoPromise: any[] = [];
*/ */
const getCustomrrFormInfo = () => { const getCustomrrFormInfo = () => {
gainTaskFormInfoPromise.push( gainTaskFormInfoPromise.push(
gainTaskFormInfo({ id: props.pageInfo.masters_key }) gainTaskFormInfo({ id: props.pageInfo.masters_key,runFlowId: props.pageInfo.runFlowId })
.then(({ data }) => { .then(({ data }) => {
gainTaskFormInfoData = data; gainTaskFormInfoData = data;
nodeKey.value = data.nodeKey?data.nodeKey:"";
if(data.structure.powerAry && Array.isArray(data.structure.powerAry) && data.structure.powerAry.length > 0){
currterNodePower.value = data.structure.powerAry
}
// console.log("------------>",data)
/* // console.log("获取自定义表单内容",data,data.structure) /* // console.log("获取自定义表单内容",data,data.structure)
formState.formData = stringToObj(data.structure.mastesform) formState.formData = stringToObj(data.structure.mastesform)
// console.log("--->",formState) // console.log("--->",formState)
@ -302,6 +311,11 @@ const getCustomrrFormInfo = () => {
} }
// console.log("------------>",changeFlowPick.value)
if(data.tableFormPage.powerAry && Array.isArray(data.tableFormPage.powerAry) && data.tableFormPage.powerAry.length > 0){
currterNodePower.value = data.tableFormPage.powerAry
}
nextTick(()=>{ nextTick(()=>{
// console.log("-1111-->",data.tableData) // console.log("-1111-->",data.tableData)
formEl.value.setValue(data.tableData) formEl.value.setValue(data.tableData)
@ -418,6 +432,9 @@ function optionsValue3Get3(data: any, fieldName: any) {
//console.log("formPageCont","optionsValue3Get3") //console.log("formPageCont","optionsValue3Get3")
emits("optionsValue4Get4", data, fieldName); emits("optionsValue4Get4", data, fieldName);
} }
provide('flowNodePower', currterNodePower)
provide('currentNodeKey', nodeKey)
</script> </script>
<template> <template>
<el-drawer <el-drawer

2
src/components/DesignForm/tableListPage/formPageContApp.vue

@ -93,7 +93,7 @@ const pageLog = ref<any[]>([])
@ 功能: 获取自定义表单内容 @ 功能: 获取自定义表单内容
*/ */
const getCustomrrFormInfo = () => { const getCustomrrFormInfo = () => {
gainTaskFormInfo({id:props.pageInfo.mastersKeyStr}) gainTaskFormInfo({id:props.pageInfo.mastersKeyStr,runFlowId: props.pageInfo.runFlowId })
.then(({data})=>{ .then(({data})=>{
// console.log("",data,data.structure) // console.log("",data,data.structure)
formState.formData = stringToObj(data.structure.mastesform) formState.formData = stringToObj(data.structure.mastesform)

8
src/components/DesignForm/tableListPage/index.vue

@ -859,7 +859,7 @@ const selectionChange = (row: any) => {
@ 功能: 获取表格头内容 @ 功能: 获取表格头内容
*/ */
const columnsFilter = computed(() => { const columnsFilter = computed(() => {
console.log("获取表格头内容", props.data.columns); // console.log("", props.data.columns);
getPageData() getPageData()
if (!state.columnsCheck?.length) { if (!state.columnsCheck?.length) {
return props.data.columns; return props.data.columns;
@ -893,7 +893,7 @@ const getListData = (page?: number) => {
if (page) { if (page) {
state.currentPage = page; state.currentPage = page;
} }
console.log("筛选查询列表数据--->", page); // console.log("--->", page);
getPageData(); getPageData();
}; };
watch( watch(
@ -1571,13 +1571,13 @@ function optionsValue4Get4(data: any, fieldName: any) {
const judjeCascader = (val: any, options: any[]) => { const judjeCascader = (val: any, options: any[]) => {
if (val.length < 0) return ""; if (val.length < 0) return "";
let valAry = stringToObj(val); let valAry = stringToObj(val);
console.log("获取级联选择值", stringToObj(val), val.length, options); // console.log("", stringToObj(val), val.length, options);
if (!Array.isArray(valAry)) return ""; if (!Array.isArray(valAry)) return "";
let title = ""; let title = "";
valAry.forEach((item: any) => { valAry.forEach((item: any) => {
// console.log("item", item); // console.log("item", item);
console.log(item + "=============:", item, diGuiJilian(item, options)); // console.log(item + "=============:", item, diGuiJilian(item, options));
if (title == "") { if (title == "") {
title = title + diGuiJilian(item, options); title = title + diGuiJilian(item, options);
} else { } else {

40
src/components/workflow/drwer/copyerSend.vue

@ -89,7 +89,7 @@ watch(
copyerConfig1, copyerConfig1,
(val: any) => { (val: any) => {
val.value.attribute = val.value.attribute * 1; val.value.attribute = val.value.attribute * 1;
console.log("directormaxlevel", val.value, val.value.type); // console.log("directormaxlevel", val.value, val.value.type);
matrixIsShow.value = false; matrixIsShow.value = false;
copyerConfig.value = val.value; copyerConfig.value = val.value;
@ -150,7 +150,7 @@ watch(
} }
); );
onMounted(() => { onMounted(() => {
console.log("预加载数据建军节--------》", copyerConfig1.value); // console.log("--------", copyerConfig1.value);
if (copyerConfig1.settype == 0) { if (copyerConfig1.settype == 0) {
copyerConfig.value.settype = 1; copyerConfig.value.settype = 1;
} }
@ -159,7 +159,7 @@ onMounted(() => {
watch( watch(
() => copyerConfig.value.settype, () => copyerConfig.value.settype,
(val: any) => { (val: any) => {
console.log("监听审批人设置选项", copyerConfig.value); // console.log("", copyerConfig.value);
switch (val) { switch (val) {
case 10: case 10:
let sendOrg = { let sendOrg = {
@ -262,7 +262,7 @@ const changeType = (val: any) => {
copyerConfig.value.nodeUserList = []; copyerConfig.value.nodeUserList = [];
copyerConfig.value.examineMode = 1; copyerConfig.value.examineMode = 1;
copyerConfig.value.noHanderAction = 2; copyerConfig.value.noHanderAction = 2;
console.log("属性选择--->", val); // console.log("--->", val);
switch (val) { switch (val) {
case 2: case 2:
copyerConfig.value.directorLevel = 1; // copyerConfig.value.directorLevel = 1; //
@ -334,7 +334,7 @@ const surePostApproverCopy = (data: any) => {
*/ */
const flowOrgTree = ref(); const flowOrgTree = ref();
const setOrgTree = (val: any) => { const setOrgTree = (val: any) => {
console.log("设置选项", val); // console.log("", val);
if (Array.isArray(val)) { if (Array.isArray(val)) {
flowOrgTree.value!.setCheckedKeys(val, true); flowOrgTree.value!.setCheckedKeys(val, true);
} else { } else {
@ -362,13 +362,13 @@ const sureFormTableApproverCopy = (data: any) => {
@ 功能: 选中的哪个行政组织 @ 功能: 选中的哪个行政组织
*/ */
const handleNodeClickOrg = (data: any, threePickAry: any) => { const handleNodeClickOrg = (data: any, threePickAry: any) => {
console.log("选中的哪个行政组织----data------->", data); // console.log("----data------->", data);
console.log("选中的哪个行政组织----checked------->", threePickAry); // console.log("----checked------->", threePickAry);
console.log( // console.log(
"选中的哪个行政组织----halfCheckedKeys------->", // "----halfCheckedKeys------->",
threePickAry.halfCheckedKeys // threePickAry.halfCheckedKeys
); // );
console.log("选中的哪个行政组织----checkedKeys------->", threePickAry.checkedKeys); // console.log("----checkedKeys------->", threePickAry.checkedKeys);
if ( if (
threePickAry.halfCheckedKeys && threePickAry.halfCheckedKeys &&
Array.isArray(threePickAry.halfCheckedKeys) && Array.isArray(threePickAry.halfCheckedKeys) &&
@ -380,10 +380,10 @@ const handleNodeClickOrg = (data: any, threePickAry: any) => {
threePickAry.checkedKeys.length > 0 threePickAry.checkedKeys.length > 0
) { ) {
copyerConfig.value.orgList = threePickAry.checkedKeys; copyerConfig.value.orgList = threePickAry.checkedKeys;
console.log("选中的哪个行政组织----1------->", copyerConfig.value.orgList); // console.log("----1------->", copyerConfig.value.orgList);
} else { } else {
copyerConfig.value.orgList = []; copyerConfig.value.orgList = [];
console.log("选中的哪个行政组织----2------->", copyerConfig.value.orgList); // console.log("----2------->", copyerConfig.value.orgList);
} }
} else { } else {
if ( if (
@ -397,10 +397,10 @@ const handleNodeClickOrg = (data: any, threePickAry: any) => {
); );
} }
copyerConfig.value.orgList = threePickAry.checkedKeys; copyerConfig.value.orgList = threePickAry.checkedKeys;
console.log("选中的哪个行政组织----3------->", copyerConfig.value.orgList); // console.log("----3------->", copyerConfig.value.orgList);
} else { } else {
copyerConfig.value.orgList = []; copyerConfig.value.orgList = [];
console.log("选中的哪个行政组织----4------->", copyerConfig.value.orgList); // console.log("----4------->", copyerConfig.value.orgList);
} }
} }
// if(copyerConfig.value.orgList && Array.isArray(copyerConfig.value.orgList)){ // if(copyerConfig.value.orgList && Array.isArray(copyerConfig.value.orgList)){
@ -435,10 +435,10 @@ const handleNodeClickOrg = (data: any, threePickAry: any) => {
// } // }
// } // }
// } // }
console.log( // console.log(
"选中的哪个行政组织----copyerConfig.value.orgList------->", // "----copyerConfig.value.orgList------->",
copyerConfig.value.orgList // copyerConfig.value.orgList
); // );
}; };
</script> </script>
<template> <template>

2
src/components/workflow/nodeWrap.vue

@ -44,7 +44,7 @@ let defaultText = computed(() => {
return placeholderList[props.nodeConfig.type]; return placeholderList[props.nodeConfig.type];
}); });
let showText = computed(() => { let showText = computed(() => {
console.log("props.nodeConfig.type===>", props.nodeConfig); // console.log("props.nodeConfig.type===>", props.nodeConfig);
if (props.nodeConfig.type == 0) return $func.arrToStr(props.flowPermission) || "所有人"; if (props.nodeConfig.type == 0) return $func.arrToStr(props.flowPermission) || "所有人";
if (props.nodeConfig.type == 1) return $func.setApproverStr(props.nodeConfig); if (props.nodeConfig.type == 1) return $func.setApproverStr(props.nodeConfig);
if (props.nodeConfig.type == 3) return $func.setApproverStr(props.nodeConfig); if (props.nodeConfig.type == 3) return $func.setApproverStr(props.nodeConfig);

10
src/layout/components/Sidebar/SidebarItem.vue

@ -79,11 +79,11 @@ function resolvePath(routePath: string) {
// fullPath = fullPath + "&table_id=" + props.item.tableId; // fullPath = fullPath + "&table_id=" + props.item.tableId;
// } // }
// } // }
console.log("路由路径<------------------"); // console.log("<------------------");
console.log("routePath:", routePath); // console.log("routePath:", routePath);
console.log("fullPath:", fullPath); // console.log("fullPath:", fullPath);
console.log("item:", props.item); // console.log("item:", props.item);
console.log("路由路径------------------>"); // console.log("------------------>");
return fullPath; return fullPath;
} }
</script> </script>

7
src/store/modules/user.ts

@ -33,17 +33,20 @@ export const useUserStore = defineStore("user", () => {
function login(loginData: LoginData) { function login(loginData: LoginData) {
// console.log("登陆使用12222",loginData); // console.log("登陆使用12222",loginData);
return new Promise<void>((resolve, reject) => { return new Promise<void>((resolve, reject) => {
// console.log("登陆使用--->",resolve, reject);
loginApiIng(loginData) loginApiIng(loginData)
.then((response:any) => { .then((response:any) => {
//console.log("登陆使用",response); // console.log("登陆使用",response);
const { tokenType, accessToken, key, token,userinfo } = response.data; const { tokenType, accessToken, key, token,userinfo } = response.data;
tokenIng.value = key + "_" + token; // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx tokenIng.value = key + "_" + token; // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxx
userKey.value = key; userKey.value = key;
userToken.value = token; userToken.value = token;
// userInfoCont.value = userinfo // userInfoCont.value = userinfo
resolve(); resolve(response);
}) })
.catch((error:any) => { .catch((error:any) => {
// console.log("登陆使用--2->",error);
reject(error); reject(error);
}); });
}); });

16
src/views/login/index.vue

@ -71,7 +71,7 @@
<el-button <el-button
size="default" size="default"
:loading="loading" v-loading="loading"
type="primary" type="primary"
class="w-full" class="w-full"
@click.prevent="handleLogin" @click.prevent="handleLogin"
@ -96,7 +96,7 @@ import SvgIcon from "@/components/SvgIcon/index.vue";
// //
import { useUserStore } from "@/store/modules/user"; import { useUserStore } from "@/store/modules/user";
import { ElMessage, ElMessageBox } from 'element-plus';
// API // API
import { LocationQuery, LocationQueryValue, useRoute } from "vue-router"; import { LocationQuery, LocationQueryValue, useRoute } from "vue-router";
import { getCaptchaApiIng } from "@/api/auth"; import { getCaptchaApiIng } from "@/api/auth";
@ -178,9 +178,10 @@ function handleLogin() {
loading.value = true; loading.value = true;
userStore userStore
.login(loginData.value) .login(loginData.value)
.then(() => { .then((datas:any) => {
// console.log("",datas)
ElMessage.success(datas.msg ||"登录成功");
const query: LocationQuery = route.query; const query: LocationQuery = route.query;
const redirect = (query.redirect as LocationQueryValue) ?? "/"; const redirect = (query.redirect as LocationQueryValue) ?? "/";
const otherQueryParams = Object.keys(query).reduce((acc: any, cur: string) => { const otherQueryParams = Object.keys(query).reduce((acc: any, cur: string) => {
@ -189,16 +190,19 @@ function handleLogin() {
} }
return acc; return acc;
}, {}); }, {});
//console.log("",redirect,otherQueryParams); //console.log("",redirect,otherQueryParams);
router.push({ path: redirect, query: otherQueryParams }); router.push({ path: redirect, query: otherQueryParams });
getCaptcha(); getCaptcha();
}) })
.catch(() => { .catch((error:any) => {
// //
ElMessage.error(error.toString() || '系统出错');
loading.value = false;
getCaptcha(); getCaptcha();
}) })
.finally(() => { .finally(() => {
loading.value = false;
}); });
} }
}); });

10
src/views/sysworkflow/lowcodepage/appPage/appPageForm/appFlow/simulateTaskFlow.vue

@ -299,9 +299,13 @@ const changeKeyVal = (key: any, val: any, type: any, attribute: any) => {
} }
} }
console.log("改变表单值--flowFactor--->", isUpdateFlowChart); // console.log("--flowFactor--->", isUpdateFlowChart);
let isTrue = false
if(changeFlowPick.value && Array.isArray(changeFlowPick.value) && changeFlowPick.value.includes(key)){
isTrue = true
}
// //
if (isUpdateFlowChart) { if (isUpdateFlowChart && isTrue) {
flowLoading.value = true; flowLoading.value = true;
// //
gainFlowChart.conditionList = flowFactor; gainFlowChart.conditionList = flowFactor;
@ -328,6 +332,7 @@ const saveDraftPage = (type: string, val?: any) => {
if (type === "success") { if (type === "success") {
} }
}; };
const changeFlowPick = ref<string[]>([])
const isFlowTable = ref(false); // const isFlowTable = ref(false); //
// //
const getTaskFormData = () => { const getTaskFormData = () => {
@ -341,6 +346,7 @@ const getTaskFormData = () => {
} else { } else {
isFlowTable.value = false; isFlowTable.value = false;
} }
changeFlowPick.value = data.channerUpdate
gainFlowChart.id = data.tableFormPage.flowkeystr; gainFlowChart.id = data.tableFormPage.flowkeystr;
console.log("表单数据--->1", data.flowPage.flowList); console.log("表单数据--->1", data.flowPage.flowList);
flowMap.value = data.flowPage.flowList; flowMap.value = data.flowPage.flowList;

2
src/views/sysworkflow/lowcodepage/appPage/appPageForm/openAppFormPage.vue

@ -217,7 +217,7 @@ const handleAppPageClick = () => {};
const gainAppFormPageInit = () => { const gainAppFormPageInit = () => {
if (props.menusInfo.id) { if (props.menusInfo.id) {
gainAppPageInfo({ id: props.menusInfo.id }).then((data) => { gainAppPageInfo({ id: props.menusInfo.id }).then((data) => {
console.log("获取初始化表单数据----->", data); // console.log("----->", data);
appInitData.value = data.data; appInitData.value = data.data;
echatsViews.value = data.data.chartList; echatsViews.value = data.data.chartList;
if (data.data.page && data.data.pageList && data.data.appFlow) { if (data.data.page && data.data.pageList && data.data.appFlow) {

54
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue

@ -154,7 +154,7 @@ const selectTemplate = (data: FormData) => {
const editversionstaus = (id: string) => {}; const editversionstaus = (id: string) => {};
// //
const openAceEditDrawer = (params: any) => { const openAceEditDrawer = (params: any) => {
console.log("打开脚本预览====:", params); // console.log("====:", params);
const { type, direction, codeType, title, callback, content } = params; const { type, direction, codeType, title, callback, content } = params;
drawer.direction = direction; // ltr/rtl drawer.direction = direction; // ltr/rtl
drawer.type = type; // type drawer.type = type; // type
@ -165,7 +165,7 @@ const openAceEditDrawer = (params: any) => {
let editData = let editData =
codeType === "json" ? json2string(content, true) : objToStringify(content, true); codeType === "json" ? json2string(content, true) : objToStringify(content, true);
console.log("打开脚本预览===1=:", type, editData); // console.log("===1=:", type, editData);
switch (type) { switch (type) {
case "css": case "css":
editData = state.value.formData.config?.style || ""; editData = state.value.formData.config?.style || "";
@ -232,7 +232,7 @@ const openAceEditDrawer = (params: any) => {
break; break;
} }
drawer.content = editData; drawer.content = editData;
console.log("打开脚本预览==2=222=:", drawer.content); // console.log("==2=222=:", drawer.content);
}; };
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ -315,7 +315,7 @@ const gainTableForm = () => {
.then((res: any) => { .then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
const result = res.data; const result = res.data;
console.log("初始设计搜索时--1--->", result); // console.log("--1--->", result);
formFieldAry.value = result.formField; formFieldAry.value = result.formField;
sunFormFieldAry.value = result.tableStructureMap; sunFormFieldAry.value = result.tableStructureMap;
// res.data='' // res.data=''
@ -483,7 +483,7 @@ function asfHandler(){
let configDataTitle_arr = state.value.formData.form.dataTitle let configDataTitle_arr = state.value.formData.form.dataTitle
let configDataTitle = configDataTitle_arr.join(','); let configDataTitle = configDataTitle_arr.join(',');
console.log("config数据标题----->"+configDataTitle_arr) // console.log("config----->"+configDataTitle_arr)
let relationArr: AsfRelation[] = [] let relationArr: AsfRelation[] = []
@ -500,12 +500,12 @@ function asfHandler(){
configAllFields_arr.push(element.name) configAllFields_arr.push(element.name)
}); });
let configAllFields = configAllFields_arr.join(','); let configAllFields = configAllFields_arr.join(',');
console.log("config所有控件名----->"+configAllFields_arr) // console.log("config----->"+configAllFields_arr)
let configBgldbdtableKey = state.value.formData.form.name let configBgldbdtableKey = state.value.formData.form.name
console.log("config被关联的表单tablekey----->"+configBgldbdtableKey) // console.log("configtablekey----->"+configBgldbdtableKey)
console.log(relationArr) // console.log(relationArr)
@ -517,7 +517,7 @@ function asfHandler(){
*/ */
console.log(state.value.formData) // console.log(state.value.formData)
} }
@ -543,7 +543,7 @@ const editAppFormTable = () => {
menuId: props.menuId, menuId: props.menuId,
}; };
state.value.loading = true; state.value.loading = true;
console.log("编辑App自定义表单",sendData) // console.log("App",sendData)
editAppPageInfo(sendData) editAppPageInfo(sendData)
.then((data: any) => { .then((data: any) => {
state.value.loading = false; state.value.loading = false;
@ -693,25 +693,25 @@ function optionsValue3Get3(data: any, fieldName: string) {
// 3174.15 2924.57 3326.15 3119.33 // 3174.15 2924.57 3326.15 3119.33
const dialogConfirm = (editVal: string) => { const dialogConfirm = (editVal: string) => {
// jsonstate.formData // jsonstate.formData
console.log("生成脚本预览和导入", editVal); // console.log("", editVal);
console.log( // console.log(
"生成脚本预览和导入----->", // "----->",
drawer.type, // drawer.type,
"==========", // "==========",
drawer.callback, // drawer.callback,
"==========", // "==========",
drawer // drawer
); // );
console.log("生成脚本预览和导入===========>", state.value.formData); // console.log("===========>", state.value.formData);
try { try {
if (typeof drawer.callback === "function") { if (typeof drawer.callback === "function") {
console.log("1======2========>", drawer.codeType, stringToObj(editVal)); // console.log("1======2========>", drawer.codeType, stringToObj(editVal));
// callback // callback
const newObj = const newObj =
drawer.codeType === "json" ? string2json(editVal) : stringToObj(editVal); drawer.codeType === "json" ? string2json(editVal) : stringToObj(editVal);
drawer.callback(newObj); drawer.callback(newObj);
console.log("1==============>"); // console.log("1==============>");
} else { } else {
switch (drawer.type) { switch (drawer.type) {
case "css": case "css":
@ -720,7 +720,7 @@ const dialogConfirm = (editVal: string) => {
state.value.formData.config = {}; state.value.formData.config = {};
} }
state.value.formData.config.style = editVal; state.value.formData.config.style = editVal;
console.log("2==============>"); // console.log("2==============>");
break; break;
case "dict": case "dict":
state.value.formDict = string2json(editVal); state.value.formDict = string2json(editVal);
@ -735,11 +735,11 @@ const dialogConfirm = (editVal: string) => {
state.value.formData.events = {}; state.value.formData.events = {};
} }
state.value.formData.events[drawer.type] = stringToObj(editVal); state.value.formData.events[drawer.type] = stringToObj(editVal);
console.log("3==============>"); // console.log("3==============>");
break; break;
default: default:
state.value.formData = stringToObj(editVal); state.value.formData = stringToObj(editVal);
console.log("4==============>"); // console.log("4==============>");
} }
} }
dialogCancel(); dialogCancel();
@ -754,8 +754,8 @@ const dialogConfirm = (editVal: string) => {
@ 功能: 级联选择与树 @ 功能: 级联选择与树
*/ */
const dialogConfirmTree = (val: treeStruct[], types: string) => { const dialogConfirmTree = (val: treeStruct[], types: string) => {
console.log("级联选择与树", types); // console.log("", types);
console.log("级联选择与树", val); // console.log("", val);
// const newObj = // const newObj =
// drawer.codeType === 'json'? string2json(val): stringToObj(val) // drawer.codeType === 'json'? string2json(val): stringToObj(val)
// drawer.callback(newObj) // drawer.callback(newObj)

24
src/views/sysworkflow/lowcodepage/pageFlow/appTableFlow.vue

@ -4,7 +4,7 @@
@ 备注: App表单有无流程处理 @ 备注: App表单有无流程处理
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { nodeFlow, conditionInfo, nodelPeoples } from "@/api/taskapi/types"; import { nodeFlow, conditionInfo, nodelPeoples,nodePoweInfo } from "@/api/taskapi/types";
import request from "@/utils/request"; import request from "@/utils/request";
import { import {
haveCustomerFormVersion, haveCustomerFormVersion,
@ -65,6 +65,8 @@ const nextStep = ref<number>(0);
const currentProgress = ref<number>(1); const currentProgress = ref<number>(1);
const nodeKey = ref<string>(""); const nodeKey = ref<string>("");
const purviewAry = ref<any[]>([]); const purviewAry = ref<any[]>([]);
const currterNodePower = ref<nodePoweInfo[]>([])
// //
const gainFlowChart = reactive<nodeFlow>({ const gainFlowChart = reactive<nodeFlow>({
id: "0", id: "0",
@ -110,6 +112,7 @@ const drawbox = computed({
}, },
}); });
const isFlowTable = ref(false); // const isFlowTable = ref(false); //
const changeFlowPick = ref<string[]>([])
// //
const getTaskFormData = () => { const getTaskFormData = () => {
formLoading.value = true; formLoading.value = true;
@ -124,7 +127,13 @@ const getTaskFormData = () => {
isFlowTable.value = false; isFlowTable.value = false;
drawbox.value = 800; drawbox.value = 800;
} }
nodeKey.value = data.flowPage.nodeKey; if(data.tableFormPage.powerAry && Array.isArray(data.tableFormPage.powerAry) && data.tableFormPage.powerAry.length > 0){
currterNodePower.value = data.tableFormPage.powerAry
}
changeFlowPick.value = data.channerUpdate
nodeKey.value = data.flowPage.nodeKey?data.flowPage.nodeKey:"";
purviewAry.value = data.tableFormPage.powerAry; purviewAry.value = data.tableFormPage.powerAry;
gainFlowChart.id = data.tableFormPage.flowkeystr; gainFlowChart.id = data.tableFormPage.flowkeystr;
console.log("表单数据--->1", data.flowPage.flowList); console.log("表单数据--->1", data.flowPage.flowList);
@ -367,9 +376,13 @@ const changeKeyVal = (key: any, val: any, type: any, attribute: any) => {
} }
} }
console.log("改变表单值--flowFactor--->", isUpdateFlowChart); // console.log("--flowFactor--->", isUpdateFlowChart);
let isTrue = false
if(changeFlowPick.value && Array.isArray(changeFlowPick.value) && changeFlowPick.value.includes(key)){
isTrue = true
}
// //
if (isUpdateFlowChart) { if (isUpdateFlowChart && isTrue) {
flowLoading.value = true; flowLoading.value = true;
// //
gainFlowChart.conditionList = flowFactor; gainFlowChart.conditionList = flowFactor;
@ -614,6 +627,9 @@ function optionsValue3Get3(data: any, fieldName: string) {
} }
} }
} }
provide('flowNodePower', currterNodePower)
provide('currentNodeKey', nodeKey)
</script> </script>
<template> <template>
<el-drawer <el-drawer

26
src/views/sysworkflow/lowcodepage/pageFlow/tableFlow.vue

@ -4,7 +4,7 @@
@ 备注: 表单有无流程处理 @ 备注: 表单有无流程处理
--> -->
<script lang="ts" setup> <script lang="ts" setup>
import { nodeFlow, conditionInfo, nodelPeoples } from "@/api/taskapi/types"; import { nodeFlow, conditionInfo, nodelPeoples,nodePoweInfo } from "@/api/taskapi/types";
import { import {
haveCustomerFormVersion, haveCustomerFormVersion,
generateFlow, generateFlow,
@ -55,7 +55,7 @@ const flowFactor = reactive<conditionInfo[]>([]); //表单组件
const flowMap = ref<any[]>(); // const flowMap = ref<any[]>(); //
const nextStep = ref<number>(0); const nextStep = ref<number>(0);
const currentProgress = ref<number>(1); const currentProgress = ref<number>(1);
const nodeKey = ref<string>("");
const purviewAry = ref<any[]>([]); const purviewAry = ref<any[]>([]);
// //
const gainFlowChart = reactive<nodeFlow>({ const gainFlowChart = reactive<nodeFlow>({
@ -63,6 +63,8 @@ const gainFlowChart = reactive<nodeFlow>({
}); });
const nodelUserList = reactive<nodelPeoples[]>([]); const nodelUserList = reactive<nodelPeoples[]>([]);
const nodeKey = ref<string>("");
const currterNodePower = ref<nodePoweInfo[]>([])
/** /**
@ 作者: 秦东 @ 作者: 秦东
@ 时间: 2024-04-08 15:35:54 @ 时间: 2024-04-08 15:35:54
@ -103,6 +105,7 @@ const drawbox = computed({
}, },
}); });
const isFlowTable = ref(false); // const isFlowTable = ref(false); //
const changeFlowPick = ref<string[]>([])
// //
const getTaskFormData = () => { const getTaskFormData = () => {
formLoading.value = true; formLoading.value = true;
@ -115,7 +118,15 @@ const getTaskFormData = () => {
} else { } else {
isFlowTable.value = false; isFlowTable.value = false;
} }
nodeKey.value = data.flowPage.nodeKey; changeFlowPick.value = data.channerUpdate
// console.log("------------>",changeFlowPick.value)
if(data.tableFormPage.powerAry && Array.isArray(data.tableFormPage.powerAry) && data.tableFormPage.powerAry.length > 0){
currterNodePower.value = data.tableFormPage.powerAry
}
nodeKey.value = data.flowPage.nodeKey?data.flowPage.nodeKey:"";
purviewAry.value = data.tableFormPage.powerAry; purviewAry.value = data.tableFormPage.powerAry;
gainFlowChart.id = data.tableFormPage.flowkeystr; gainFlowChart.id = data.tableFormPage.flowkeystr;
@ -353,9 +364,14 @@ const changeKeyVal = (key: any, val: any, type: any, attribute: any) => {
} }
} }
let isTrue = false
if(changeFlowPick.value && Array.isArray(changeFlowPick.value) && changeFlowPick.value.includes(key)){
isTrue = true
}
// console.log("--flowFactor--->",flowFactor) // console.log("--flowFactor--->",flowFactor)
// //
if (isUpdateFlowChart) { if (isUpdateFlowChart && isTrue) {
flowLoading.value = true; flowLoading.value = true;
// //
gainFlowChart.conditionList = flowFactor; gainFlowChart.conditionList = flowFactor;
@ -506,6 +522,8 @@ function optionsValue3Get3(data: any, fieldName: string) {
/* /*
*/ */
provide('flowNodePower', currterNodePower)
provide('currentNodeKey', nodeKey)
</script> </script>
<template> <template>
<el-drawer <el-drawer

3
src/views/taskplatform/taskmanagement/lookFlowInfoApp.vue

@ -114,8 +114,7 @@ const gainFormData = () => {
currentProgress.value = props.flowLogInfo.currentStep; currentProgress.value = props.flowLogInfo.currentStep;
// console.log("props.flowLogInfo--5-------->",props.flowLogInfo.mastesform) // console.log("props.flowLogInfo--5-------->",props.flowLogInfo.mastesform)
formState.formData = stringToObj(props.flowLogInfo.mastesform); formState.formData = stringToObj(props.flowLogInfo.mastesform);
gainTaskFormInfo({ id: props.flowLogInfo.mastersKeyStr ,runFlowId: props.flowLogInfo.runFlowIdStr })
gainTaskFormInfo({ id: props.flowLogInfo.mastersKeyStr })
.then((data: any) => { .then((data: any) => {
if (data.data.logistrue) { if (data.data.logistrue) {
formState.formData.list.push(editLookFormCont); formState.formData.list.push(editLookFormCont);

65
src/widget/associatedforms/index.vue

@ -5,8 +5,8 @@
--> -->
<template> <template>
<el-form-item v-bind="data.item" :prop="tProp || data.name" :class="config.className" :rules="itemRules as any" <el-form-item v-bind="data.item" :prop="tProp || data.name" :class="config.className" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)"> :label="getLabel(data.item as FormItem)" v-if="judgeIsShow(data.name)">
<input v-model="value" type="hidden"> <input v-model="value" type="hidden" :disabled="judgeIsEdit(data.name)">
<AssociatedForms :data="props.data" :form-props="formProps" :tablekey="props.tablekey" <AssociatedForms :data="props.data" :form-props="formProps" :tablekey="props.tablekey"
:row-index="props.rowIndex" @value-changed="valueChanged" @value-changed-table="valueChangedTable"></AssociatedForms> :row-index="props.rowIndex" @value-changed="valueChanged" @value-changed-table="valueChangedTable"></AssociatedForms>
</el-form-item> </el-form-item>
@ -21,6 +21,8 @@ import {
} from '@/api/DesignForm/utils' } from '@/api/DesignForm/utils'
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -208,7 +210,66 @@ const valueChangedTable = (val: any) => {
} }
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>

67
src/widget/baidumap/index.vue

@ -11,6 +11,7 @@
:class="config.className" :class="config.className"
:rules="itemRules" :rules="itemRules"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
@ -21,9 +22,10 @@
<template v-else> <template v-else>
<input v-model="value" type="hidden" /> <input v-model="value" type="hidden" />
<input v-model="lngLat" type="hidden" /> <input v-model="lngLat" type="hidden" />
<el-input v-model="address" >
<el-input v-model="address" :disabled="judgeIsEdit(data.name)">
<template #append> <template #append>
<el-button class="fa fa-map-marker" @click="openPickMap" /> <el-button class="fa fa-map-marker" @click="openPickMap" :disabled="judgeIsEdit(data.name)"/>
</template> </template>
</el-input> </el-input>
<!-- <div :id="mapId" ref="myBaiduMapView" class="smallMapView"></div> --> <!-- <div :id="mapId" ref="myBaiduMapView" class="smallMapView"></div> -->
@ -42,6 +44,7 @@ import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import PickMap from './pickmap.vue' import PickMap from './pickmap.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
@ -269,6 +272,66 @@ const updateMapInfo = (ads:string,lng:any,lat:any) =>{
latitude.value = lat latitude.value = lat
// mapInit(mapObject) // mapInit(mapObject)
} }
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>

65
src/widget/baidumap/indexLook.vue

@ -4,18 +4,81 @@
@ 备注: @ 备注:
--> -->
<template> <template>
<div> <div >
<el-input v-model="address" disabled /> <el-input v-model="address" disabled />
<div :id="mapId" ref="myBaiduMapView" class="smallMapView"></div> <div :id="mapId" ref="myBaiduMapView" class="smallMapView"></div>
</div> </div>
</template> </template>
<script lang='ts' setup> <script lang='ts' setup>
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
address: any address: any
}>(), }>(),
{} {}
) )
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
let mapId = "baiduMapView"+ Math.ceil(Math.random()*100000000000000); let mapId = "baiduMapView"+ Math.ceil(Math.random()*100000000000000);
const mapObject = ref<any>() const mapObject = ref<any>()
const mapShow = ref(false) const mapShow = ref(false)

68
src/widget/carousel/index.vue

@ -10,8 +10,9 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<input v-model="value" type="hidden" > <input v-model="value" :disabled="judgeIsEdit(data.name)" type="hidden" >
</el-form-item> </el-form-item>
<LowcodeCarousel :data="props.data"></LowcodeCarousel> <LowcodeCarousel :data="props.data"></LowcodeCarousel>
</template> </template>
@ -23,6 +24,8 @@ import {
} from '@/api/DesignForm/utils' } from '@/api/DesignForm/utils'
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -55,9 +58,9 @@ const value = computed({
} else if(formProps.value.model[props.data.name]) { } else if(formProps.value.model[props.data.name]) {
return formProps.value.model[props.data.name] return formProps.value.model[props.data.name]
}else{ }else{
let imgAry = [] let imgAry: any[] = []
if(props.data && props.data.control && props.data.control.carsuselConfigArr && Array.isArray(props.data.control.carsuselConfigArr)){ if(props.data && props.data.control && props.data.control.carsuselConfigArr && Array.isArray(props.data.control.carsuselConfigArr)){
props.data.control.carsuselConfigArr.forEach((item) => { props.data.control.carsuselConfigArr.forEach((item: { imgUrl: any; }) => {
imgAry.push(item.imgUrl) imgAry.push(item.imgUrl)
}) })
} }
@ -162,7 +165,66 @@ const formatCustomRules = () => {
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}

67
src/widget/digitpage/index.vue

@ -10,6 +10,7 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>
@ -20,12 +21,12 @@
</template> </template>
<div v-if="type === 4" class="form-value" v-html="value"></div> <div v-if="type === 4" class="form-value" v-html="value"></div>
<template v-else> <template v-else>
<el-input v-model="value" :style="getFormItemInputStyle(configStyle,2)" :input-style="getFormItemInputStyle(configStyle,3)" oninput ="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '')" :placeholder="data.control.placeholder?data.control.placeholder:'请输入'+getLabel(data.item)"></el-input> <el-input v-model="value" :disabled="judgeIsEdit(data.name)" :style="getFormItemInputStyle(configStyle,2)" :input-style="getFormItemInputStyle(configStyle,3)" oninput ="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '')" :placeholder="data.control.placeholder?data.control.placeholder:'请输入'+getLabel(data.item)"></el-input>
</template> </template>
</el-form-item> </el-form-item>
</template> </template>
<script lang='ts' setup> <script lang='ts' setup>
import { AnalysisCss,AnalysisInputCss } from '@/components/DesignForm/public/form/calculate/cssInfo.ts' import { AnalysisCss,AnalysisInputCss } from '@/components/DesignForm/public/form/calculate/cssInfo'
import { orgInfo } from '@/api/hr/org/type' import { orgInfo } from '@/api/hr/org/type'
import { getOrgTreeList } from '@/api/hr/org/index' import { getOrgTreeList } from '@/api/hr/org/index'
import { import {
@ -35,6 +36,10 @@ import {
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -190,7 +195,65 @@ const getFormItemInputStyle = (ele: any,sty:number) => {
return AnalysisInputCss(ele?.inputStyle,sty) return AnalysisInputCss(ele?.inputStyle,sty)
} }
} }
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>

63
src/widget/lowcodeimage/index.vue

@ -11,9 +11,10 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<el-input v-show="false" v-model="imgUrl" placeholder="请输入"></el-input> <el-input v-show="false" v-model="imgUrl" placeholder="请输入" :disabled="judgeIsEdit(data.name)"></el-input>
<LowcodeImage :data="props.data" v-model:imgUrl="imgUrl" :tablekey="props.tablekey" :form-table-set-up="props.formTableSetUp" @updateCont= "updateCont" ></LowcodeImage> <LowcodeImage :data="props.data" v-model:imgUrl="imgUrl" :tablekey="props.tablekey" :form-table-set-up="props.formTableSetUp" @updateCont= "updateCont" ></LowcodeImage>
</el-form-item> </el-form-item>
@ -27,6 +28,7 @@ import {
} from '@/api/DesignForm/utils' } from '@/api/DesignForm/utils'
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -169,7 +171,66 @@ const updateCont = (val:any) =>{
value.value = val value.value = val
} }
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>

64
src/widget/lowcodetransfer/index.vue

@ -10,8 +10,9 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<input v-model="value" type="hidden" > <input v-model="value" :disabled="judgeIsEdit(data.name)" type="hidden" >
</el-form-item> </el-form-item>
<LowcodeTransfer :key="componentKey" :data="props.data" :selected-value="value" @checked-id-list-changed="checkedIdListChangedIndex" @update-model="updateModel" @re-render-component="reRenderComponent"></LowcodeTransfer> <LowcodeTransfer :key="componentKey" :data="props.data" :selected-value="value" @checked-id-list-changed="checkedIdListChangedIndex" @update-model="updateModel" @re-render-component="reRenderComponent"></LowcodeTransfer>
@ -24,6 +25,8 @@ import {
} from '@/api/DesignForm/utils' } from '@/api/DesignForm/utils'
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -260,7 +263,66 @@ const formatCustomRules = () => {
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}

62
src/widget/number/index.vue

@ -14,6 +14,7 @@ import { useRoute } from "vue-router";
import { FormItem, FormList } from "@/api/DesignForm/types"; import { FormItem, FormList } from "@/api/DesignForm/types";
import { gainNumber } from "@/api/DesignForm/requestapi"; import { gainNumber } from "@/api/DesignForm/requestapi";
import Tooltips from "@/components/DesignForm/tooltip.vue"; import Tooltips from "@/components/DesignForm/tooltip.vue";
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -186,6 +187,66 @@ const formatCustomRules = () => {
}); });
return temp; return temp;
}; };
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -194,6 +255,7 @@ const formatCustomRules = () => {
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label> <template v-if="config.help" #label>
{{ getLabel(data.item) }} {{ getLabel(data.item) }}

2
src/widget/org/cont.vue

@ -119,7 +119,7 @@ onBeforeMount(() => {
//pickOrgVal(props.orgid) //pickOrgVal(props.orgid)
getOrgTreeList({ orgid: 309 }) getOrgTreeList({ orgid: 309 })
.then(({ data }) => { .then(({ data }) => {
console.log("行政组织树对照值", data); // console.log("", data);
orgTreeList.value = data; orgTreeList.value = data;
}) })

68
src/widget/org/index.vue

@ -14,6 +14,9 @@ import {
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -173,6 +176,66 @@ onMounted(() => {
// console.log(""); // console.log("");
haveOrgTreeInfo(); haveOrgTreeInfo();
}); });
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -181,6 +244,7 @@ onMounted(() => {
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
{{ getLabel(data.item) }} {{ getLabel(data.item) }}
@ -194,9 +258,9 @@ onMounted(() => {
:props="orgTreeProps" :props="orgTreeProps"
:data="orgTreeList" :data="orgTreeList"
check-strictly check-strictly
disabled
:render-after-expand="false" :render-after-expand="false"
clearable clearable
disabled
/> />
</template> </template>
<template v-else> <template v-else>
@ -208,7 +272,7 @@ onMounted(() => {
:data="orgTreeList" :data="orgTreeList"
check-strictly check-strictly
:render-after-expand="false" :render-after-expand="false"
clearable :disabled="judgeIsEdit(data.name)"
/> />
</template> </template>
</el-form-item> </el-form-item>

63
src/widget/orgcitys/index.vue

@ -15,6 +15,7 @@ import { FormItem, FormList } from '@/api/DesignForm/types'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import areaObj from './pca.json'; import areaObj from './pca.json';
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -252,6 +253,67 @@ const initAddressData = () =>{
province.value = provinceArr[0] province.value = provinceArr[0]
fullAddress.value = "" fullAddress.value = ""
} }
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -260,6 +322,7 @@ const initAddressData = () =>{
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
{{ getLabel(data.item) }} {{ getLabel(data.item) }}

156
src/widget/systemunit/deptOrgPage.vue

@ -15,6 +15,7 @@ import { getOrgEveryonePeople } from '@/api/displayboardapi/indexapi'
import { govthree } from '@/api/opk/opk/api' import { govthree } from '@/api/opk/opk/api'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -161,7 +162,13 @@ const orgTree ={
label: 'name', label: 'name',
children:'child', children:'child',
} }
interface TreeNodeInfo {
value: number|string;
label: string;
}
const myOrg = ref("")
const orgLoading = ref(false) const orgLoading = ref(false)
const selectList = ref<TreeNodeInfo[]>([]);
onMounted(()=>{ onMounted(()=>{
orgLoading.value = true orgLoading.value = true
getUserCont() getUserCont()
@ -175,30 +182,127 @@ onMounted(()=>{
if (orgId == null || orgId == "" || orgId == "0" || orgId == 0){ if (orgId == null || orgId == "" || orgId == "0" || orgId == 0){
orgId = "" orgId = ""
} }
nextTick(()=>{
govthree({id:companyId,all:1})
.then(({data})=>{
// console.log("",data,value.value)
// console.log("---->",Number.isNaN(value.value),isNaN(value.value))
orgList.value = data
if(Number.isNaN(value.value) || isNaN(value.value) || value.value == null || value.value == "" || value.value == "0" || value.value == 0 || value.value == undefined ){
nextTick(()=>{
value.value = orgId
// console.log("",orgList.value)
// console.log("",value.value)
// console.log("1111",orgId)
})
}
selectList.value=[];
if(data.data.organization != "" && data.data.organizationgname != ""){
selectList.value.push({
value: data.data.organization*1,
label: data.data.organizationgname,
}) })
.finally(()=>{ value.value = data.data.organization
orgLoading.value = false myOrg.value = data.data.organizationgname
}else if(data.data.department != "" && data.data.departmentname != ""){
selectList.value.push({
value: data.data.department*1,
label: data.data.departmentname,
}) })
value.value = data.data.department
myOrg.value = data.data.department
}else if(data.data.company != "" && data.data.companyname != ""){
selectList.value.push({
value: data.data.company*1,
label: data.data.companyname,
}) })
value.value = data.data.company
myOrg.value = data.data.companyname
}else{
selectList.value.push({
value: 309,
label: "恒信高科",
})
value.value = "309"
myOrg.value = "恒信高科"
}
// nextTick(()=>{
// govthree({id:companyId,all:1})
// .then(({data})=>{
// // console.log("",data,value.value)
// // console.log("---->",Number.isNaN(value.value),isNaN(value.value))
// orgList.value = data
// if(Number.isNaN(value.value) || isNaN(value.value) || value.value == null || value.value == "" || value.value == "0" || value.value == 0 || value.value == undefined ){
// nextTick(()=>{
// value.value = orgId
// // console.log("",orgList.value)
// // console.log("",value.value)
// // console.log("1111",orgId)
// })
// }
// })
// .finally(()=>{
// orgLoading.value = false
// })
// })
}) })
}) })
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -207,6 +311,7 @@ onMounted(()=>{
:class="config.className" :class="config.className"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
:rules="itemRules as any" :rules="itemRules as any"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>
@ -216,7 +321,20 @@ onMounted(()=>{
<span :style="getFormItemLableStyle(configStyle)" >{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)" >{{ getLabel(data.item) }}</span>
</template> </template>
<el-tree-select <div class="inputbox" v-if="type!=4" style="width: 100%">
<el-select v-model="value" disabled placeholder="所属行政组织" style="width: 100%">
<el-option
v-for="item in selectList"
:key="item.value"
:label="item.label"
:value="item.value"
loading="peopleLoading"
/>
</el-select>
</div>
<el-text v-else class="wordColor">{{ myOrg }}</el-text>
<!-- <el-tree-select
v-loading="orgLoading" v-loading="orgLoading"
element-loading-text="Loading..." element-loading-text="Loading..."
v-model="value" v-model="value"
@ -229,7 +347,7 @@ onMounted(()=>{
check-strictly check-strictly
disabled disabled
/> /> -->
</el-form-item> </el-form-item>
</template> </template>

61
src/widget/systemunit/deptOrgSearch.vue

@ -7,6 +7,7 @@
import { orgAndPeople } from "@/api/displayboardapi/types"; import { orgAndPeople } from "@/api/displayboardapi/types";
import { getPeopleKey, getUserCont } from "@/api/hr/people/index"; import { getPeopleKey, getUserCont } from "@/api/hr/people/index";
import { govthree } from "@/api/opk/opk/api"; import { govthree } from "@/api/opk/opk/api";
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -82,6 +83,66 @@ onMounted(() => {
orgLoading.value = false; orgLoading.value = false;
}); });
}); });
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-tree-select <el-tree-select

62
src/widget/systemunit/editTime.vue

@ -12,6 +12,7 @@ import { getPeopleKey,getUserCont } from '@/api/hr/people/index'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -184,6 +185,66 @@ const updateModel = (val: any) => {
attribute: controlAttribute attribute: controlAttribute
}) })
} }
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -192,6 +253,7 @@ const updateModel = (val: any) => {
:class="config.className" :class="config.className"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
:rules="itemRules as any" :rules="itemRules as any"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>

61
src/widget/systemunit/founder.vue

@ -11,6 +11,7 @@ import validate from '@/api/DesignForm/validate'
import { getPeopleKey,getUserCont } from '@/api/hr/people/index' import { getPeopleKey,getUserCont } from '@/api/hr/people/index'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -169,8 +170,65 @@ const getFormFounder = (val: any) => {
}) })
} }
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<div> <div>
@ -180,6 +238,7 @@ const getFormFounder = (val: any) => {
:class="config.className" :class="config.className"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
:rules="itemRules as any" :rules="itemRules as any"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>

64
src/widget/systemunit/founderTime.vue

@ -12,6 +12,8 @@ import { getPeopleKey,getUserCont } from '@/api/hr/people/index'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -173,6 +175,67 @@ const getCurrentTime = () => {
return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')} ${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; return `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')} ${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
} }
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -181,6 +244,7 @@ const getCurrentTime = () => {
:class="config.className" :class="config.className"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
:rules="itemRules as any" :rules="itemRules as any"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>

67
src/widget/systemunit/ownerPage.vue

@ -14,6 +14,7 @@ import { orgAndPeople } from '@/api/displayboardapi/types'
import { getOrgEveryonePeople } from '@/api/displayboardapi/indexapi' import { getOrgEveryonePeople } from '@/api/displayboardapi/indexapi'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
@ -201,6 +202,66 @@ const orgTreeProps ={
label: 'name', label: 'name',
children:'child', children:'child',
} }
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -209,6 +270,7 @@ const orgTreeProps ={
:class="config.className" :class="config.className"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
:rules="itemRules as any" :rules="itemRules as any"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
<span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span> <span :style="getFormItemLableStyle(configStyle)">{{ getLabel(data.item) }}</span>
@ -219,8 +281,6 @@ const orgTreeProps ={
</template> </template>
<el-tree-select <el-tree-select
v-loading="peopleLoading"
element-loading-text="Loading..."
v-model="value" v-model="value"
:data="orgPeople" :data="orgPeople"
:props="orgTreeProps" :props="orgTreeProps"
@ -228,8 +288,7 @@ const orgTreeProps ={
:filterable="true" :filterable="true"
node-key="id" node-key="id"
clearable clearable
:disabled="type == 4" :disabled="type == 4 || judgeIsEdit(data.name)"
/> />
</el-form-item> </el-form-item>

63
src/widget/urllink/index.vue

@ -11,6 +11,7 @@ import {
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import Tooltips from '@/components/DesignForm/tooltip.vue' import Tooltips from '@/components/DesignForm/tooltip.vue'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -156,6 +157,65 @@ const openUrl = () => {
onMounted(() => { onMounted(() => {
// console.log("-url--",props.data) // console.log("-url--",props.data)
}) })
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<template> <template>
<el-form-item <el-form-item
@ -164,6 +224,7 @@ onMounted(() => {
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<template v-if="config.help" #label > <template v-if="config.help" #label >
{{ getLabel(data.item) }} {{ getLabel(data.item) }}
@ -171,7 +232,7 @@ onMounted(() => {
</template> </template>
<div v-if="type === 4" class="form-value" v-html="value"></div> <div v-if="type === 4" class="form-value" v-html="value"></div>
<template v-else> <template v-else>
<el-input v-model="value"> <el-input v-model="value" :disabled="judgeIsEdit(data.name)">
<template #prepend> <template #prepend>
<el-select v-model="urlVal" style="width: 115px"> <el-select v-model="urlVal" style="width: 115px">
<el-option label="http://" value="http://" /> <el-option label="http://" value="http://" />

64
src/widget/videoupload/index.vue

@ -10,6 +10,7 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<input v-model="value" type="hidden" /> <input v-model="value" type="hidden" />
<VideoUploadPlay <VideoUploadPlay
@ -25,6 +26,9 @@ import VideoUploadPlay from "./videoUploadPlay.vue";
import { constControlChange, constFormProps } from "@/api/DesignForm/utils"; import { constControlChange, constFormProps } from "@/api/DesignForm/utils";
import validate from "@/api/DesignForm/validate"; import validate from "@/api/DesignForm/validate";
import { FormItem, FormList } from "@/api/DesignForm/types"; import { FormItem, FormList } from "@/api/DesignForm/types";
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList; data: FormList;
@ -165,6 +169,66 @@ const formatCustomRules = () => {
}); });
return temp; return temp;
}; };
//
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.imgbox { .imgbox {

67
src/widget/writingboard/index.vue

@ -10,8 +10,9 @@
:class="config.className" :class="config.className"
:rules="itemRules as any" :rules="itemRules as any"
:label="getLabel(data.item as FormItem)" :label="getLabel(data.item as FormItem)"
v-if="judgeIsShow(data.name)"
> >
<input v-model="value" type="hidden" > <input v-model="value" :disabled="judgeIsEdit(data.name)" type="hidden" >
</el-form-item> </el-form-item>
<PaintBoard :img-src="value" @updataconbt="qianming" /> <PaintBoard :img-src="value" @updataconbt="qianming" />
@ -24,6 +25,9 @@ import {
} from '@/api/DesignForm/utils' } from '@/api/DesignForm/utils'
import validate from '@/api/DesignForm/validate' import validate from '@/api/DesignForm/validate'
import { FormItem, FormList } from '@/api/DesignForm/types' import { FormItem, FormList } from '@/api/DesignForm/types'
import { nodePoweInfo,powerAryInfo } from "@/api/taskapi/types";
const props = withDefaults( const props = withDefaults(
defineProps<{ defineProps<{
data: FormList data: FormList
@ -164,6 +168,67 @@ const qianming = (val:any) =>{
value.value = val value.value = val
} }
const allNodePwoer = inject('flowNodePower') as any
const currentNodePowerKey = inject('currentNodeKey') as any
//
const curNodePowerAry = () => {
if(currentNodePowerKey && currentNodePowerKey.value && currentNodePowerKey.value != ""){
if(allNodePwoer.value && Array.isArray(allNodePwoer.value) && allNodePwoer.value.length > 0){
let powerAry: any[] = []
allNodePwoer.value.forEach((item:nodePoweInfo) => {
if(item.nodeKey == currentNodePowerKey.value){
powerAry = item.powerAry
}
})
return powerAry
}else{
return []
}
}else{
return []
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可见
*/
const judgeIsShow = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = true
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = item.isLook
}
})
return isOk
}else{
return true
}
}
/**
@ 作者: 秦东
@ 时间: 2025-11-06 14:03:21
@ 功能: 判断此组件是否可编辑
*/
const judgeIsEdit = (key: string) => {
let myPower = curNodePowerAry() //
if(Array.isArray(myPower) && myPower.length > 0){
let isOk = false
myPower.forEach((item:powerAryInfo) => {
if(key == item.id){
isOk = !item.isEdit
}
})
return isOk
}else{
return false
}
}
</script> </script>
<style lang='scss' scoped> <style lang='scss' scoped>
.imgbox{ .imgbox{

19
vite.config.ts

@ -13,6 +13,8 @@ import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
import UnoCSS from "unocss/vite"; import UnoCSS from "unocss/vite";
import { terser } from 'rollup-plugin-terser';
import path from "path"; import path from "path";
const pathSrc = path.resolve(__dirname, "src"); const pathSrc = path.resolve(__dirname, "src");
@ -139,7 +141,22 @@ export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
symbolId: "icon-[dir]-[name]", symbolId: "icon-[dir]-[name]",
}), }),
], ],
build: {
terserOptions: {
compress: {
drop_console: true, // 关闭所有的 console.log 打印
},
},
rollupOptions: {
plugins: [
terser({
compress: {
drop_console: true, // 关闭所有的 console.log 打印
},
}),
],
},
},
optimizeDeps: { optimizeDeps: {
include: [ include: [
"vue", "vue",

Loading…
Cancel
Save