暂存表单联调

This commit is contained in:
zhujiyan
2024-05-11 17:09:36 +08:00
parent 3b6222e672
commit cb17256295
9 changed files with 5055 additions and 2714 deletions

83
auto-imports.d.ts vendored Normal file
View File

@@ -0,0 +1,83 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const createPinia: typeof import('pinia')['createPinia']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineStore: typeof import('pinia')['defineStore']
const effectScope: typeof import('vue')['effectScope']
const getActivePinia: typeof import('pinia')['getActivePinia']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const mapActions: typeof import('pinia')['mapActions']
const mapGetters: typeof import('pinia')['mapGetters']
const mapState: typeof import('pinia')['mapState']
const mapStores: typeof import('pinia')['mapStores']
const mapWritableState: typeof import('pinia')['mapWritableState']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const setActivePinia: typeof import('pinia')['setActivePinia']
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const storeToRefs: typeof import('pinia')['storeToRefs']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const toValue: typeof import('vue')['toValue']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useLink: typeof import('vue-router')['useLink']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useSlots: typeof import('vue')['useSlots']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
import('vue')
}

View File

@@ -13,44 +13,42 @@
"@element-plus/icons-vue": "^2.3.1",
"@form-create/designer": "^3.1.3",
"@form-create/element-ui": "^3.1.24",
"qs": "^6.12.0",
"vue-i18n": "9.10.2",
"web-storage-cache": "^1.1.1",
"vue-types": "^5.1.1",
"jsencrypt": "^3.3.2",
"dayjs": "^1.11.10",
"@fortawesome/fontawesome-free": "^6.5.1",
"@vueuse/core": "^10.7.0",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^5.1.12",
"axios": "^1.6.2",
"bpmn-moddle": "^6.0.0",
"bpmn-js-token-simulation": "^0.10.0",
"camunda-bpmn-moddle": "^7.0.1",
"bpmn-js": "8.9.0",
"bpmn-js-properties-panel": "0.46.0",
"bpmn-js-token-simulation": "^0.10.0",
"bpmn-moddle": "^6.0.0",
"camunda-bpmn-moddle": "^7.0.1",
"crypto-js": "^4.2.0",
"dayjs": "^1.11.10",
"diagram-js": "^11.4.1",
"diagram-js-minimap": "^2.0.4",
"echarts": "^5.4.3",
"echarts-gl": "^2.0.9",
"echarts4": "npm:echarts@^4.9.0",
"echarts-liquidfill": "^3.1.0",
"echarts4": "npm:echarts@^4.9.0",
"element-plus": "^2.7.2",
"exceljs": "^4.4.0",
"file-saver": "^2.0.5",
"html2canvas": "^1.4.1",
"jquery": "^3.7.1",
"js-pinyin": "^0.2.5",
"jsencrypt": "^3.3.2",
"less": "^4.2.0",
"lodash-es": "^4.17.21",
"luckyexcel": "^1.0.1",
"luckysheet": "^2.1.13",
"min-dash": "^4.2.1",
"mitt": "^3.0.1",
"moment": "^2.30.1",
"nprogress": "^0.2.0",
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.1",
"qs": "^6.12.0",
"screenfull": "^6.0.2",
"splitpanes": "^3.1.5",
"steady-xml": "0.1.0",
@@ -59,22 +57,25 @@
"vue-baidu-map-3x": "^1.0.35",
"vue-baidu-map-offline": "^1.0.7",
"vue-draggable-resizable": "3.0.0-beta.2",
"vue-i18n": "9.10.2",
"vue-router": "4",
"vue-types": "^5.1.1",
"vxe-table": "^4.5.17",
"vxe-table-plugin-export-xlsx": "^4.0.1",
"web-storage-cache": "^1.1.1",
"xe-utils": "^3.5.14",
"yarn": "^1.22.22"
},
"devDependencies": {
"@types/lodash-es": "^4.17.12",
"unplugin-auto-import": "^0.16.7",
"@types/node": "^20.10.5",
"@purge-icons/generated": "^0.9.0",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.10.5",
"@types/splitpanes": "^2.2.6",
"@vitejs/plugin-vue": "^4.5.2",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"sass": "^1.69.5",
"typescript": "^5.2.2",
"unplugin-auto-import": "^0.16.7",
"vite": "^5.0.8",
"vite-plugin-mkcert": "^1.17.3",
"vue-tsc": "^1.8.25"

5970
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,16 @@
import createAxios from '@/utils/request'
import { SUPERVISION_BOOT } from '@/utils/constantRequest'
const MAPPING_PATH = SUPERVISION_BOOT + '/workflow/wfForm'
/**
* 提交表单数据
*/
export const submitFormData = (data: any) => {
return createAxios({
url: '/supervision-boot/userReport/add',
method: 'POST',
data: data
})
}

View File

@@ -13,6 +13,19 @@ export function queryByCode(code: string) {
data: form
})
}
// 字典树接口2
export function queryByAllCode() {
let form = new FormData()
// form.append('code', code)
return createAxios({
url: '/system-boot/dictTree/queryTree',
method: 'GET',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
// data: form
})
}
// 字典树接口通过code
export function queryCsDictTree(pid: string) {

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,9 @@
<template>
<TableHeader ref="TableHeaderRef">
<TableHeader ref="TableHeaderRef">
<template #select>
<el-form-item label="工程名称">
<el-input
v-model="tableStore.table.params.searchValue"
clearable
></el-input>
<el-input v-model="tableStore.table.params.searchValue" clearable></el-input>
</el-form-item>
<el-form-item label="所属地市">
<el-select v-model="tableStore.table.params.loadType" clearable placeholder="请选择所属地市">
<el-option
@@ -20,8 +16,8 @@
</el-form-item>
</template>
<template #operation>
<el-button icon="el-icon-Plus" type="primary" @click="addList">新增</el-button>
<!-- <el-button icon="el-icon-Plus" type="primary" @click="addList">新增</el-button> -->
<el-button icon="el-icon-Plus" type="primary" @click="addFormModel">新增</el-button>
<el-button icon="el-icon-Download" @click="exportEvent" type="primary">导出</el-button>
</template>
</TableHeader>
@@ -30,6 +26,8 @@
<Add ref="addRef" @onSubmit="tableStore.index()" />
<!-- 上传 -->
<Audit ref="AuditRef" @onSubmit="tableStore.index()" />
<!-- 查看详情 detail 新增/修改 create-->
<addForm ref="addForms" openType="create"></addForm>
</template>
<script setup lang="ts">
import { ref, onMounted, provide, nextTick } from 'vue'
@@ -39,6 +37,7 @@ import TableHeader from '@/components/table/header/index.vue'
import { mainHeight } from '@/utils/layout'
import Add from './add.vue'
import Audit from './audit.vue'
import addForm from './addForm.vue'
import { useDictData } from '@/stores/dictData'
import { getLoadTypeUserList } from '@/api/process-boot/interference'
const dictData = useDictData()
@@ -149,6 +148,15 @@ const addList = () => {
addRef.value.open()
}
//三个表单
const addForms = ref()
const formVisibile = ref(false)
const addFormModel = () => {
console.log( addForms.value,"00000");
addForms.value.open()
formVisibile.value = true
}
// 导出
const exportEvent = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params))
@@ -176,4 +184,7 @@ onMounted(() => {
:deep(.el-upload-list__item) {
width: 400px;
}
::v-deep .el-input__wrapper{
width:200px !important;
}
</style>

View File

@@ -1,12 +1,12 @@
<template>
<div class="default-main">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="非线性用户建档" name="1">
<undocumented v-if="activeName == '1'"/>
<el-tab-pane label="未建档非线性用户录入及查询" name="1">
<undocumented v-if="activeName == '1'" />
</el-tab-pane>
<el-tab-pane label="入网评估报告审核" name="2"><network v-if="activeName == '2'"/></el-tab-pane>
<el-tab-pane label="干扰源用户常态化管理" name="3"><normal v-if="activeName == '3'"/></el-tab-pane>
<el-tab-pane label="实测报告审核" name="4"><report v-if="activeName == '4'"/></el-tab-pane>
<el-tab-pane label="入网评估报告审核" name="2"><network v-if="activeName == '2'" /></el-tab-pane>
<el-tab-pane label="干扰源用户常态化管理" name="3"><normal v-if="activeName == '3'" /></el-tab-pane>
<el-tab-pane label="实测报告审核" name="4"><report v-if="activeName == '4'" /></el-tab-pane>
</el-tabs>
</div>
</template>
@@ -17,7 +17,6 @@ import undocumented from './components/undocumented/index.vue'
import network from './components/network/index.vue'
import normal from './components/normal.vue'
import report from './components/report.vue'
import { mainHeight } from '@/utils/layout'
defineOptions({
name: 'Processsupervision/interferencemanagement'
@@ -27,6 +26,8 @@ const Statistics = ref()
const compatibility = ref()
const layout = mainHeight(63) as any
</script>
<style lang="scss" scoped>

View File

@@ -1,34 +1,34 @@
<!--流程模型管理界面-->
<template>
<div class='default-main'>
<div class="default-main">
<TableHeader>
<template v-slot:select>
<!-- <el-form-item label='用户'>-->
<!-- <el-select v-model='tableStore.table.params.userId' filterable clearable>-->
<!-- <el-option-->
<!-- v-for='item in userListData'-->
<!-- :key='item.id'-->
<!-- :label='item.userName'-->
<!-- :value='item.id'-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label='用户'>-->
<!-- <el-select v-model='tableStore.table.params.userId' filterable clearable>-->
<!-- <el-option-->
<!-- v-for='item in userListData'-->
<!-- :key='item.id'-->
<!-- :label='item.userName'-->
<!-- :value='item.id'-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</template>
<template v-slot:operation>
<el-button type='primary' @click='add' class='ml10' :icon='Plus'>新增模型</el-button>
<el-button type="primary" @click="add" class="ml10" :icon="Plus">新增模型</el-button>
</template>
</TableHeader>
<!--表格-->
<Table ref='tableRef' isGroup></Table>
<model-popup ref='modelPopup' />
<Table ref="tableRef" isGroup></Table>
<model-popup ref="modelPopup" />
<!-- 弹窗表单详情 -->
<el-dialog title='表单详情' v-model='formDetailVisible' width='800'>
<form-create :rule='formDetailPreview.rule' :option='formDetailPreview.option' />
<el-dialog title="表单详情" v-model="formDetailVisible" width="800">
<form-create :rule="formDetailPreview.rule" :option="formDetailPreview.option" />
</el-dialog>
</div>
</template>
<script setup lang='ts'>
<script setup lang="ts">
import { Plus } from '@element-plus/icons-vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import TableStore from '@/utils/tableStore'
@@ -50,7 +50,6 @@ defineOptions({
const { push } = useRouter()
const modelPopup = ref()
const tableStore = new TableStore({
url: '/bpm-boot/bpm/model/list',
method: 'POST',
@@ -61,23 +60,33 @@ const tableStore = new TableStore({
{ title: '流程分类', field: 'categoryName', width: 150 },
{ title: '表单信息', field: 'formName', width: 170 },
{
title: '创建时间', field: 'createTime', width: 150
title: '创建时间',
field: 'createTime',
width: 150
},
{
title: '最新部署的流程定义',
children: [
{ title: '模型版本', width: '150', field: 'processDefinition.version' },
{
title: '激活状态', width: '150', field: 'processDefinition.suspensionState',
render: 'tag',
custom: {
2: 'danger',
1: 'success'
},
replaceValue: {
2: '关闭',
1: '开启'
title: '激活状态',
width: '150',
field: 'processDefinition.suspensionState',
render: 'switch',
activeValue: '1',
inactiveValue: '0',
onChangeField: (row: any, value) => {
console.log(row, 444123, value)
value == 0 ? (value = 1) : (value = 0)
}
// custom: {
// 2: 'danger',
// 1: 'success'
// },
// replaceValue: {
// 2: '关闭',
// 1: '开启'
// }
},
{ title: '部署时间', width: '150', field: 'processDefinition.deploymentTime' }
]
@@ -150,11 +159,9 @@ const tableStore = new TableStore({
delete tableStore.table.params[key]
}
}
}
})
onMounted(() => {
// 加载数据
tableStore.index()
@@ -178,30 +185,23 @@ const handleDesign = (rowId: string) => {
})
}
/** 发布流程 */
const handleDeployConfirm = (rowId: string) => {
try {
// 删除的二次确认
ElMessageBox.confirm(
'是否部署该流程?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
draggable: true,
type: 'warning'
}
).then(() => {
handleDeploy(rowId)
ElMessageBox.confirm('是否部署该流程?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
draggable: true,
type: 'warning'
})
.catch(() => {
.then(() => {
handleDeploy(rowId)
})
} catch {
}
.catch(() => {})
} catch {}
}
const handleDeploy = async (rowId: string) => {
// 发起部署
await deployModel(rowId)
@@ -224,8 +224,5 @@ const handleFormDetail = async (formId: string) => {
// 弹窗打开
formDetailVisible.value = true
})
}
</script>