From 2325d4931dbc4b03fda648b103cd9e62bddf13b5 Mon Sep 17 00:00:00 2001 From: zhangxp <zhangxp@chicecm.com> Date: 星期四, 15 六月 2023 17:56:33 +0800 Subject: [PATCH] ‘发布组件’ --- Source/UBCS-WEB/src/views/integration/applicationForm.vue | 9 + Source/UBCS-WEB/src/views/integration/systemInfo.vue | 56 ++++++++----- Source/UBCS-WEB/src/api/template/setPersonnel.js | 22 +++- Source/UBCS-WEB/src/components/template/SetPersonnel.vue | 138 +++++++++++++++++++++++++++------ Source/UBCS-WEB/src/views/flow/flowPath.vue | 2 5 files changed, 167 insertions(+), 60 deletions(-) diff --git a/Source/UBCS-WEB/src/api/template/setPersonnel.js b/Source/UBCS-WEB/src/api/template/setPersonnel.js index ad7aa8b..bcf2771 100644 --- a/Source/UBCS-WEB/src/api/template/setPersonnel.js +++ b/Source/UBCS-WEB/src/api/template/setPersonnel.js @@ -12,24 +12,32 @@ export const personnelCollect = (params) => { return request({ url: '/api/ubcs-flow/taskUser/su', - method: 'get', - params: params + method: 'post', + data: params }) } // 浜哄憳璁剧疆鍙栨秷鏀惰棌 export const cancelCollect = (params) => { return request({ url: '/api/ubcs-flow/taskUser/du', - method: 'get', - params: params + method: 'post', + data: params }) } // 浜哄憳璁剧疆淇濆瓨 export const personnelSave = (params) => { return request({ - url: '/api/', - method: 'post', - data: params + url: '/api/ubcs-flow/vciflow/start', + method: 'get', + params: params }) } +// 浜哄憳璁剧疆淇濆瓨 +export const personnelDict = (params) => { + return request({ + url: '/api/ubcs-user/allPage', + method: 'get', + params: params + }) + } diff --git a/Source/UBCS-WEB/src/components/template/SetPersonnel.vue b/Source/UBCS-WEB/src/components/template/SetPersonnel.vue index beb1801..279b8d1 100644 --- a/Source/UBCS-WEB/src/components/template/SetPersonnel.vue +++ b/Source/UBCS-WEB/src/components/template/SetPersonnel.vue @@ -1,15 +1,23 @@ <template> - <el-dialog :title="title" :visible.sync="dialogVisible" append-to-body="true" width="30%"> - <el-tag v-for="tag in tags" :key="tag" closable effect="dark" @click="handleClickTag(tag)" - @close="handleCloseTag(tag)"> - <span> {{ tag }}</span> - </el-tag> - <el-divider></el-divider> - <el-form :model="formInline" class="demo-form-inline" label-position="left"> - <el-form-item :label="item.taskName" v-for="(item,index) in initFrom" :key="index"> - <el-select v-model="formInline[index].userId" :placeholder="item.taskName"> - <el-option label="鍖哄煙涓�" value="shanghai"></el-option> - <el-option label="鍖哄煙浜�" value="beijing"></el-option> + <el-dialog :title="title" :visible.sync="dialogVisible" append-to-body="true"> + <div> + <el-tag v-for="tag in tags" :key="tag" closable disable-transitions effect="dark" @click="handleClickTag(tag)" + @close="handleCloseTag(tag)"> + <span> {{ tag.name }}</span> + </el-tag> + </div> + + <el-divider v-if="tags.length !== 0"></el-divider> + <div class="btns-icon"> + <el-button type="primary" icon="el-icon-star-off" @click="handleCollect"></el-button> + <!-- <el-button type="primary" icon="el-icon-refresh" ></el-button> --> + </div> + <el-form :model="saveParam" class="demo-form-inline" label-position="left"> + <el-form-item :label="item.taskName" v-for="(item, index) in initFrom" :key="index"> + <el-select style="width: 50%;" v-model="saveParam.flowTaskUsers[index]['userId']" + :placeholder="item.taskName" @change="handleSelect($event, index)"> + <el-option :label="key.userNames" :value="key.userId" v-for="(key, keyi) in typeName" + :key="keyi"></el-option> </el-select> </el-form-item> </el-form> @@ -20,7 +28,7 @@ </el-dialog> </template> <script> -import { personnelInit, personnelCollect, cancelCollect, personnelSave } from '@/api/template/setPersonnel.js' +import { personnelInit, personnelCollect, cancelCollect, personnelSave, personnelDict } from '@/api/template/setPersonnel.js' export default { name: 'SetPersonnel', props: { @@ -29,11 +37,18 @@ typeof: Boolean, default: false }, + // 鏍囬 title: { typeof: String, default: '浜哄憳璁剧疆' }, - code:{ + // 妯℃澘id + code: { + typeof: String, + default: '' + }, + // 妯℃澘鐢ㄩ�� + type: { typeof: String, default: '' } @@ -50,47 +65,108 @@ return { dialogVisible: this.visible, initFrom: [], - tags: ['鏍囩1', '鏍囩2', '鏍囩3', '鏍囩4'], - formInline: [] + tags: [], + typeName: [], + saveParam: {}, + users: [], } }, mounted() { this.apiInit() + this.apiDict() }, methods: { async apiInit() { - const response = await personnelInit({type:'PUBLIC',templateId:'8b5e2017-990f-454a-9c39-4c4eeeb57553'}) + const response = await personnelInit({ type: this.type, templateId: this.code }) if (response.status === 200) { console.log(response) this.initFrom = response.data.data.user - this.formInline = response.data.data.user + this.tags = response.data.data.collect + const { modelKey, templateId } = response.data.data.flow + let flowTaskUsers = response.data.data.user + this.saveParam = { modelKey, templateId, flowTaskUsers: flowTaskUsers } + this.handleClickTag(this.tags[0]) } }, - async apiCollect() { - const response = await personnelCollect() + async apiDict() { + const response = await personnelDict() if (response.status === 200) { console.log(response) + const data = response.data.data + this.typeName = data.map(item => { + const { account, deptName, id, realName } = item + let userNames = `${deptName} - ${realName} - ${account}` + return { userId: id, userName: realName, userNames: userNames } + }) } }, - async canCollect(id) { - const response = await cancelCollect() + + handleCollect() { + this.$prompt('璇疯緭鍏ヤ竴涓悕瀛�', '鎿嶄綔', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + }).then(async ({ value }) => { + console.log(this.users) + this.saveParam.flowTaskUsers = this.users + this.saveParam = { ...this.saveParam, name: value } + console.log(this.saveParam) + const response = await personnelCollect(this.saveParam) + if (response.status === 200) { + this.$nextTick(() => { + this.apiInit() + }) + console.log(response) + } + }).catch(() => { + + }); + }, + async canCollect(name) { + const response = await cancelCollect({ name: name }) if (response.status === 200) { console.log(response) + this.apiInit() + this.$message({ + type: 'success', + message: response.data.msg + }); } }, async apiSave() { - const response = await personnelSave() - if (response.status === 200) { - console.log(response) + try { + const { modelKey, templateId } = this.saveParam + const response = await personnelSave({ modelKey, templateId }) + if (response.status === 200) { + console.log(response) + this.$message({ + type: 'success', + message: response.data.msg + }); + this.done() + } + } catch { + console.error('鎺ュ彛璋冪敤澶辫触') } }, handleClickTag(event) { console.log(event) + const flowTaskUsers = event.flowTaskUsers + this.saveParam.flowTaskUsers = flowTaskUsers.map(item => { + const { taskId, taskName, userId, userName } = item + return { taskId, taskName, userId, userName } + }) }, handleCloseTag(event) { console.log(event) - this.canCollect(event) + this.canCollect(event.name) + }, + handleSelect(event, index) { + const res = this.typeName.find(item => item.userId === event) + const { userName } = res + let users = { ... this.saveParam.flowTaskUsers[index], userName } + console.log(users) + this.users[index] = users }, done() { this.dialogVisible = false @@ -99,8 +175,9 @@ this.done() }, handleConfirm() { - // this.done() - console.log(this.formInline) + console.log(this.users) + console.log(this.saveParam) + this.apiSave() } } } @@ -108,6 +185,7 @@ <style lang="scss"> .el-tag+.el-tag { margin-left: 10px; + margin-top: 10px; } .button-new-tag { @@ -123,4 +201,10 @@ margin-left: 10px; vertical-align: bottom; } + +.btns-icon { + display: flex; + justify-content: end; + padding-bottom: 10px; +} </style> \ No newline at end of file diff --git a/Source/UBCS-WEB/src/views/flow/flowPath.vue b/Source/UBCS-WEB/src/views/flow/flowPath.vue index 15db06e..f1402d5 100644 --- a/Source/UBCS-WEB/src/views/flow/flowPath.vue +++ b/Source/UBCS-WEB/src/views/flow/flowPath.vue @@ -3,7 +3,7 @@ <el-button @click="outerVisible = true">娴佺▼娴嬭瘯</el-button> <el-button @click="handleTable">浜哄憳璁剧疆</el-button> <flow-business :visible.sync="outerVisible"></flow-business> - <set-personnel :visible.sync="visibleFlow"></set-personnel> + <set-personnel :visible.sync="visibleFlow" code="8b5e2017-990f-454a-9c39-4c4eeeb57553" type="PUBLIC"></set-personnel> </div> </template> diff --git a/Source/UBCS-WEB/src/views/integration/applicationForm.vue b/Source/UBCS-WEB/src/views/integration/applicationForm.vue index db577fa..6cd1ac7 100644 --- a/Source/UBCS-WEB/src/views/integration/applicationForm.vue +++ b/Source/UBCS-WEB/src/views/integration/applicationForm.vue @@ -117,9 +117,13 @@ }, async getDataList() { this.loading = true - console.log(this.searchParam) const { pageSize, currentPage, total } = this.page let param = { size: pageSize, current: currentPage } + console.log(this.searchParam) + this.searchParam = Object.keys(this.searchParam) + .filter((key) => this.searchParam[key] !== null && this.searchParam[key] !== undefined && this.searchParam[key] !== "") + .reduce((acc, key) => ({ ...acc, [key]: this.searchParam[key] }), {}); + console.log(this.searchParam) const response = await getList({ ...param, ...this.searchParam }) if (response.status === 200) { this.loading = false @@ -137,8 +141,10 @@ }, handleReset() { this.searchParam = {} + this.getDataList() }, handleSearch(form, done) { + console.log(form) const { id, groupCode, operationType } = form let dataTime = { id, groupCode, operationType } if (form.hasOwnProperty('createTime')) { @@ -147,7 +153,6 @@ if (form.hasOwnProperty('lastModifyTime')) { dataTime = { lastModifyTime: dateFormat(form.lastModifyTime), ...dataTime } } - console.log(dataTime) this.searchParam = dataTime this.page.currentPage = 1 this.getDataList() diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue index f1f2b78..2b7e248 100644 --- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue +++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue @@ -5,8 +5,8 @@ @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage" @selection-change="selectionChange" @row-click="handleRowClick"> <template slot="menuLeft"> - <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇� - </el-button> + <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇� + </el-button> --> <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄� </el-button> </template> @@ -68,7 +68,8 @@ required: true, message: '绯荤粺缂栧彿涓嶈兘涓虹┖', trigger: 'blur' - }] + }], + // maxlength: 30, //瀛楁暟闄愬埗 }, { label: '绯荤粺鍚嶇О', prop: 'name', @@ -77,7 +78,8 @@ required: true, message: '绯荤粺鍚嶇О涓嶈兘涓虹┖', trigger: 'blur' - }] + }], + // maxlength: 30, //瀛楁暟闄愬埗 }, { label: '绯荤粺鎻忚堪', @@ -95,6 +97,9 @@ console.log(this.search) const { pageSize, currentPage } = this.page let param = { size: pageSize, current: currentPage } + this.search = Object.keys(this.search) + .filter((key) => this.search[key] !== null && this.search[key] !== undefined && this.search[key] !== "") + .reduce((acc, key) => ({ ...acc, [key]: this.search[key] }), {}); const response = await getSysInfoList({ ...param, ...this.search }) if (response.status === 200) { console.log(response) @@ -106,31 +111,36 @@ }, // 鏂板 async handleSave(row, done, loading) { - const response = await sysInfoAdd(row) - if (response.status === 200) { + try { + const response = await sysInfoAdd(row) + if (response.status === 200) { + this.$message({ + type: 'success', + message: '鏂板鏁版嵁鎴愬姛锛�' + }) + done(row) + // this.$refs.crud.refreshTable() + // this.getDataList() + } + } catch { loading() - this.$message({ - type: 'success', - message: '鏂板鏁版嵁鎴愬姛锛�' - }) - done() - this.$refs.crud.refreshTable() - this.getDataList() } }, // 缂栬緫 async handleEdit(row, index, done, loading) { - console.log(row) - const { oid, id, name, description } = row - const response = await sysInfoEdit({ oid, id, name, description }) - if (response.status === 200) { + try { + const { oid, id, name, description } = row + const response = await sysInfoEdit({ oid, id, name, description }) + if (response.status === 200) { + loading() + this.$message({ + type: 'success', + message: '淇敼鏁版嵁鎴愬姛锛�' + }) + done(row) + } + } catch { loading() - this.$message({ - type: 'success', - message: '淇敼鏁版嵁鎴愬姛锛�' - }) - done() - this.getDataList() } }, // 鍒犻櫎鍗曟潯 -- Gitblit v1.9.3