Merge remote-tracking branch 'origin/master'
| | |
| | | <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" |
| | | :option="Treeoption" style="width: fit-content;" @node-click="nodeClick"> |
| | | <template slot-scope="{ node }"> |
| | | <el-tooltip class="item" effect="dark" open-delay="350" :content="$createElement('div', { domProps: { innerHTML: node.label } })" placement="right-start"> |
| | | <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark" |
| | | open-delay="350" placement="right-start"> |
| | | <span id="labelSize" v-html="node.label" ></span> |
| | | </el-tooltip> |
| | | </template> |
| | |
| | | const index = this.$route.query.id.indexOf('@'); |
| | | const result = this.$route.query.id.substring(0, index); |
| | | this.idData = result; |
| | | this.removeList(); |
| | | getTreeList({'conditionMap[id]': this.idData}).then(res => { |
| | | if (res) { |
| | | if (res.data.length === 0) { |
| | |
| | | this.$message.error(res) |
| | | }); |
| | | }, |
| | | |
| | | removeList() { |
| | | this.$emit('tableHeadDataFateher', []); |
| | | this.$emit('tableHeadFindData', []); |
| | | this.$emit('tableHeadBttoms', []); |
| | | this.$emit('tableDataArray', []) |
| | | this.$emit('total', null) |
| | | }, |
| | | //定义一个修改数据属性名的方法 |
| | | ModifyProperties(obj, oldName, newName) { |
| | | for (let key in obj) { |
| | |
| | | margin-left: 6px; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | #labelSize{ |
| | | font-size: 14px !important; |
| | | } |
| | |
| | | }, |
| | | tableHeadDataFateher: { |
| | | handler(newval, oldval) { |
| | | // console.log(newval) |
| | | if (newval.length > 0) { |
| | | this.options = newval.tableDefineVO.seniorQueryColumns |
| | | } |
| | | } |
| | | }, |
| | | codeClassifyOid: { |
| | |
| | | tableDataArray: { |
| | | handler(newval, oldval) { |
| | | this.tableData = newval; |
| | | this.searchResults = newval |
| | | this.searchResults = newval; |
| | | this.doLayout(); |
| | | if (newval.length > 0) { |
| | | this.fileOptions = { |
| | | ownbizOid: "0", |
| | | ownbizBtm: "0", |
| | |
| | | hasUpload: true, |
| | | height: 'auto' |
| | | } |
| | | } else { |
| | | this.fileOptions = {}; |
| | | } |
| | | }, |
| | | }, |
| | | tableHeadFindData: { |
| | |
| | | v-dialogDrag |
| | | :close-on-click-modal="false" |
| | | :visible.sync="isShowDialog" |
| | | @close="closeDialog" |
| | | append-to-body title="分类授权"> |
| | | append-to-body |
| | | class="avue-dialog avue-dialog--top" |
| | | title="分类授权" |
| | | top="-45px" @close="closeDialog"> |
| | | <el-table |
| | | ref="dataTable" |
| | | v-loading="isLoading" |
| | |
| | | @sort-change="sortChange" |
| | | > |
| | | <el-table-column |
| | | fixed |
| | | type="selection" |
| | | width="55" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | v-if="classifyAuthHeader.length !== 0" |
| | | v-for="(item, index) in classifyAuthHeader" |
| | | v-if="classifyAuthHeader.length !== 0" |
| | | :key="index" |
| | | :label="item.label" |
| | | :prop="item.prop" |
| | |
| | | </el-select> |
| | | <el-input |
| | | v-if="item.type === 'text'" |
| | | type="text" |
| | | readonly |
| | | v-model="row[item.prop]" |
| | | readonly |
| | | type="text" |
| | | > |
| | | </el-input> |
| | | <el-checkbox |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="success" class="el-icon-plus" @click="addClassifyAuth"></el-button> |
| | | <el-button type="warning" class="el-icon-minus" @click="subClassifyAuth"></el-button> |
| | | <el-button type="primary" @click="submit">提 交</el-button> |
| | | <el-button type="danger" @click="isShowDialog = false">关 闭</el-button> |
| | | <el-button class="el-icon-plus" type="success" plain @click="addClassifyAuth"></el-button> |
| | | <el-button class="el-icon-minus" type="warning" plain @click="subClassifyAuth"></el-button> |
| | | <el-button type="primary" plain @click="submit">提 交</el-button> |
| | | <el-button type="danger" plain @click="isShowDialog = false">关 闭</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | import { getPage } from "@/api/system/role" |
| | | import { saveOrUpdate,getClassifyAuthList } from "@/api/system/classifyAuth" |
| | | import { v4 as uuidv4 } from 'uuid'; |
| | | |
| | | export default { |
| | | name: "classifyAuthDialog.vue", |
| | | props: { |
| | |
| | | // 对话框显示控制 |
| | | isShowDialog: this.visible, |
| | | isLoading: false, |
| | | tableHeight: 'calc(100vh - 550px)', |
| | | tableHeight: '520px', |
| | | classifyAuthData: [], |
| | | //列头 |
| | | classifyAuthHeader: [], |
| | |
| | | }, |
| | | }, |
| | | computed: {}, |
| | | mounted() {}, |
| | | created() {}, |
| | | mounted() { |
| | | }, |
| | | created() { |
| | | }, |
| | | methods: { |
| | | // 关闭对话框 |
| | | closeDialog(){ |
| | |
| | | border: #ececec; |
| | | } |
| | | |
| | | /deep/ .el-table__body-wrapper { |
| | | height: calc(100% - 50px) !important; |
| | | } |
| | | |
| | | </style> |
| | |
| | | </div> |
| | | </div> |
| | | <div style="display: flex;margin-top: 5px;margin-bottom: 5px"> |
| | | <el-button v-if="permissionList.flowingBtnStuatus" plain size="mini" type="primary" @click="flowingDependHandler">流水处理 |
| | | <el-button v-if="permissionList.flowingBtnStuatus" plain size="mini" type="primary" |
| | | @click="flowingDependHandler">流水处理 |
| | | </el-button> |
| | | <el-button v-if="permissionList.classifyAuth" plain size="mini" type="primary" @click="classifyAuthHandler">分类授权 |
| | | <el-button v-if="permissionList.classifyAuth" plain size="mini" type="primary" |
| | | @click="classifyAuthHandler">分类授权 |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | |
| | | @node-click="nodeClick" |
| | | > |
| | | <template slot-scope="{ node, data }" class="el-tree-node__label"> |
| | | <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark" |
| | | <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" |
| | | effect="dark" |
| | | open-delay="500" |
| | | placement="right-start"> |
| | | <span style="font-size: 14px;"> |
| | |
| | | <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="修改分类"> |
| | | <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" |
| | | :flag="'edit'" |
| | | :loneTreeNewForm="TreeList" :nodeClickList="nodeClickList" |
| | | :loneTreeNewForm="TreeEditObj" :nodeClickList="nodeClickList" |
| | | :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed" |
| | | @referTreeForm="referTreeForm"></classifyTreeform> |
| | | </el-dialog> |
| | | <!-- 分类授权对话框--> |
| | | <classify-auth-dialog |
| | | :visible.sync="classifyAuthVisible" |
| | | :classifyData="classifyData" |
| | | :visible.sync="classifyAuthVisible" |
| | | ></classify-auth-dialog> |
| | | </basic-container> |
| | | </el-aside> |
| | |
| | | <!-- 右侧表格--> |
| | | <avue-tabs :option="tabOption" @change="handleChange"></avue-tabs> |
| | | <span v-if="type.prop==='tab1'"> |
| | | <classifyTreeform ref="childForm" :flag="'renonly'" :loneTreeNewForm="TreeList" |
| | | <classifyTreeform ref="childForm" :flag="'renonly'" :loneTreeNewForm="TreeEditObj" |
| | | :nodeList="nodeList"></classifyTreeform> |
| | | </span> |
| | | <span v-else-if="type.prop==='tab2'"> |
| | |
| | | } |
| | | ], |
| | | //传递给子组件动态渲染的数据 |
| | | TreeList: {}, |
| | | TreeEditObj: {}, |
| | | codeClassifyOid: "", |
| | | upAndStopAndStartData: { |
| | | upVersion: { |
| | |
| | | const treeEle = this.$refs.tree.$el |
| | | treeEle.addEventListener('click', (e) => { |
| | | if (e.target.nodeName !== 'SPAN') { |
| | | this.$refs.tree.setCurrentKey(null) |
| | | this.nodeClickList = {} |
| | | this.TreeList = [] |
| | | this.$refs.tree.setCurrentKey(null); |
| | | this.nodeClickList = {}; |
| | | this.TreeFlagCode = true; |
| | | } |
| | | }, true) |
| | |
| | | }, |
| | | //子传父 |
| | | MasterHandler(val) { |
| | | this.TreeList = val; |
| | | this.TreeEditObj = val; |
| | | }, |
| | | rowHandle(row, column) { |
| | | this.selectRow = row.$index; |
| | |
| | | async flushed() { |
| | | await this.getAttr() |
| | | this.$refs.tree.setCurrentKey(null); |
| | | this.nodeClickList = {} |
| | | this.TreeList = [] |
| | | this.nodeClickList = {}; |
| | | this.TreeEditObj = {}; |
| | | this.TreeFlagCode = true; |
| | | }, |
| | | //启用和停用都先判断状态 |
| | |
| | | this.ProData = []; |
| | | this.crudOid = '' |
| | | } |
| | | this.TreeList = res3.data.data; |
| | | if (this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined || this.TreeList.isParticipateCheck === "") { |
| | | this.$set(this.TreeList, "isParticipateCheck", 1) |
| | | this.TreeEditObj = res3.data.data; |
| | | if (this.TreeEditObj.isParticipateCheck === null || this.TreeEditObj.isParticipateCheck === undefined || this.TreeEditObj.isParticipateCheck === "") { |
| | | this.$set(this.TreeEditObj, "isParticipateCheck", 1) |
| | | return |
| | | } |
| | | } catch (error) { |
| | |
| | | //基本信息表单刷新 |
| | | referTreeForm() { |
| | | getObjectByOid(this.nodeClickList.oid).then(res => { |
| | | this.TreeList = res.data.data; |
| | | this.TreeEditObj = res.data.data; |
| | | }).catch(res => { |
| | | this.$message.error(res) |
| | | }) |
| | |
| | | // 接口获取集团分类树 |
| | | async referTree(oid, checked) { |
| | | this.groupTreeData = [] |
| | | const response = await referTree({'conditionMap[codeclsfid]': oid, parentOid: null}) |
| | | const response = await referTree({'conditionMap[codeclsfid]': oid, parentOid: '0'}) |
| | | if (response.status === 200) { |
| | | if (checked) { |
| | | let items = response.data.map(item => { |
| | |
| | | import pieChart from "../../components/StatisticsComponent/pieChart" |
| | | import ColumnarChart from "../../components/StatisticsComponent/ColumnarChart" |
| | | import mixCart from "../../components/StatisticsComponent/mixCart" |
| | | import {getStatisticAnalysis, getBtmAndChart, saveStatisticAnalysis, deleteChartId} from "@/api/statistic/chart" |
| | | import {getStatisticAnalysis, getBtmAndChart, saveStatisticAnalysis} from "@/api/statistic/chart" |
| | | //配置表单主数据列表接口 |
| | | import {getList} from "@/api/system/statistic"; |
| | | |
| | | export default { |
| | |
| | | this.loading = false; |
| | | } catch (error) { |
| | | this.loading = false; |
| | | console.error('Error:', error); |
| | | // console.error('Error:', error); |
| | | } |
| | | }, |
| | | async handleStatisticAnalysis(btmNames, firstResponse) { |