From 05170ec3d816960d4f8a38ec8d202cefe73b4179 Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期二, 17 十月 2023 17:40:17 +0800 Subject: [PATCH] 保养问题项处理 --- src/views/system/DepartList.vue | 1270 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 720 insertions(+), 550 deletions(-) diff --git a/src/views/system/DepartList.vue b/src/views/system/DepartList.vue index c9446ce..fee36ce 100644 --- a/src/views/system/DepartList.vue +++ b/src/views/system/DepartList.vue @@ -1,51 +1,105 @@ <template xmlns:background-color="http://www.w3.org/1999/xhtml"> <a-row :gutter="10"> - <a-col :md="12" :sm="24"> + <a-col + :md="12" + :sm="24" + > <a-card :bordered="false"> <!-- 鎸夐挳鎿嶄綔鍖哄煙 --> <a-row style="margin-left: 14px"> - <a-button @click="handleAdd(1)" type="primary">娣诲姞閮ㄩ棬</a-button> - <a-button @click="handleAdd(2)" type="primary">娣诲姞涓嬬骇</a-button> - <a-button type="primary" icon="download" @click="handleExportXls('閮ㄩ棬淇℃伅')">瀵煎嚭</a-button> - <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> - <a-button type="primary" icon="import">瀵煎叆</a-button> + <a-button + @click="handleAdd(1)" + type="primary" + >娣诲姞閮ㄩ棬</a-button> + <a-button + @click="handleAdd(2)" + type="primary" + >娣诲姞涓嬬骇</a-button> + <a-button + type="primary" + icon="download" + @click="handleExportXls('閮ㄩ棬淇℃伅')" + >瀵煎嚭</a-button> + <a-upload + name="file" + :showUploadList="false" + :multiple="false" + :headers="tokenHeader" + :action="importExcelUrl" + @change="handleImportExcel" + > + <a-button + type="primary" + icon="import" + >瀵煎叆</a-button> </a-upload> - <a-button title="鍒犻櫎澶氭潯鏁版嵁" @click="batchDel" type="default">鎵归噺鍒犻櫎</a-button> + <a-button + title="鍒犻櫎澶氭潯鏁版嵁" + @click="batchDel" + type="default" + >鎵归噺鍒犻櫎</a-button> <!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">鍒锋柊</a-button>--> </a-row> <div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px"> - <a-alert type="info" :showIcon="true"> + <a-alert + type="info" + :showIcon="true" + > <div slot="message"> 褰撳墠閫夋嫨锛�<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span> - <a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">鍙栨秷閫夋嫨</a> + <a + v-if="this.currSelected.title" + style="margin-left: 10px" + @click="onClearSelected" + >鍙栨秷閫夋嫨</a> </div> </a-alert> - <a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"/> + <a-input-search + @search="onSearch" + style="width:100%;margin-top: 10px" + placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" + /> <!-- 鏍�--> - <a-col :md="10" :sm="24"> + <a-col + :md="10" + :sm="24" + > <template> - <a-dropdown :trigger="[this.dropTrigger]" @visibleChange="dropStatus"> - <span style="user-select: none"> - <a-tree - checkable - multiple - @select="onSelect" - @check="onCheck" - @rightClick="rightHandle" - :selectedKeys="selectedKeys" - :checkedKeys="checkedKeys" - :treeData="departTree" - :checkStrictly="checkStrictly" - :expandedKeys="iExpandedKeys" - :autoExpandParent="autoExpandParent" - @expand="onExpand"/> + <a-dropdown + :trigger="[this.dropTrigger]" + @visibleChange="dropStatus" + > + <span style="user-select: none"> + <a-tree + checkable + multiple + @select="onSelect" + @check="onCheck" + @rightClick="rightHandle" + :selectedKeys="selectedKeys" + :checkedKeys="checkedKeys" + :treeData="departTree" + :checkStrictly="checkStrictly" + :expandedKeys="iExpandedKeys" + :autoExpandParent="autoExpandParent" + @expand="onExpand" + /> </span> <!--鏂板鍙抽敭鐐瑰嚮浜嬩欢,鍜屽鍔犳坊鍔犲拰鍒犻櫎鍔熻兘--> <a-menu slot="overlay"> - <a-menu-item @click="handleAdd(3)" key="1">娣诲姞</a-menu-item> - <a-menu-item @click="handleDelete" key="2">鍒犻櫎</a-menu-item> - <a-menu-item @click="closeDrop" key="3">鍙栨秷</a-menu-item> + <a-menu-item + @click="handleAdd(3)" + key="1" + >娣诲姞</a-menu-item> + <a-menu-item + @click="handleDelete" + key="2" + >鍒犻櫎</a-menu-item> + <a-menu-item + @click="closeDrop" + key="3" + >鍙栨秷</a-menu-item> </a-menu> </a-dropdown> </template> @@ -54,14 +108,35 @@ </a-card> <!---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------> <div class="drawer-bootom-button"> - <a-dropdown :trigger="['click']" placement="topCenter"> + <a-dropdown + :trigger="['click']" + placement="topCenter" + > <a-menu slot="overlay"> - <a-menu-item key="1" @click="switchCheckStrictly(1)">鐖跺瓙鍏宠仈</a-menu-item> - <a-menu-item key="2" @click="switchCheckStrictly(2)">鍙栨秷鍏宠仈</a-menu-item> - <a-menu-item key="3" @click="checkALL">鍏ㄩ儴鍕鹃��</a-menu-item> - <a-menu-item key="4" @click="cancelCheckALL">鍙栨秷鍏ㄩ��</a-menu-item> - <a-menu-item key="5" @click="expandAll">灞曞紑鎵�鏈�</a-menu-item> - <a-menu-item key="6" @click="closeAll">鍚堝苟鎵�鏈�</a-menu-item> + <a-menu-item + key="1" + @click="switchCheckStrictly(1)" + >鐖跺瓙鍏宠仈</a-menu-item> + <a-menu-item + key="2" + @click="switchCheckStrictly(2)" + >鍙栨秷鍏宠仈</a-menu-item> + <a-menu-item + key="3" + @click="checkALL" + >鍏ㄩ儴鍕鹃��</a-menu-item> + <a-menu-item + key="4" + @click="cancelCheckALL" + >鍙栨秷鍏ㄩ��</a-menu-item> + <a-menu-item + key="5" + @click="expandAll" + >灞曞紑鎵�鏈�</a-menu-item> + <a-menu-item + key="6" + @click="closeAll" + >鍚堝苟鎵�鏈�</a-menu-item> </a-menu> <a-button> 鏍戞搷浣� <a-icon type="up" /> @@ -70,589 +145,684 @@ </div> <!---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------> </a-col> - <a-col :md="12" :sm="24"> + <a-col + :md="12" + :sm="24" + > <a-tabs defaultActiveKey="1"> - <a-tab-pane tab="鍩烘湰淇℃伅" key="1" > - <a-card :bordered="false" v-if="selectedKeys.length>0"> - <a-form-model ref="form" :model="model" :rules="validatorRules"> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departName" label="鏈烘瀯鍚嶇О"> - <a-input placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" v-model="model.departName" /> + <a-tab-pane + tab="鍩烘湰淇℃伅" + key="1" + > + <a-card + :bordered="false" + v-if="selectedKeys.length>0" + > + <a-form-model + ref="form" + :model="model" + :rules="validatorRules" + > + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + prop="departName" + label="鏈烘瀯鍚嶇О" + > + <a-input + placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" + v-model="model.departName" + /> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="涓婄骇閮ㄩ棬"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="浣跨敤閮ㄩ棬缂栫爜" + prop="useDepartNum" + > + <a-input + id="useDepartNum" + placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�" + v-model="model.useDepartNum" + /> + </a-form-model-item> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="缁翠慨閮ㄩ棬缂栫爜" + prop="repairDepartNum" + > + <a-input + id="repairDepartNum" + placeholder="璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�" + v-model="model.repairDepartNum" + /> + </a-form-model-item> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="涓婄骇閮ㄩ棬" + > <a-tree-select style="width:100%" :dropdownStyle="{maxHeight:'200px',overflow:'auto'}" :treeData="treeData" :disabled="disable" v-model="model.parentId" - placeholder="鏃�"> + placeholder="鏃�" + > </a-tree-select> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鎺掑簭"> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="鎺掑簭" + > <a-input-number v-model="model.departOrder" /> </a-form-model-item> - <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="澶囨敞"> - <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/> + <a-form-model-item + :labelCol="labelCol" + :wrapperCol="wrapperCol" + label="澶囨敞" + > + <a-textarea + placeholder="璇疯緭鍏ュ娉�" + v-model="model.memo" + /> </a-form-model-item> </a-form-model> <div class="anty-form-btn"> - <a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">閲嶇疆</a-button> - <a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">淇濆瓨</a-button> + <a-button + @click="emptyCurrForm" + type="default" + htmlType="button" + icon="sync" + >閲嶇疆</a-button> + <a-button + @click="submitCurrForm" + type="primary" + htmlType="button" + icon="form" + >淇濆瓨</a-button> </div> </a-card> - <a-card v-else > + <a-card v-else> <a-empty> <span slot="description"> 璇峰厛閫夋嫨涓�涓儴闂�! </span> </a-empty> </a-card> </a-tab-pane> - <a-tab-pane tab="閮ㄩ棬鏉冮檺" key="2" forceRender> + <a-tab-pane + tab="閮ㄩ棬鏉冮檺" + key="2" + forceRender + > <!--<depart-auth-modal ref="departAuth"/>--> <depart-m-auth-modal ref="departMAuth"></depart-m-auth-modal> </a-tab-pane> - <a-tab-pane v-if="isDepartType == 0" tab="璁惧鍒楄〃" key="3" forceRender> - <depart-auth-modal ref="departAuth"/> + <a-tab-pane + v-if="isDepartType == 0" + tab="璁惧鍒楄〃" + key="3" + forceRender + > + <depart-auth-modal ref="departAuth" /> + </a-tab-pane> + + <a-tab-pane + v-if="isDepartType == 0" + tab="鐝粍鍒楄〃" + key="4" + forceRender + > + <depart-team ref="departTeam" /> </a-tab-pane> </a-tabs> </a-col> - <depart-modal ref="departModal" @ok="loadTree"></depart-modal> + <depart-modal + ref="departModal" + @ok="loadTree" + ></depart-modal> </a-row> </template> <script> - import {mapActions} from 'vuex' - import DepartMModal from './modules/DepartModal' - import DepartModal from './modules/DepartList/DepartModal' - import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api' - import {httpAction, deleteAction} from '@/api/manage' - import {JeecgListMixin} from '@/mixins/JeecgListMixin' - import DepartAuthModal from './modules/DepartList/DepartAuthModal' - import DepartMAuthModal from './modules/DepartAuthModal' +import { mapActions } from 'vuex' +import DepartMModal from './modules/DepartModal' +import DepartModal from './modules/DepartList/DepartModal' +import { queryDepartTreeList, searchByKeywords, deleteByDepartId } from '@/api/api' +import { httpAction, deleteAction } from '@/api/manage' +import { JeecgListMixin } from '@/mixins/JeecgListMixin' +import DepartAuthModal from './modules/DepartList/DepartAuthModal' +import DepartMAuthModal from './modules/DepartAuthModal' +import DepartTeam from './modules/DepartList/DepartTeam' - // 琛ㄥご - const columns = [ - { - title: '鏈烘瀯鍚嶇О', - dataIndex: 'departName' - }, - { - title: '鏈烘瀯绫诲瀷', - align: 'center', - dataIndex: 'orgType' - }, - { - title: '鏈烘瀯缂栫爜', - dataIndex: 'orgCode', - }, - { - title: '鎵嬫満鍙�', - dataIndex: 'mobile' - }, - { - title: '浼犵湡', - dataIndex: 'fax' - }, - { - title: '鍦板潃', - dataIndex: 'address' - }, - { - title: '鎺掑簭', - align: 'center', - dataIndex: 'departOrder' - }, - { - title: '鎿嶄綔', - align: 'center', - dataIndex: 'action', - scopedSlots: {customRender: 'action'} +// 琛ㄥご +const columns = [ + { + title: '鏈烘瀯鍚嶇О', + dataIndex: 'departName' + }, + { + title: '鏈烘瀯绫诲瀷', + align: 'center', + dataIndex: 'orgType' + }, + { + title: '鏈烘瀯缂栫爜', + dataIndex: 'orgCode', + }, + { + title: '鎵嬫満鍙�', + dataIndex: 'mobile' + }, + { + title: '浼犵湡', + dataIndex: 'fax' + }, + { + title: '鍦板潃', + dataIndex: 'address' + }, + { + title: '鎺掑簭', + align: 'center', + dataIndex: 'departOrder' + }, + { + title: '鎿嶄綔', + align: 'center', + dataIndex: 'action', + scopedSlots: { customRender: 'action' } + } +] +export default { + name: 'DepartList', + mixins: [JeecgListMixin], + components: { + DepartAuthModal, + DepartModal, + DepartMModal, + DepartMAuthModal, + DepartTeam + }, + data() { + return { + isDepartType: "", + iExpandedKeys: [], + loading: false, + autoExpandParent: true, + currFlowId: '', + currFlowName: '', + disable: true, + treeData: [], + visible: false, + departTree: [], + rightClickSelectedKey: '', + rightClickSelectedOrgCode: '', + hiding: true, + model: {}, + dropTrigger: '', + depart: {}, + columns: columns, + disableSubmit: false, + checkedKeys: [], + selectedKeys: [], + autoIncr: 1, + currSelected: {}, + allTreeKeys: [], + checkStrictly: true, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 } + }, + graphDatasource: { + nodes: [], + edges: [] + }, + validatorRules: { + departName: [{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }], + orgCode: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }], + orgCategory: [{ required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!' }], + mobile: [{ validator: this.validateMobile }] + }, + url: { + delete: '/sys/sysDepart/delete', + edit: '/sys/sysDepart/edit', + deleteBatch: '/sys/sysDepart/deleteBatch', + exportXlsUrl: "sys/sysDepart/exportXls", + importExcelUrl: "sys/sysDepart/importExcel", + }, + orgCategoryDisabled: false, } - ] - export default { - name: 'DepartList', - mixins: [JeecgListMixin], - components: { - DepartAuthModal, - DepartModal, - DepartMModal, - DepartMAuthModal - }, - data() { - return { - isDepartType:"", - iExpandedKeys: [], - loading: false, - autoExpandParent: true, - currFlowId: '', - currFlowName: '', - disable: true, - treeData: [], - visible: false, - departTree: [], - rightClickSelectedKey: '', - rightClickSelectedOrgCode: '', - hiding: true, - model: {}, - dropTrigger: '', - depart: {}, - columns: columns, - disableSubmit: false, - checkedKeys: [], - selectedKeys: [], - autoIncr: 1, - currSelected: {}, - allTreeKeys:[], - checkStrictly: true, - labelCol: { - xs: {span: 24}, - sm: {span: 5} - }, - wrapperCol: { - xs: {span: 24}, - sm: {span: 16} - }, - graphDatasource: { - nodes: [], - edges: [] - }, - validatorRules: { - departName: [{required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!'}], - orgCode: [{required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!'}], - orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}], - mobile:[{validator: this.validateMobile}] - }, - url: { - delete: '/sys/sysDepart/delete', - edit: '/sys/sysDepart/edit', - deleteBatch: '/sys/sysDepart/deleteBatch', - exportXlsUrl: "sys/sysDepart/exportXls", - importExcelUrl: "sys/sysDepart/importExcel", - }, - orgCategoryDisabled:false, - } - }, - computed: { - importExcelUrl: function () { - return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; - } - }, - methods: { - ...mapActions(['QueryDepartTree']), - queryTreeData() { - this.QueryDepartTree().then(res => { - if (res.success) { - this.isDepartType = res.result[0].value - } else { - // this.$message.warn(res.message) - this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); - } - }).finally(() =>{ - }) - }, - loadData() { - this.refresh(); - }, - loadTree() { - var that = this - that.treeData = [] - that.departTree = [] - queryDepartTreeList().then((res) => { - if (res.success) { - //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲 - this.allTreeKeys = []; - for (let i = 0; i < res.result.length; i++) { - let temp = res.result[i] - that.treeData.push(temp) - that.departTree.push(temp) - that.setThisExpandedKeys(temp) - that.getAllKeys(temp); - // console.log(temp.id) - } - this.loading = false - } - }) - }, - setThisExpandedKeys(node) { - if (node.children && node.children.length > 0) { - this.iExpandedKeys.push(node.key) - for (let a = 0; a < node.children.length; a++) { - this.setThisExpandedKeys(node.children[a]) - } - } - }, - refresh() { - this.loading = true - this.loadTree() - }, - // 鍙抽敭鎿嶄綔鏂规硶 - rightHandle(node) { - this.dropTrigger = 'contextmenu' - console.log(node.node.eventKey) - this.rightClickSelectedKey = node.node.eventKey - this.rightClickSelectedOrgCode = node.node.dataRef.orgCode - }, - onExpand(expandedKeys) { - console.log('onExpand', expandedKeys) - this.iExpandedKeys = expandedKeys - this.autoExpandParent = false - }, - backFlowList() { - this.$router.back(-1) - }, - // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠� - dropStatus(visible) { - if (visible == false) { - this.dropTrigger = '' - } - }, - // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗� - closeDrop() { - this.dropTrigger = '' - }, - addRootNode() { - this.$refs.nodeModal.add(this.currFlowId, '') - }, - batchDel: function () { - if (this.checkedKeys.length <= 0) { - // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒') + }, + computed: { + importExcelUrl: function () { + return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; + } + }, + methods: { + ...mapActions(['QueryDepartTree']), + queryTreeData() { + this.QueryDepartTree().then(res => { + if (res.success) { + this.isDepartType = res.result[0].value + } else { + // this.$message.warn(res.message) this.$notification.warning({ - message:'娑堟伅', - description:"璇烽�夋嫨涓�鏉¤褰�" + message: '娑堟伅', + description: res.message }); - } else { - var ids = '' - for (var a = 0; a < this.checkedKeys.length; a++) { - ids += this.checkedKeys[a] + ',' + } + }).finally(() => { + }) + }, + loadData() { + this.refresh(); + }, + loadTree() { + var that = this + that.treeData = [] + that.departTree = [] + queryDepartTreeList().then((res) => { + if (res.success) { + //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲 + this.allTreeKeys = []; + for (let i = 0; i < res.result.length; i++) { + let temp = res.result[i] + that.treeData.push(temp) + that.departTree.push(temp) + that.setThisExpandedKeys(temp) + that.getAllKeys(temp); + // console.log(temp.id) } - var that = this - this.$confirm({ - title: '纭鍒犻櫎', - content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?', - onOk: function () { - deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => { - if (res.success) { - // that.$message.success(res.message) - that.$notification.warning({ - message:'娑堟伅', - description:res.message - }); - that.loadTree() - that.onClearSelected() - } else { - // that.$message.warning(res.message) - that.$notification.warning({ - message:'娑堟伅', - description:res.message - }); - } - }) - } - }) + this.loading = false } - }, - onSearch(value) { - let that = this - if (value) { - searchByKeywords({keyWord: value}).then((res) => { - if (res.success) { - that.departTree = [] - for (let i = 0; i < res.result.length; i++) { - let temp = res.result[i] - that.departTree.push(temp) - } - } else { - // that.$message.warning(res.message) - that.$notification.warning({ - message:'娑堟伅', - description:res.message - }); - } - }) - } else { - that.loadTree() + }) + }, + setThisExpandedKeys(node) { + if (node.children && node.children.length > 0) { + this.iExpandedKeys.push(node.key) + for (let a = 0; a < node.children.length; a++) { + this.setThisExpandedKeys(node.children[a]) } - - }, - nodeModalOk() { - this.loadTree() - }, - nodeModalClose() { - }, - hide() { - console.log(111) - this.visible = false - }, - onCheck(checkedKeys, info) { - console.log('onCheck', checkedKeys, info) - this.hiding = false - //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ - if(this.checkStrictly){ - this.checkedKeys = checkedKeys.checked; - }else{ - this.checkedKeys = checkedKeys + } + }, + refresh() { + this.loading = true + this.loadTree() + }, + // 鍙抽敭鎿嶄綔鏂规硶 + rightHandle(node) { + this.dropTrigger = 'contextmenu' + console.log(node.node.eventKey) + this.rightClickSelectedKey = node.node.eventKey + this.rightClickSelectedOrgCode = node.node.dataRef.orgCode + }, + onExpand(expandedKeys) { + console.log('onExpand', expandedKeys) + this.iExpandedKeys = expandedKeys + this.autoExpandParent = false + }, + backFlowList() { + this.$router.back(-1) + }, + // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠� + dropStatus(visible) { + if (visible == false) { + this.dropTrigger = '' + } + }, + // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗� + closeDrop() { + this.dropTrigger = '' + }, + addRootNode() { + this.$refs.nodeModal.add(this.currFlowId, '') + }, + batchDel: function () { + if (this.checkedKeys.length <= 0) { + // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒') + this.$notification.warning({ + message: '娑堟伅', + description: "璇烽�夋嫨涓�鏉¤褰�" + }); + } else { + var ids = '' + for (var a = 0; a < this.checkedKeys.length; a++) { + ids += this.checkedKeys[a] + ',' } - //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ - }, - onSelect(selectedKeys, e) { - console.log('selected', selectedKeys, e) - this.hiding = false - let record = e.node.dataRef - console.log('onSelect-record', record) - this.currSelected = Object.assign({}, record) - this.model = this.currSelected - this.selectedKeys = [record.key] - this.model.parentId = record.parentId - this.setValuesToForm(record) - if(this.isDepartType == 0){ - this.$refs.departAuth.show(record.id); - } - - this.$refs.departMAuth.show(record.id) - - }, - // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪�� - setValuesToForm(record) { - if(record.orgCategory == '1'){ - this.orgCategoryDisabled = true; - }else{ - this.orgCategoryDisabled = false; - } - }, - getCurrSelectedTitle() { - return !this.currSelected.title ? '' : this.currSelected.title - }, - onClearSelected() { - this.hiding = true - this.checkedKeys = [] - this.currSelected = {} - this.selectedKeys = [] - if(this.isDepartType == 0){ - this.$refs.departAuth.departId = '' - - } - this.$refs.departMAuth.departId = '' - }, - handleNodeTypeChange(val) { - this.currSelected.nodeType = val - }, - notifyTriggerTypeChange(value) { - this.currSelected.notifyTriggerType = value - }, - receiptTriggerTypeChange(value) { - this.currSelected.receiptTriggerType = value - }, - submitCurrForm() { - this.$refs.form.validate(valid => { - if (valid) { - if (!this.currSelected.id) { - // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!') - this.$notification.warning({ - message:'娑堟伅', - description:"璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�" - }); - return - } - - httpAction(this.url.edit, this.currSelected, 'put').then((res) => { - if (res.success) { - // this.$message.success('淇濆瓨鎴愬姛!') - this.$notification.warning({ - message:'娑堟伅', - description:"淇濆瓨鎴愬姛" - }); - this.loadTree() - } else { - // this.$message.error(res.message) - this.$notification.warning({ - message:'娑堟伅', - description:res.message - }); - } - }) - } - }) - }, - emptyCurrForm() { - this.$refs.form.resetFields(); - this.model={} - }, - nodeSettingFormSubmit() { - this.$refs.form.validate(valid => { - if (valid) { - console.log('Received values of form: ', this.model) - } - }) - }, - openSelect() { - this.$refs.sysDirectiveModal.show() - }, - handleAdd(num) { - if (num == 1) { - this.$refs.departModal.add() - this.$refs.departModal.title = '鏂板' - } else if (num == 2) { - console.log(this.currSelected) - let key = this.currSelected.key - if (!key) { - this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�') - return false - } - this.$refs.departModal.add(this.selectedKeys) - this.$refs.departModal.title = '鏂板' - } else { - this.$refs.departModal.add(this.rightClickSelectedKey) - this.$refs.departModal.title = '鏂板' - } - }, - handleDelete() { var that = this this.$confirm({ title: '纭鍒犻櫎', - content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?', + content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?', onOk: function () { - deleteByDepartId({id: that.rightClickSelectedKey}).then((resp) => { - if (resp.success) { - //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁 - that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1); - that.$message.success('鍒犻櫎鎴愬姛!') + deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => { + if (res.success) { + // that.$message.success(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }); that.loadTree() - //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹� - let orgCode=that.model.orgCode; - if(orgCode && orgCode === that.rightClickSelectedOrgCode){ - that.onClearSelected() - } + that.onClearSelected() } else { - that.$message.warning('鍒犻櫎澶辫触!') + // that.$message.warning(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }); } }) } }) - }, - selectDirectiveOk(record) { - console.log('閫変腑鎸囦护鏁版嵁', record) - this.nodeSettingForm.setFieldsValue({directiveCode: record.directiveCode}) - this.currSelected.sysCode = record.sysCode - }, - getFlowGraphData(node) { - this.graphDatasource.nodes.push({ - id: node.id, - text: node.flowNodeName + } + }, + onSearch(value) { + let that = this + if (value) { + searchByKeywords({ keyWord: value }).then((res) => { + if (res.success) { + that.departTree = [] + for (let i = 0; i < res.result.length; i++) { + let temp = res.result[i] + that.departTree.push(temp) + } + } else { + // that.$message.warning(res.message) + that.$notification.warning({ + message: '娑堟伅', + description: res.message + }); + } }) - if (node.children.length > 0) { - for (let a = 0; a < node.children.length; a++) { - let temp = node.children[a] - this.graphDatasource.edges.push({ - source: node.id, - target: temp.id - }) - this.getFlowGraphData(temp) - } - } - }, + } else { + that.loadTree() + } + + }, + nodeModalOk() { + this.loadTree() + }, + nodeModalClose() { + }, + hide() { + console.log(111) + this.visible = false + }, + onCheck(checkedKeys, info) { + console.log('onCheck', checkedKeys, info) + this.hiding = false //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ - expandAll () { - this.iExpandedKeys = this.allTreeKeys - }, - closeAll () { - this.iExpandedKeys = [] - }, - checkALL () { - this.checkStriccheckStrictlytly = false - this.checkedKeys = this.allTreeKeys - }, - cancelCheckALL () { - //this.checkedKeys = this.defaultCheckedKeys - this.checkedKeys = [] - }, - switchCheckStrictly (v) { - if(v==1){ - this.checkStrictly = false - }else if(v==2){ - this.checkStrictly = true - } - }, - getAllKeys(node) { - // console.log('node',node); - this.allTreeKeys.push(node.key) - if (node.children && node.children.length > 0) { - for (let a = 0; a < node.children.length; a++) { - this.getAllKeys(node.children[a]) - } - } + if (this.checkStrictly) { + this.checkedKeys = checkedKeys.checked; + } else { + this.checkedKeys = checkedKeys } //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ + }, + onSelect(selectedKeys, e) { + console.log('selected', selectedKeys, e) + this.hiding = false + let record = e.node.dataRef + console.log('onSelect-record', record) + this.currSelected = Object.assign({}, record) + this.model = this.currSelected + this.selectedKeys = [record.key] + this.model.parentId = record.parentId + this.setValuesToForm(record) + if (this.isDepartType == 0) { + this.$refs.departAuth.show(record.id); + this.$refs.departTeam.show(record.id); + } + + this.$refs.departMAuth.show(record.id) }, - created() { - this.queryTreeData() - this.currFlowId = this.$route.params.id - this.currFlowName = this.$route.params.name - // this.loadTree() + // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪�� + setValuesToForm(record) { + if (record.orgCategory == '1') { + this.orgCategoryDisabled = true; + } else { + this.orgCategoryDisabled = false; + } }, + getCurrSelectedTitle() { + return !this.currSelected.title ? '' : this.currSelected.title + }, + onClearSelected() { + this.hiding = true + this.checkedKeys = [] + this.currSelected = {} + this.selectedKeys = [] + if (this.isDepartType == 0) { + this.$refs.departAuth.departId = '' + this.$refs.departTeam.departId = '' + } + this.$refs.departMAuth.departId = '' + }, + handleNodeTypeChange(val) { + this.currSelected.nodeType = val + }, + notifyTriggerTypeChange(value) { + this.currSelected.notifyTriggerType = value + }, + receiptTriggerTypeChange(value) { + this.currSelected.receiptTriggerType = value + }, + submitCurrForm() { + this.$refs.form.validate(valid => { + if (valid) { + if (!this.currSelected.id) { + // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!') + this.$notification.warning({ + message: '娑堟伅', + description: "璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�" + }); + return + } - } + httpAction(this.url.edit, this.currSelected, 'put').then((res) => { + if (res.success) { + // this.$message.success('淇濆瓨鎴愬姛!') + this.$notification.warning({ + message: '娑堟伅', + description: "淇濆瓨鎴愬姛" + }); + this.loadTree() + } else { + // this.$message.error(res.message) + this.$notification.warning({ + message: '娑堟伅', + description: res.message + }); + } + }) + } + }) + }, + emptyCurrForm() { + this.$refs.form.resetFields(); + this.model = {} + }, + nodeSettingFormSubmit() { + this.$refs.form.validate(valid => { + if (valid) { + console.log('Received values of form: ', this.model) + } + }) + }, + openSelect() { + this.$refs.sysDirectiveModal.show() + }, + handleAdd(num) { + if (num == 1) { + this.$refs.departModal.add() + this.$refs.departModal.title = '鏂板' + } else if (num == 2) { + console.log(this.currSelected) + let key = this.currSelected.key + if (!key) { + this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�') + return false + } + this.$refs.departModal.add(this.selectedKeys) + this.$refs.departModal.title = '鏂板' + } else { + this.$refs.departModal.add(this.rightClickSelectedKey) + this.$refs.departModal.title = '鏂板' + } + }, + handleDelete() { + var that = this + this.$confirm({ + title: '纭鍒犻櫎', + content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?', + onOk: function () { + deleteByDepartId({ id: that.rightClickSelectedKey }).then((resp) => { + if (resp.success) { + //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁 + that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1); + that.$message.success('鍒犻櫎鎴愬姛!') + that.loadTree() + //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹� + let orgCode = that.model.orgCode; + if (orgCode && orgCode === that.rightClickSelectedOrgCode) { + that.onClearSelected() + } + } else { + that.$message.warning('鍒犻櫎澶辫触!') + } + }) + } + }) + }, + selectDirectiveOk(record) { + console.log('閫変腑鎸囦护鏁版嵁', record) + this.nodeSettingForm.setFieldsValue({ directiveCode: record.directiveCode }) + this.currSelected.sysCode = record.sysCode + }, + getFlowGraphData(node) { + this.graphDatasource.nodes.push({ + id: node.id, + text: node.flowNodeName + }) + if (node.children.length > 0) { + for (let a = 0; a < node.children.length; a++) { + let temp = node.children[a] + this.graphDatasource.edges.push({ + source: node.id, + target: temp.id + }) + this.getFlowGraphData(temp) + } + } + }, + //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ + expandAll() { + this.iExpandedKeys = this.allTreeKeys + }, + closeAll() { + this.iExpandedKeys = [] + }, + checkALL() { + this.checkStriccheckStrictlytly = false + this.checkedKeys = this.allTreeKeys + }, + cancelCheckALL() { + //this.checkedKeys = this.defaultCheckedKeys + this.checkedKeys = [] + }, + switchCheckStrictly(v) { + if (v == 1) { + this.checkStrictly = false + } else if (v == 2) { + this.checkStrictly = true + } + }, + getAllKeys(node) { + // console.log('node',node); + this.allTreeKeys.push(node.key) + if (node.children && node.children.length > 0) { + for (let a = 0; a < node.children.length; a++) { + this.getAllKeys(node.children[a]) + } + } + } + //---- author:os_chengtgen -- date:20190827 -- for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------ + + }, + created() { + this.queryTreeData() + this.currFlowId = this.$route.params.id + this.currFlowName = this.$route.params.name + // this.loadTree() + }, + +} </script> <style scoped> - .ant-card-body .table-operator { - margin: 15px; - } +.ant-card-body .table-operator { + margin: 15px; +} - .anty-form-btn { - width: 100%; - text-align: center; - } +.anty-form-btn { + width: 100%; + text-align: center; +} - .anty-form-btn button { - margin: 0 5px; - } +.anty-form-btn button { + margin: 0 5px; +} - .anty-node-layout .ant-layout-header { - padding-right: 0 - } +.anty-node-layout .ant-layout-header { + padding-right: 0; +} - .header { - padding: 0 8px; - } +.header { + padding: 0 8px; +} - .header button { - margin: 0 3px - } +.header button { + margin: 0 3px; +} - .ant-modal-cust-warp { - height: 100% - } +.ant-modal-cust-warp { + height: 100%; +} - .ant-modal-cust-warp .ant-modal-body { - height: calc(100% - 110px) !important; - overflow-y: auto - } +.ant-modal-cust-warp .ant-modal-body { + height: calc(100% - 110px) !important; + overflow-y: auto; +} - .ant-modal-cust-warp .ant-modal-content { - height: 90% !important; - overflow-y: hidden - } +.ant-modal-cust-warp .ant-modal-content { + height: 90% !important; + overflow-y: hidden; +} - #app .desktop { - height: auto !important; - } +#app .desktop { + height: auto !important; +} - /** Button鎸夐挳闂磋窛 */ - .ant-btn { - margin-left: 3px - } +/** Button鎸夐挳闂磋窛 */ +.ant-btn { + margin-left: 3px; +} - .drawer-bootom-button { - /*position: absolute;*/ - bottom: 0; - width: 100%; - border-top: 1px solid #e8e8e8; - padding: 10px 16px; - text-align: left; - left: 0; - background: #fff; - border-radius: 0 0 2px 2px; - } +.drawer-bootom-button { + /*position: absolute;*/ + bottom: 0; + width: 100%; + border-top: 1px solid #e8e8e8; + padding: 10px 16px; + text-align: left; + left: 0; + background: #fff; + border-radius: 0 0 2px 2px; +} </style> \ No newline at end of file -- Gitblit v1.9.3