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