From cf9d04b97ef0b8abb63e587e0898e301765ed4b9 Mon Sep 17 00:00:00 2001
From: cuilei <ray_tsu1@163.com>
Date: 星期一, 18 八月 2025 17:07:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAdd.vue | 528 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 528 insertions(+), 0 deletions(-)
diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAdd.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAdd.vue
new file mode 100644
index 0000000..a5e511a
--- /dev/null
+++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarAdd.vue
@@ -0,0 +1,528 @@
+<template>
+
+ <a-card class="tree_con" :loading="cardLoading" :bordered="false" >
+ <a-spin :spinning="loading">
+ <a-alert type="info" :showIcon="false" style="margin-right: 54px;padding-left: 5px">
+ <div slot="message">
+ <span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>
+ <span v-else>鏃�</span>
+ </div>
+ </a-alert>
+ <div class="drawer-bootom-button">
+ <a-dropdown :trigger="['click']" placement="bottomCenter">
+ <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="1" @click="expandAll">灞曞紑鎵�鏈�</a-menu-item>
+ <a-menu-item key="2" @click="closeAll">鍚堝苟鎵�鏈�</a-menu-item>
+ <a-menu-item key="3" @click="refreshTree">鍒锋柊</a-menu-item>
+ </a-menu>
+ <a-button>
+ <a-icon type="bars"/>
+ </a-button>
+ </a-dropdown>
+ </div>
+ <a-input-search @search="handleSearch" style="width:100%;margin-top: 10px" placeholder="妫�绱� 绫诲埆缂栫爜/鍚嶇О" allowClear
+ v-model="searchInput" @change="handleChange"/>
+
+ <a-form>
+ <a-form-item>
+ <a-tree ref="tree"
+ checkable
+ @check="onCheck"
+ :checkStrictly="checkStrictly"
+ :expandedKeys="expandedKeys"
+ :checkedKeys="checkedKeys"
+ :selectedKeys="selectedKeys"
+ :treeData="treeDataSource"
+ :autoExpandParent="autoExpandParent"
+ @select="onSelect"
+ @expand="onExpand">
+ </a-tree>
+
+ </a-form-item>
+ </a-form>
+
+ </a-spin>
+
+ <!--<tier-model ref="tierModalForm" @ok="modalFormOk"></tier-model>-->
+
+
+ </a-card>
+ <!--<div class="drawer-bootom-button">-->
+ <!--<a-dropdown style="float: left" :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>-->
+ <!--<a-button>-->
+ <!--鏍戞搷浣� <a-icon type="up" />-->
+ <!--</a-button>-->
+ <!--</a-dropdown>-->
+ <!--<!–<!–<a-popconfirm title="纭畾鏀惧純缂栬緫锛�" @confirm="close" okText="纭畾" cancelText="鍙栨秷">–>–>-->
+ <!--<!–<!–<a-button style="margin-right: .8rem">鍙栨秷</a-button>–>–>-->
+ <!--<!–<!–</a-popconfirm>–>–>-->
+ <!--<!–<!–<a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">浠呬繚瀛�</a-button>–>–>-->
+ <!--<!–<!–<a-button @click="handleSubmit(true)" type="primary" :loading="loading">淇濆瓨骞跺叧闂�</a-button>–>–>-->
+ <!--</div>-->
+</template>
+
+<script>
+ import {
+ getAction,
+ postAction,
+ deleteAction
+ } from '@/api/manage'
+ import Tooltip from 'ant-design-vue/es/tooltip'
+ // import TierModel from './modules/baseTree/TierModel'
+
+ export default {
+ name: 'BaseTree',
+ props: {
+ editDisable: {
+ type: Boolean,
+ default() {
+ return true
+ }
+ }
+ },
+ components: {
+ Tooltip,
+ // TierModel
+ },
+ data() {
+ return {
+ searchInput: '',
+ cardLoading: false,
+ loading: false,
+ treeDataSource: [],
+ selectedKeys: [],
+ expandedKeys: [],
+ checkedKeys:[],
+ checkedId:[],
+ url: {
+ getBaseTree: '/mdc/mdcequipment/loadTree',
+ deleteBatch: '/mdc/mdcequipment/deleteBatch'
+ },
+ searchValue: '',
+ dataList: [],
+ autoExpandParent: false,
+ checkStrictly: false,
+ allTreeKeys: [],
+ currSelected: {},
+ currentSlectList:[],
+ hiding: false,
+ mathChange:''
+ }
+ }
+ ,
+ created() {
+ this.queryTreeData()
+ // this.closeAll()
+ }
+ ,
+ methods: {
+ switchCheckStrictly (v) {
+ if(v==1){
+ this.checkStrictly = false
+ }else if(v==2){
+ this.checkStrictly = true
+ }
+ },
+ checkALL (e) {
+ this.checkedKeys = this.allTreeKeys
+ // console.log(this.checkedKeys);
+ this.currentSlectList = this.treeDataSource;
+ // console.log(this.currentSlectList)
+ },
+ cancelCheckALL () {
+ //this.checkedKeys = this.defaultCheckedKeys
+ this.checkedKeys = [];
+ this.currentSlectList = [];
+ // console.log(this.checkedKeys);
+ // console.log(this.currentSlectList)
+ },
+ onCheck (o,checkedNodes) {
+ console.log(o);
+ console.log(checkedNodes);
+ if(this.checkStrictly){
+ this.checkedKeys = o.checked;
+ }else{
+ this.checkedKeys = o
+ }
+ // console.log(checkedNodes)
+ // console.log(o)
+ // console.log(o.checked)
+ // console.log(checkedNodes.node.dataRef);
+ // console.log( this.currentSlectList);
+ // if(checkedNodes.checked == true && this.checkStrictly){
+ // this.currentSlectList.push(checkedNodes.node.dataRef)
+ // }else if(checkedNodes.checked == false && this.checkStrictly.length == 0){
+ // console.log(111)
+ // }
+ // console.log(this.checkStrictly)
+ if(checkedNodes.checked == true){
+ this.currentSlectList.push(checkedNodes.node.dataRef)
+ }else{
+ for(var i = 0;i<this.currentSlectList.length;i++){
+ if(this.currentSlectList[i].key == checkedNodes.node.dataRef.key){
+ this.currentSlectList.splice(i,1);
+ }
+ }
+ }
+ // console.log(this.currentSlectList)
+ // // if(this.checkStrictly = false){
+ // // if(checkedNodes.checked == true){
+ // // this.currentSlectList.push(checkedNodes.node.dataRef)
+ // // }else{
+ // // for(var i = 0;i<this.currentSlectList.length;i++){
+ // // if(this.currentSlectList[i].key == checkedNodes.node.dataRef.key){
+ // // this.currentSlectList.splice(i,1);
+ // // }
+ // // }
+ // // }
+ // // console.log(this.currentSlectList);
+ // // }else{
+ // // console.log(checkedNodes)
+ // // if(checkedNodes.checked == true){
+ // // this.currentSlectList.push(checkedNodes.node.dataRef)
+ // // }
+ // // else{
+ // // for(var i = 0;i<this.currentSlectList.length;i++){
+ // // if(this.currentSlectList[i].key == checkedNodes.node.dataRef.key){
+ // // this.currentSlectList.splice(i,1);
+ // // }
+ // // }
+ // // }
+ // // console.log(this.currentSlectList)
+ // // }
+ // // console.log( this.currentSlectList);
+ // if(this.checkStrictly){
+ // this.checkedKeys = o.checked;
+ // console.log(checkedNodes)
+ // // this.
+ // console.log(this.checkedKeys)
+ // }else{
+ // this.checkedKeys = o;
+ // console.log(this.checkedKeys)
+ // }
+ },
+ clearSelect(){
+ this.checkedKeys = [];
+ this.currentSlectList = [];
+ },
+ getCurrSelectedTitle() {
+ return !this.currSelected.title ? '' : this.currSelected.title
+ }
+ ,
+ // onClearSelected() {
+ // this.hiding = true
+ // this.currSelected = {}
+ // this.selectedKeys = []
+ // this.$emit('sendSelectBaseTree', '')
+ // },
+
+ onSelect(selectedKeys, e) {
+ // console.log(e);
+ this.hiding = false
+ let record = e.node.dataRef
+ this.currSelected = Object.assign({}, record)
+ // console.log(this.currSelected)
+ this.selectedKeys = [record.key]
+ this.$emit('sendSelectBaseTree', this.selectedKeys)
+ },
+ handleEdit(entity) {
+ this.$refs.tierModalForm.edit(entity)
+ this.$refs.tierModalForm.title = '缂栬緫灞傜骇'
+ this.$refs.tierModalForm.disableSubmit = false
+ },
+ onExpand(expandedKeys) {
+ this.expandedKeys = expandedKeys
+ this.autoExpandParent = false
+ },
+ queryTreeData() {
+ this.loading = true
+ this.cardLoading = true
+ getAction(this.url.getBaseTree).then((res) => {
+ if (res.success) {
+ this.dataList = []
+ this.allTreeKeys = []
+ this.treeDataSource = res.result
+ this.generateList(res.result)
+ } else {
+ // this.$message.warn(res.message)
+ this.$notification.warning({
+ message:'娑堟伅',
+ description:res.message
+ });
+ }
+ }).finally(() => {
+ this.loading = false
+ this.cardLoading = false
+ })
+ },
+ handleChange() {
+ let search = this.searchInput
+ let expandedKeys = this.dataList
+ .map(item => {
+ if (item.title.indexOf(search) > -1) {
+ return this.getParentKey(item.key, this.treeDataSource)
+ }
+ return null
+ })
+ .filter((item, i, self) => item && self.indexOf(item) === i)
+ Object.assign(this, {
+ expandedKeys,
+ searchValue: search,
+ autoExpandParent: true
+ })
+ }
+ ,
+ handleSearch(value) {
+ let search = value
+ let expandedKeys = this.dataList
+ .map(item => {
+ if (item.title.indexOf(search) > -1) {
+ return this.getParentKey(item.key, this.treeDataSource)
+ }
+ return null
+ })
+ .filter((item, i, self) => item && self.indexOf(item) === i)
+ Object.assign(this, {
+ expandedKeys,
+ searchValue: search,
+ autoExpandParent: true
+ })
+ }
+ ,
+ getParentKey(key, tree) {
+ let parentKey
+ for (let i = 0; i < tree.length; i++) {
+ const node = tree[i]
+ if (node.children) {
+ if (node.children.some(item => item.key === key)) {
+ parentKey = node.key
+ } else if (
+ this.getParentKey(key, node.children)) {
+ parentKey = this.getParentKey(key, node.children)
+ }
+ }
+ }
+ return parentKey
+ },
+
+ generateList(data) {
+ for (let i = 0; i < data.length; i++) {
+ const node = data[i]
+ const key = node.key
+ const title = node.title
+ this.dataList.push({
+ key,
+ title: title
+ })
+ this.allTreeKeys.push(key)
+ if (node.children) {
+ this.generateList(node.children)
+ }
+ }
+ },
+ expandAll() {
+ this.expandedKeys = this.allTreeKeys
+ },
+ closeAll() {
+ this.expandedKeys = ['-1']
+ },
+ refreshTree() {
+ this.queryTreeData()
+ },
+ batchDel: function(entity) {
+ if (!this.url.deleteBatch) {
+ this.$message.error('璇疯缃畊rl.deleteBatch灞炴��!')
+ return
+ }
+ let ids = entity.id
+ if (!ids) {
+ // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+ this.$notification.warning({
+ message:'娑堟伅',
+ description:'璇烽�夋嫨涓�鏉¤褰�'
+ });
+ return
+ } else {
+ var that = this
+ this.$confirm({
+ title: '纭鍒犻櫎',
+ content: '鏄惁鍒犻櫎閫変腑鏁版嵁?',
+ onOk: function() {
+ that.loading = true
+ deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
+ if (res.success) {
+ // that.$message.success(res.message)
+ that.$notification.success({
+ message:'娑堟伅',
+ description:res.message
+ });
+ that.queryTreeData();
+ } else {
+ // that.$message.warning(res.message)
+ that.$notification.warning({
+ message:'娑堟伅',
+ description:res.message
+ });
+ }
+ }).finally(() => {
+ that.loading = false
+ })
+ }
+ })
+ }
+ },
+ modalFormOk(val) {
+ console.log("mmm")
+ // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+ this.queryTreeData()
+ // 鏂板/淇敼 鎴愬姛鏃讹紝閲嶈浇鍒楄〃
+ }
+
+ }
+ ,
+ //鐩戝惉
+ watch: {
+ currSelected(val) { //鐩戝惉currSelected 鍙樺寲锛屽皢鍙樺寲鍚庣殑鏁板�间紶閫掔粰 getCurrSelected 浜嬩欢
+ this.$emit('getCurrSelected', val)
+
+ },
+ currentSlectList(msg){
+ this.$emit('getcurrentSlectList',msg)
+ },
+ checkedKeys(valId){
+ this.$emit('getcheckedKeys',valId)
+ }
+ }
+ }
+</script>
+
+<style lang="less" scoped>
+ /*.tree_con{*/
+ /*position: relative;*/
+ /*}*/
+ .drawer-bootom-button {
+ position: absolute;
+ top: 1px;
+ /* padding: 10px 16px; */
+ text-align: left;
+ right: 0;
+ background: #fff;
+ border-radius: 0 0 2px 2px;
+ }
+ .draw-bootom-button {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ border-top: 1px solid #e8e8e8;
+ padding: 10px 16px;
+ text-align: right;
+ left: 0;
+ background: #fff;
+ border-radius: 0 0 2px 2px;
+ }
+ .replaceSearch {
+ color: #40a9ff;
+ font-weight: bold;
+ background-color: rgb(204, 204, 204);
+ }
+
+ .ant-card-body .table-operator {
+ margin: 15px;
+ }
+
+ .anty-form-btn {
+ width: 100%;
+ text-align: center;
+ }
+
+ .anty-form-btn button {
+ margin: 0 5px;
+ }
+
+ .anty-node-layout .ant-layout-header {
+ padding-right: 0;
+ }
+
+ .header {
+ padding: 0 8px;
+ }
+
+ .header button {
+ margin: 0 3px;
+ }
+
+ .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-content {
+ height: 90% !important;
+ overflow-y: hidden;
+ }
+
+ /** Button鎸夐挳闂磋窛 */
+ .ant-btn {
+ margin-left: 3px;
+ }
+
+ .ant-alert {
+ padding: 5px 15px 5px 37px;
+ }
+
+ /*.drawer-bootom-button {*/
+ /*position: absolute;*/
+ /*bottom: 1px;*/
+ /*padding: 10px 16px;*/
+ /*text-align: left;*/
+ /*left: 0;*/
+ /*background: #fff;*/
+ /*border-radius: 0 0 2px 2px;*/
+ /*}*/
+ @media screen and (min-width: 1920px){
+ .tree_con{
+ height: 748px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1680px) and (max-width: 1920px){
+ .tree_con{
+ height: 748px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1400px) and (max-width: 1680px){
+ .tree_con{
+ height: 600px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (min-width: 1280px) and (max-width: 1400px){
+ .tree_con{
+ height: 501px!important;
+ overflow: scroll;
+ }
+ }
+ @media screen and (max-width: 1280px){
+ .tree_con{
+ height: 501px!important;
+ overflow: scroll;
+ }
+ }
+</style>
--
Gitblit v1.9.3