+
@@ -80,7 +80,7 @@
title: '生成代码',
type: 'exportCode',
event: 'handleOpenCodeModal',
- icon: 'ant-design:code-filled',
+ icon: 'bi:code-slash',
},
{
title: '清空',
diff --git a/src/views/demo/form-design/core/formItemConfig.ts b/src/views/demo/form-design/core/formItemConfig.ts
index 9e4f34d5..01d78423 100644
--- a/src/views/demo/form-design/core/formItemConfig.ts
+++ b/src/views/demo/form-design/core/formItemConfig.ts
@@ -5,7 +5,7 @@ import { IVFormComponent } from '../typings/v-form-component';
import { isArray } from 'lodash-es';
import { componentMap as VbenCmp, add } from '@/components/Form/src/componentMap';
import { ComponentType } from '@/components/Form/src/types';
-import { uploadApi,fileUploadApi } from '@/api/sys/upload';
+import { uploadApi, fileUploadApi } from '@/api/sys/upload';
import { componentMap as Cmp } from '../components';
import { Component } from 'vue';
import { getDeptList, getAccountList, getPosGroupList } from '@/api/demo/system';
@@ -106,7 +106,7 @@ export const customComponents: IVFormComponent[] = [
{
component: 'InputGuid',
label: 'GUID主键',
- icon: 'bi:input-cursor-text',
+ icon: 'bi:braces-asterisk',
field: '',
colProps: { span: 24 },
componentProps: {},
@@ -114,7 +114,7 @@ export const customComponents: IVFormComponent[] = [
{
component: 'TreeSelect',
label: '职级选择',
- icon: 'gg:select',
+ icon: 'bi:list-stars',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -129,7 +129,7 @@ export const customComponents: IVFormComponent[] = [
{
component: 'TreeSelect',
label: '部门选择',
- icon: 'clarity:tree-view-line',
+ icon: 'bi:people',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -144,7 +144,7 @@ export const customComponents: IVFormComponent[] = [
{
component: 'Select',
label: '人员选择',
- icon: 'gg:select',
+ icon: 'bi:person',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -158,7 +158,7 @@ export const customComponents: IVFormComponent[] = [
{
component: 'MapGeom',
label: '图斑',
- icon: 'ant-design:heat-map-outlined',
+ icon: 'bi:box-arrow-in-up-left',
field: 'MapGeom',
colProps: { span: 24 },
componentProps: {},
@@ -167,7 +167,7 @@ export const customComponents: IVFormComponent[] = [
field: '',
component: 'Grid',
label: '设计子表',
- icon: 'ant-design:snippets-outlined',
+ icon: 'bi:list-ul',
type: 'subTable',
componentProps: {},
columns: [
@@ -190,7 +190,7 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'InputCountDown',
label: '倒计时输入',
- icon: 'line-md:iconify2',
+ icon: 'ant-design:hourglass-outlined',
colProps: { span: 24 },
field: '',
componentProps: {},
@@ -198,7 +198,7 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'IconPicker',
label: '图标选择器',
- icon: 'line-md:iconify2',
+ icon: 'bi:grid',
colProps: { span: 24 },
field: '',
componentProps: {},
@@ -214,7 +214,7 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'AutoComplete',
label: '自动完成',
- icon: 'wpf:password1',
+ icon: 'bi:check2-circle',
colProps: { span: 24 },
field: '',
componentProps: {
@@ -242,36 +242,10 @@ export const baseComponents: IVFormComponent[] = [
dashed: true,
},
},
- {
- component: 'Checkbox',
- label: '复选框',
- icon: 'ant-design:check-circle-outlined',
- colProps: { span: 24 },
- field: '',
- },
- {
- component: 'CheckboxGroup',
- label: '复选框-组',
- icon: 'ant-design:check-circle-filled',
- field: '',
- colProps: { span: 24 },
- componentProps: {
- options: [
- {
- label: '选项1',
- value: '1',
- },
- {
- label: '选项2',
- value: '2',
- },
- ],
- },
- },
{
component: 'Input',
label: '输入框',
- icon: 'bi:input-cursor-text',
+ icon: 'bi:braces',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -289,15 +263,23 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'InputTextArea',
label: '文本域',
- icon: 'ant-design:file-text-filled',
+ icon: 'ant-design:file-text-outlined',
field: '',
colProps: { span: 24 },
componentProps: {},
},
{
- component: 'Select',
- label: '下拉选择',
- icon: 'gg:select',
+ component: 'Radio',
+ label: '单选框',
+ icon: 'carbon:radio-button-checked',
+ field: '',
+ colProps: { span: 24 },
+ componentProps: {},
+ },
+ {
+ component: 'RadioGroup',
+ label: '单选框-组',
+ icon: 'bi:ui-radios-grid',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -313,19 +295,17 @@ export const baseComponents: IVFormComponent[] = [
],
},
},
-
{
- component: 'Radio',
- label: '单选框',
- icon: 'ant-design:check-circle-outlined',
- field: '',
+ component: 'Checkbox',
+ label: '复选框',
+ icon: 'bi:check-square',
colProps: { span: 24 },
- componentProps: {},
+ field: '',
},
{
- component: 'RadioGroup',
- label: '单选框-组',
- icon: 'carbon:radio-button-checked',
+ component: 'CheckboxGroup',
+ label: '复选框-组',
+ icon: 'bi:ui-checks-grid',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -396,11 +376,45 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'Switch',
label: '开关',
- icon: 'entypo:switch',
+ icon: 'bi:toggle-off',
field: '',
colProps: { span: 24 },
componentProps: {},
},
+ {
+ component: 'Button',
+ label: '按钮组件',
+ icon: 'ant-design:build-outlined',
+ field: '',
+ colProps: { span: 24 },
+ hiddenLabel: true,
+ componentProps: {
+ type: 'default',
+ shape: 'default',
+ size: 'middle',
+ icon: '',
+ clickCode: '',
+ },
+ },
+ {
+ component: 'Select',
+ label: '下拉选择',
+ icon: 'gg:select',
+ field: '',
+ colProps: { span: 24 },
+ componentProps: {
+ options: [
+ {
+ label: '选项1',
+ value: '1',
+ },
+ {
+ label: '选项2',
+ value: '2',
+ },
+ ],
+ },
+ },
{
component: 'TreeSelect',
label: '树形选择',
@@ -461,21 +475,6 @@ export const baseComponents: IVFormComponent[] = [
],
},
},
- {
- component: 'Button',
- label: '按钮组件',
- icon: 'ant-design:build-outlined',
- field: '',
- colProps: { span: 24 },
- hiddenLabel: true,
- componentProps: {
- type: 'default',
- shape: 'default',
- size: 'middle',
- icon: '',
- clickCode: '',
- },
- },
// {
// component: 'ColorPicker',
// label: '颜色选择器',
@@ -490,7 +489,7 @@ export const baseComponents: IVFormComponent[] = [
{
component: 'slot',
label: '插槽',
- icon: 'vs:timeslot-question',
+ icon: 'bi:inboxes',
field: '',
colProps: { span: 24 },
componentProps: {
@@ -498,7 +497,7 @@ export const baseComponents: IVFormComponent[] = [
},
},
{
- component:'CreateUser',
+ component: 'CreateUser',
type: 'createuser',
label: '创建人员',
icon: 'mdi:account-check',
@@ -507,7 +506,7 @@ export const baseComponents: IVFormComponent[] = [
componentProps: {},
},
{
- component:'ModifyUser',
+ component: 'ModifyUser',
type: 'modifyuser',
label: '修改人员',
icon: 'mdi:account-edit',
@@ -516,7 +515,7 @@ export const baseComponents: IVFormComponent[] = [
componentProps: {},
},
{
- component:'CreateTime',
+ component: 'CreateTime',
type: 'createtime',
label: '创建时间',
icon: 'ic:outline-event-available',
@@ -525,70 +524,74 @@ export const baseComponents: IVFormComponent[] = [
componentProps: {},
},
{
- component:'ModifyTime',
+ component: 'ModifyTime',
type: 'modifytime',
label: '修改时间',
icon: 'ic:outline-event',
colProps: { span: 24 },
field: '',
componentProps: {},
- },{
+ },
+ {
component: 'FileUpload',
label: '文件上传',
icon: 'ant-design:file-add-outlined',
field: '',
colProps: { span: 24 },
componentProps: {
- api:fileUploadApi,
- maxNumber:10,
+ api: fileUploadApi,
+ maxNumber: 10,
maxSize: 2,
- name:"files",
- action:"/api/Files/Upload",
- server:"http://192.168.10.102:9023"
+ name: 'files',
+ action: '/api/Files/Upload',
+ server: 'http://192.168.10.102:9023',
},
- },{
+ },
+ {
component: 'ImageUpload',
label: '图片上传',
icon: 'ant-design:file-image-outlined',
field: '',
colProps: { span: 24 },
componentProps: {
- api:fileUploadApi,
- maxNumber:10,
+ api: fileUploadApi,
+ maxNumber: 10,
accept: ['png', 'jpeg', 'jpg'],
maxSize: 2,
- name:"files",
- action:"/api/Files/Upload",
- server:"http://192.168.10.102:9023"
+ name: 'files',
+ action: '/api/Files/Upload',
+ server: 'http://192.168.10.102:9023',
},
- },{
+ },
+ {
component: 'VideoUpload',
label: '视频上传',
icon: 'ant-design:video-camera-outlined',
field: '',
colProps: { span: 24 },
componentProps: {
- api:fileUploadApi,
- maxNumber:10,
+ api: fileUploadApi,
+ maxNumber: 10,
accept: ['mp4', 'mov', 'avi'],
maxSize: 100,
- name:"files",
- action:"/api/Files/Upload",
- server:"http://192.168.10.102:9023"
+ name: 'files',
+ action: '/api/Files/Upload',
+ server: 'http://192.168.10.102:9023',
},
- },{
+ },
+ {
component: 'Location',
label: '获取位置',
icon: 'ant-design:environment-outlined',
field: '',
colProps: { span: 24 },
componentProps: {
- api:()=>1,
- maxNumber:10,
+ api: () => 1,
+ maxNumber: 10,
accept: ['mp4', 'mov', 'avi'],
maxSize: 100,
},
- }
+ },
];
// https://next.antdv.com/components/transfer-cn
@@ -632,7 +635,7 @@ export const layoutComponents: IVFormComponent[] = [
field: '',
component: 'Grid',
label: '栅格布局',
- icon: 'icon-grid',
+ icon: 'bi:border-all',
componentProps: {},
columns: [
{
@@ -649,7 +652,7 @@ export const layoutComponents: IVFormComponent[] = [
field: '',
component: 'Card',
label: '卡片布局',
- icon: 'ant-design:tags-outlined',
+ icon: 'bi:card-text',
componentProps: {},
columns: [
{
@@ -665,7 +668,7 @@ export const layoutComponents: IVFormComponent[] = [
{
component: 'CardGroup',
label: '卡片组',
- icon: 'ic:round-auto-awesome-motion',
+ icon: 'bi:card-list',
colProps: { span: 24 },
field: '',
componentProps: {
@@ -673,12 +676,12 @@ export const layoutComponents: IVFormComponent[] = [
{
label: '卡片1',
value: '1',
- field:`use_card_1`,
+ field: 'use_card_1',
children: [],
},
{
label: '卡片2',
- field:`use_card_2`,
+ field: 'use_card_2',
value: '2',
children: [],
},
diff --git a/src/views/demo/onlineform/formCall/index.vue b/src/views/demo/onlineform/formCall/index.vue
index d5400d60..85eeb627 100644
--- a/src/views/demo/onlineform/formCall/index.vue
+++ b/src/views/demo/onlineform/formCall/index.vue
@@ -64,7 +64,7 @@
width="100%"
wrap-class-name="full-modal"
v-model:open="previewOpen"
- title="流程发起"
+ title="11"
:destroyOnClose="true"
>
@@ -388,6 +388,12 @@
afterSaveEvent: '',
changeDataEvent: '',
});
+
+ interface GeomParams {
+ TableName:string;
+ FieldName:string;
+ FiledValue:Array
;
+ }
const handleClickForm = (status) => {
const config = cloneDeep(formConfig.value);
@@ -513,6 +519,7 @@
if (rows.length == 0) {
return createMessage.warn('请选择一条数据查看详情');
}
+ console.log("DetailsRow",rows);
let toProps = {
isDetail: true,
isUpdate: false,
@@ -529,19 +536,37 @@
openShowFormModal.value = true;
// 根据ids获取图斑
- let getGeomPrams = {
- TableName:"",
- FieldName:"",
- FieldValue:[],
+ try{
+ let getGeomPrams:GeomParams = {
+ TableName:"drone_shp_data",
+ FieldName:"geom",
+ // FieldValue:row[].split(","),
+ FiledValue:[1315,1308],
+ }
+ getGeom(getGeomPrams).then(res=>{
+ let geoms = [];
+ if(res){
+ if(res.items?.length>0){
+ res.items.forEach((item,index)=>{
+ let geom = {
+ key:item.gid,
+ mapgeom:item.geom
+ }
+ geoms.push(geom);
+ })
+ }
+ // MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
+ MapboxComponent.value.handlerDraw(status,geoms, false)
+ }else{
+ createMessage.error("当前数据没有图斑!");
+ }
+ })
+ }catch(e){
+ createMessage.error("当前数据没有图斑!");
}
+
- // getGeom(getGeomPrams).then(res=>{
- // if(res.code == 200){
-
- // }
- // })
-
- MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
+
} else {
openModal(true, toProps);
@@ -555,6 +580,8 @@
break;
}
};
+
+
function handleSelect(selectedKeys: any, selected: any) {
const rel = selected.node.dataRef;
const obj: any = {};
@@ -805,9 +832,11 @@
// Add
if(status == "Add"){
let geoms:string[] = [];
+
mapgemoList.value?.forEach((item,index)=>{
console.log("mapgeoms",item);
})
+
let addForm = {
"tableName": "drone_shp_data",
"guidFieldName": "id",
diff --git a/src/views/demo/onlineform/formdesign/FormModal.vue b/src/views/demo/onlineform/formdesign/FormModal.vue
index 9ed1d1b9..340b3b4a 100644
--- a/src/views/demo/onlineform/formdesign/FormModal.vue
+++ b/src/views/demo/onlineform/formdesign/FormModal.vue
@@ -11,7 +11,9 @@
>
-
慧创 表单设计
+
+
表单设计
+
-
-
+
+
+
+
+
+
+
import('@/components/MapboxMaps/MapComponent.vue'));
+ const mapConfig = ref({});
const { createMessage } = useMessage();
const formBoxRef = ref();
const userStore = useUserStore();
@@ -173,6 +176,7 @@
processVisble.value = true;
}
}
+
async function getDetailInfo() {
let data = await getDetail({ code: props.code });
flowContent.value = data.scheme.flowContent;
@@ -180,7 +184,10 @@
let content = JSON.parse(data.scheme.content);
let wfData = content.wfData;
const currentNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
- console.log(currentNode);
+ console.log("currentNode",currentNode);
+ mapConfig.value = currentNode.mapConfig
+
+ console.log("mapConfig",mapConfig.value);
designerData.isCustmerTitle = currentNode.isCustmerTitle;
if (currentNode.authFields.length > 0) {
// 有自定义表单时
@@ -210,6 +217,8 @@
}
formConfig.value = currentNode.authFields;
+
+ console.log("formConfigConfig",formConfig.value);
designerData.formCurrentNode = currentNode;
getFormHistory();
}
@@ -412,4 +421,15 @@
.form-box {
width: 480px;
}
+
+ .form-container{
+ float:left;
+ width:60%
+ }
+ .maper-container{
+ float:left;
+ width:40%;
+ padding:20px;
+ height:100%;
+ }
diff --git a/src/views/demo/workflow/h5/audit.vue b/src/views/demo/workflow/h5/audit.vue
index 064de339..4d7aefed 100644
--- a/src/views/demo/workflow/h5/audit.vue
+++ b/src/views/demo/workflow/h5/audit.vue
@@ -714,4 +714,9 @@
margin-right: 8px;
}
}
+
+ ::v-deep .full-modal .ant-modal-body{
+ height:95%!important;
+ }
+
diff --git a/src/views/demo/workflow/scheme/preview.vue b/src/views/demo/workflow/scheme/preview.vue
index 72c10877..113be61d 100644
--- a/src/views/demo/workflow/scheme/preview.vue
+++ b/src/views/demo/workflow/scheme/preview.vue
@@ -51,7 +51,7 @@
async function onSave(type) {
let validateData = await modelDesigner.value.validateFlow();
let formData = await modelDesigner.value.getFlow();
- console.log(formData);
+ console.log("formData",formData);
if (validateData) {
// 1正式 2草稿
formData.scheme.type = Number(type);
diff --git a/src/views/demo/workflow/task/process/audit.vue b/src/views/demo/workflow/task/process/audit.vue
index 2b6ed780..9e144629 100644
--- a/src/views/demo/workflow/task/process/audit.vue
+++ b/src/views/demo/workflow/task/process/audit.vue
@@ -8,27 +8,29 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
-
+
@@ -175,6 +182,7 @@
import { PageWrapper } from '@/components/Page';
import { createAgain, signAudit, audit, ReadFlow } from '@/api/sys/WFProcess';
import { getBPMNTask } from '@/api/sys/WFTask';
+ import { getGeom } from '@/api/sys/layerManagement'
import { dateFormat } from '@/utils/base';
import { flowStore } from '@/store/modules/flow';
import { functionsaveForm, LoadFormScheme } from '@/api/demo/formScheme';
@@ -190,7 +198,9 @@
import { IFormConfig } from '@/views/demo/form-design/typings/v-form-component';
import { useMessage } from '@/hooks/web/useMessage';
import { buildGUID } from '@/utils/uuid';
-
+ const MapboxMap = defineAsyncComponent(() => import('@/components/MapboxMaps/MapComponent.vue'));
+ const mapConfig = ref({isShowMap:false});
+ const MapboxComponent = ref();
const { createMessage } = useMessage();
const formBoxRef = ref();
const emit = defineEmits(['closeModel']);
@@ -224,6 +234,14 @@
const rules: any = ref({
des: [{ required: true, message: '请填写审批意见', trigger: 'blur' }],
});
+
+ const footerStyle = ref({
+ height:"440px",
+ overFlow:"auto",
+ color: '#fff',
+ backgroundColor: '#ffffff',
+ zIndex:"9999999999",
+ })
if (props.type == 4) {
rules.value = {};
}
@@ -329,6 +347,10 @@
let currentNode;
if (auditNode.isInherit) {
currentNode = wfData.find((t) => t.type == 'bpmn:StartEvent');
+ mapConfig.value = currentNode.mapConfig;
+ if(mapConfig.value?.isShowMap){
+ handlerShowGeomtrys();
+ }
} else {
currentNode = auditNode;
}
@@ -726,6 +748,39 @@
return createMessage.error('失败');
}
}
+
+
+ function handlerShowGeomtrys(){
+ // 根据ids获取图斑
+ try{
+ let getGeomPrams = {
+ TableName:"drone_shp_data",
+ FieldName:"geom",
+ // FieldValue:row[].split(","),
+ FiledValue:[1315,1308],
+ }
+ getGeom(getGeomPrams).then(res=>{
+ let geoms = [];
+ if(res){
+ if(res.items?.length>0){
+ res.items.forEach((item,index)=>{
+ let geom = {
+ key:item.gid,
+ mapgeom:item.geom
+ }
+ geoms.push(geom);
+ })
+ }
+ // MapboxComponent.value.handlerDraw(status,mapgemoList.value, false);
+ MapboxComponent.value.handlerDraw("Detail",geoms, false)
+ }else{
+ createMessage.error("当前数据没有图斑!");
+ }
+ })
+ }catch(e){
+ createMessage.error("当前数据没有图斑!");
+ }
+ }
// 驳回到指定节点
async function rejectHandleOk() {
const data = await audit(props.taskId, {
@@ -744,6 +799,7 @@
onBeforeMount(() => {
getTaskInfo();
});
+
diff --git a/src/views/demo/workflow/task/uncompletedTask.vue b/src/views/demo/workflow/task/uncompletedTask.vue
index 622c0d87..b2860ca3 100644
--- a/src/views/demo/workflow/task/uncompletedTask.vue
+++ b/src/views/demo/workflow/task/uncompletedTask.vue
@@ -19,6 +19,7 @@
wrap-class-name="full-modal"
v-model:open="auditOpen"
title="审核"
+ footer=""
:destroyOnClose="true"
>
@@ -191,4 +192,9 @@
height: 85%;
}
}
+
+ ::v-deep .full-modal .ant-modal-body{
+ height:95%!important;
+ }
+