From 5bac5571ec6b2bad33069d24ef1b6954f41782df Mon Sep 17 00:00:00 2001
From: fujunling <2984387807@qq.com>
Date: 星期二, 11 七月 2023 17:36:03 +0800
Subject: [PATCH] fjl
---
Source/UBCS-WEB/src/api/modeling/cycle.js | 11 ++
Source/UBCS-WEB/src/views/modeling/cycle.vue | 144 +++++++++++++++++------------------
Source/UBCS-WEB/src/components/FormTemplate/index.vue | 10 ++
Source/UBCS-WEB/src/mixins/codeApply.js | 9 ++
Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue | 37 ++++++---
Source/UBCS-WEB/src/components/BatchImport/index.vue | 3
Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue | 24 +----
7 files changed, 127 insertions(+), 111 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/modeling/cycle.js b/Source/UBCS-WEB/src/api/modeling/cycle.js
index 692342a..c350d70 100644
--- a/Source/UBCS-WEB/src/api/modeling/cycle.js
+++ b/Source/UBCS-WEB/src/api/modeling/cycle.js
@@ -7,6 +7,15 @@
params
})
}
+// 鏂板
+export const add = (data) => {
+ return request({
+ url: '/api/ubcs-omd/lifeCycle/submit',
+ method: 'post',
+ data
+ })
+}
export default {
- getList
+ getList,
+ add
}
diff --git a/Source/UBCS-WEB/src/components/BatchImport/index.vue b/Source/UBCS-WEB/src/components/BatchImport/index.vue
index a0f6495..3b347ac 100644
--- a/Source/UBCS-WEB/src/components/BatchImport/index.vue
+++ b/Source/UBCS-WEB/src/components/BatchImport/index.vue
@@ -31,6 +31,7 @@
left="30px"
></Divider>
<FormTemplate
+ v-loading="!showCodeApply"
style="margin-top: 30px"
type="add"
:selfColumnType="selfColumnType"
@@ -173,7 +174,7 @@
leftTree: [],
redisOid: "",
pageLoading: null,
- showCodeApply: false,
+ showCodeApply: true,
currentTypeObj: {
historyImport: {
title: "鍘嗗彶鏁版嵁瀵煎叆",
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 5db4a8a..98665ec 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -236,7 +236,10 @@
if (this.hasResemble) {
this.activeName = "resembleQuery";
this.showResembleQuery = true;
+ } else {
+ this.showResembleQuery = false
}
+ console.log(this.hasResemble, 'this.hasResemblethis.hasResemble');
this.$nextTick(() => {
this.$refs.FormTemplate.templateRender(
res.data.formDefineVO.items
@@ -317,10 +320,13 @@
return false;
}
}
- // 杩涜鐩镐技椤规煡璇�
- const resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery(
+ let resembleQueryList = []
+ if (this.$refs.resembleQueryRef) {
+ // 杩涜鐩镐技椤规煡璇�
+ resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery(
this.form
);
+ }
if (resembleQueryList.length === 0) {
let resForm = {};
const { defaultValue, formValue } = this.getDefaultValueAndFormValues(
diff --git a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
index 1fb051b..534d360 100644
--- a/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
+++ b/Source/UBCS-WEB/src/components/flow-cycle/components/DetailPanel.vue
@@ -11,20 +11,20 @@
<el-form-item label="鍚嶇О" prop="name">
<el-input v-model.trim="newRowData.name" :maxLength="20" clearable />
</el-form-item>
- <el-form-item label="鏍囩" prop="label">
- <el-input v-model.trim="newRowData.label" clearable />
+ <el-form-item label="鏍囩" prop="id">
+ <el-input v-model.trim="newRowData.id" clearable />
</el-form-item>
- <el-form-item label="璧峰鐘舵��" prop="startState">
+ <el-form-item label="璧峰鐘舵��" prop="startStatus">
<el-select
- v-model="newRowData.startState"
+ v-model="newRowData.startStatus"
placeholder="璇烽�夋嫨璧峰鐘舵��"
style="width: 100%"
>
<el-option
- v-for="item in []"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ v-for="item in existNodes"
+ :key="item.id"
+ :label="item.id"
+ :value="item.id"
>
</el-option>
</el-select>
@@ -74,15 +74,20 @@
DetailPanel,
DetailForm,
},
- props: ["readOnly", "rowData"],
+ props: ["rowData", "existNodes"],
data() {
return {
- newRowData: {},
+ newRowData: {
+ startStatus: undefined,
+ name: undefined,
+ id: undefined,
+ remark: undefined
+ },
rules: {
name: [{ required: true, message: "鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
- label: [{ required: true, message: "鏍囩涓嶈兘涓虹┖", trigger: "blur" }],
- startState: [
- // { required: true, message: "璧峰鐘舵�佷笉鑳戒负绌�", trigger: "change" },
+ id: [{ required: true, message: "鏍囩涓嶈兘涓虹┖", trigger: "blur" }],
+ startStatus: [
+ { required: true, message: "璧峰鐘舵�佷笉鑳戒负绌�", trigger: "change" },
],
},
};
@@ -114,6 +119,12 @@
}
},
},
+ existNodes(newV) {
+ const flag = newV.some((item) => item.id === this.newRowData.startStatus);
+ if (!flag) {
+ this.newRowData.startStatus = undefined;
+ }
+ },
},
};
</script>
diff --git a/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue b/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue
index 22c03ce..aaac12b 100644
--- a/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue
+++ b/Source/UBCS-WEB/src/components/flow-cycle/flowchartEditor.vue
@@ -23,7 +23,7 @@
</div>
<div class="vfe-chart-panel" v-if="type !== 'detail'">
<div class="vfe-chart-panel-detail">
- <editor-detail-panel :rowData="rowData" ref="EditorDetailPanel" />
+ <editor-detail-panel :rowData="rowData" ref="EditorDetailPanel" :existNodes="existNodes"/>
</div>
</div>
</div>
@@ -83,6 +83,7 @@
},
tooltipShow: true,
tooltipData: [],
+ existNodes: []
};
},
@@ -95,25 +96,7 @@
},
methods: {
- // onAfterChange(e) {
- // const model = e.model
- // console.log(JSON.parse(JSON.stringify(e)));
- // if (!model.change) {
- // model.id = model.label
- // model.change = true
- // } else {
- // return
- // }
- // const { nodes } = this.$refs.flowChart.propsAPI.save()
- // if (Array.isArray(nodes) && nodes.length > 0) {
-
- // } else {
- // this.$refs.flowChart.propsAPI.add("node", model);
- // }
- // throw '绂佹鍘熺敓鏂板鏂规硶'
- // },
onAfterChange(e) {
- console.log(e);
try {
if (e.action === "add" && e.model.type === "node") {
if (!e.model.change) {
@@ -131,6 +114,9 @@
this.$message.error("涓嶈兘娣诲姞宸插瓨鍦ㄧ殑鑺傜偣锛�");
}
}
+ const { nodes } = this.$refs.flowChart.propsAPI.save()
+ this.existNodes = nodes || []
+ console.log(this.$refs.flowChart.propsAPI.save());
},
_downloadImage(data, filename = "flowchart.png") {
const a = document.createElement("a");
diff --git a/Source/UBCS-WEB/src/mixins/codeApply.js b/Source/UBCS-WEB/src/mixins/codeApply.js
index b424b44..ffe002e 100644
--- a/Source/UBCS-WEB/src/mixins/codeApply.js
+++ b/Source/UBCS-WEB/src/mixins/codeApply.js
@@ -41,10 +41,15 @@
codeApplyForm: {},
}
},
+ created() {
+ if (this.type === 'batchImportApply') {
+ this.getCodeRule()
+ }
+ },
methods: {
// 鑾峰彇鐮佸�肩敵璇锋暟鎹�
getCodeRule() {
- getCodeRule({ codeClassifyOid: this.localCodeClassifyOid }).then((res) => {
+ getCodeRule({ codeClassifyOid: this.localCodeClassifyOid || this.codeClassifyOid }).then((res) => {
if (res.data && res.data.code === 200) {
const typeList = [
"codefixedsec",
@@ -64,6 +69,8 @@
}
this.$refs.CodeApply.templateRender(this.localSecVOList);
});
+ } else {
+ this.showCodeApply = false
}
}
diff --git a/Source/UBCS-WEB/src/views/modeling/cycle.vue b/Source/UBCS-WEB/src/views/modeling/cycle.vue
index 3db8c4b..7c171f6 100644
--- a/Source/UBCS-WEB/src/views/modeling/cycle.vue
+++ b/Source/UBCS-WEB/src/views/modeling/cycle.vue
@@ -1,6 +1,14 @@
<template>
<basic-container class="">
- <avue-crud :data="data" :option="option" @refresh-change="search" :table-loading="loading">
+ <avue-crud
+ :data="data"
+ :option="option"
+ :page="page"
+ :table-loading="loading"
+ @refresh-change="search"
+ @search-change="search('search', ...arguments)"
+ @search-reset="search('reset', ...arguments)"
+ >
<template slot-scope="scope" slot="menuLeft">
<el-button
type="primary"
@@ -32,7 +40,11 @@
:width="dialogWidth"
:title="title"
append-to-body
- :before-close="() => {visible = false}"
+ :before-close="
+ () => {
+ visible = false;
+ }
+ "
top="10vh"
>
<CycleFlow
@@ -54,18 +66,23 @@
</template>
<script>
-import API from '@/api/modeling/cycle'
+import API from "@/api/modeling/cycle";
import CycleFlow from "@/components/flow-cycle/flowchartEditor.vue";
export default {
name: "cycle.vue",
components: { CycleFlow },
data() {
return {
- form: {
- page: 1,
- limit: 10
+ form: {},
+ page: {
+ pageSize: 10,
+ total: 0,
+ currentPage: 1,
+ layout: "total, sizes, prev, pager, next, jumper"
},
option: {
+ searchMenuSpan: 12,
+ searchMenuPosition: "right",
border: true,
align: "center",
menuAlign: "center",
@@ -81,10 +98,12 @@
{
label: "鍚嶇О",
prop: "name",
+ search: true,
},
{
label: "璧峰鐘舵��",
prop: "startStatusName",
+ search: true,
},
{
label: "鎻忚堪",
@@ -92,84 +111,43 @@
},
],
},
- // data: [
- // {
- // name: "鎴戞槸name",
- // label: "鎴戞槸label",
- // startState: "鎴戞槸startState",
- // remark: "鎴戞槸remark",
- // data: {
- // nodes: [
- // {
- // type: "node",
- // size: "80*48",
- // shape: "flow-rect",
- // color: "#1890FF",
- // label: "Auditing",
- // x: 110.50303650877106,
- // y: 59.22389408123915,
- // id: "Auditing",
- // index: 0,
- // },
- // {
- // type: "node",
- // size: "80*48",
- // shape: "flow-rect",
- // color: "#1890FF",
- // label: "Editing",
- // x: 120.87992069414531,
- // y: 156.76660542375714,
- // id: "Editing",
- // index: 1,
- // },
- // {
- // type: "node",
- // size: "80*48",
- // shape: "flow-rect",
- // color: "#1890FF",
- // label: "Released",
- // x: 100.12615232339681,
- // y: 252.2339399292003,
- // id: "Released",
- // index: 2,
- // },
- // ],
- // edges: [
- // {
- // source: "Auditing",
- // sourceAnchor: 1,
- // target: "Released",
- // targetAnchor: 1,
- // },
- // {
- // source: "Editing",
- // sourceAnchor: 3,
- // target: "Auditing",
- // targetAnchor: 3,
- // },
- // ],
- // },
- // },
- // ],
+ data: [],
title: "棰勮鐢熷懡鍛ㄦ湡娴佺▼鍥�",
visible: false,
flowChartNodeItems: [],
rowData: {},
dialogWidth: "50%",
type: "detail",
- loading: false
+ loading: false,
};
},
created() {
- this.search()
+ this.search("search", {});
},
methods: {
- search() {
- this.loading = true
- API.getList(this.form).then(res => {
- this.loading = false
- this.data = res.data.data
- })
+ search(type, params, done) {
+ if (type === "search") {
+ this.page.currentPage = 1;
+ } else if (type === "reset") {
+ this.page = {
+ pageSize: 10,
+ total: 0,
+ currentPage: 1,
+ };
+ }
+ this.loading = true;
+ console.log(
+ Object.assign({}, params, this.page),
+ "Object.assign({}, params, this.page)"
+ );
+ const { limit, page } = this.page;
+ API.getList(Object.assign({}, params, { limit, page })).then((res) => {
+ this.loading = false;
+ this.data = res.data.data.records;
+ this.page.total = res.data.data.total;
+ this.loading = false;
+ done && done();
+ });
},
openDialog(type, row) {
if (type === "detail") {
@@ -188,11 +166,29 @@
},
async submit() {
const newRowData = await this.$refs.vueFlowchartEditor.getNewRowData();
+ console.log(newRowData, 'newRowDatanewRowData');
if (!newRowData) {
return;
}
const flowData = this.$refs.vueFlowchartEditor.getFlowData();
- console.log(JSON.stringify(flowData));
+ let params = {
+ ...flowData,
+ ...newRowData
+ }
+ console.log(flowData, newRowData);
+ API.add(params).then(res => {
+ console.log(res, 'res');
+ })
+ },
+ },
+ watch: {
+ page: {
+ deep: true,
+ immediate: true,
+ handler(newV) {
+ this.page.page = newV.currentPage;
+ this.page.limit = newV.pageSize;
+ },
},
},
};
--
Gitblit v1.9.3