From b2c4ac24fb6e0d9de7f0169c3a06d65b9f861d5b Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期日, 04 十二月 2022 17:21:56 +0800 Subject: [PATCH] 项目管理页面添加及接口对接 --- src/api/api.js | 22 + src/assets/lang/zh.js | 15 src/store/index.js | 2 src/views/datamanage/projectManage.vue | 828 ++++++++++++++++++--------------------------- src/views/datamanage/dataController.vue | 2 src/assets/lang/en.js | 16 src/components/ProjectOl.vue | 151 ++++++++ 7 files changed, 541 insertions(+), 495 deletions(-) diff --git a/src/api/api.js b/src/api/api.js index 26bbb9e..1a461d8 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -717,3 +717,25 @@ export function domain_selectDomainNames(params) { return request.get('/domain/selectDomainNames', { params: params }); } + +//椤圭洰绠$悊鏌ヨ鐩綍 +export function project_selectDirAll(params) { + return request.get('/project/selectDirAll', { params: params }); +} +//椤圭洰绠$悊=銆嬫牴鎹洰褰旾D鏌ヨ +export function project_selectByDirid(params) { + return request.get('/project/selectByDirid', { params: params }); +} +//椤圭洰绠$悊=銆嬫柊澧� +export function project_insert(params) { + return request.post('/project/insert', params); +} + +//椤圭洰绠$悊=銆嬪垹闄� +export function project_delete(params) { + return request.get('/project/delete', { params: params }); +} +//椤圭洰绠$悊=>淇敼 +export function project_update(params) { + return request.post('/project/update', params); +} diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js index 929d5ae..2a723d4 100644 --- a/src/assets/lang/en.js +++ b/src/assets/lang/en.js @@ -55,6 +55,22 @@ dataRetrieval: 'data retrieval', dataDownload: 'Data download', projectManage: 'project management', + projectObj: { + projname: 'Project Name', + projtype: 'Project Type', + location: 'Geographical Position', + province: 'Province', + country: 'Country', + corpname: ' Constructing units ', + department: 'competent department', + conperiod: 'Construction period', + contents: 'Project content', + projstate: 'Project Status', + remarks: 'remarks', + newProj: 'New project', + editProj: 'Edit project', + }, + dataUpObj: { catalogue: 'Catalogue', company: 'Company', diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js index dc72b9c..9b29808 100644 --- a/src/assets/lang/zh.js +++ b/src/assets/lang/zh.js @@ -54,6 +54,21 @@ dataRetrieval: '鏁版嵁妫�绱�', dataDownload: '鏁版嵁涓嬭浇', projectManage: '椤圭洰绠$悊', + projectObj: { + projname: '椤圭洰鍚嶇О', + projtype: '椤圭洰绫诲瀷', + location: '鍦扮悊浣嶇疆', + province: '鎵�灞炵渷浠�', + country: '鎵�灞炲浗瀹�', + corpname: '寤鸿鍗曚綅鍚嶇О', + department: '涓荤閮ㄩ棬', + conperiod: '寤鸿宸ユ湡', + contents: '宸ョ▼鍐呭', + projstate: '椤圭洰鐘舵��', + remarks: '澶囨敞', + newProj: '鏂板椤圭洰', + editProj: '淇敼椤圭洰', + }, dataUpObj: { catalogue: '鐩綍', company: '鍗曚綅', diff --git a/src/components/ProjectOl.vue b/src/components/ProjectOl.vue new file mode 100644 index 0000000..153fd1e --- /dev/null +++ b/src/components/ProjectOl.vue @@ -0,0 +1,151 @@ +<template> + <div id="mapView" class="projectBox"> + <div class="Tools"> + <el-button + type="success" + icon="el-icon-plus" + @click="drowPoint" + ></el-button> + <el-button + type="danger" + icon="el-icon-delete" + @click="clearDrawPoint" + ></el-button> + </div> + </div> +</template> + +<script> +import TileLayer from 'ol/layer/Tile'; +import XYZ from 'ol/source/XYZ'; +import Map from 'ol/Map'; +import View from 'ol/View'; +import { transform } from 'ol/proj'; +import VectorSource from 'ol/source/Vector'; +import { Vector as VectorLayer, Tile } from 'ol/layer'; +import { Draw } from 'ol/interaction'; +import Feature from 'ol/Feature'; +import { Circle as CircleStyle, Style, Fill, Stroke } from 'ol/style'; +import { Point } from 'ol/geom'; +export default { + data() { + return { + mapol: null, + drawLayer: null, + draw: null, + }; + }, + methods: { + initOlMap() { + var vectorLayer = new TileLayer({ + source: new XYZ({ + url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}', + }), + }); + this.mapol = new Map({ + target: 'mapView', + layers: [vectorLayer], + view: new View({ + center: transform([105.02, 34.9], 'EPSG:4326', 'EPSG:3857'), + zoom: 4, + projection: 'EPSG:3857', + }), + }); + if (this.$store.state.projeOl != null) { + this.showPointInMap(); + } + }, + showPointInMap() { + var value = this.$store.state.projeOl + .replace('POINT(', '') + .replace(')', ''); + var a1 = value.split(' '); + console.log(a1); + var a2 = transform( + [parseFloat(a1[1]), parseFloat(a1[2])], + 'EPSG:4326', + 'EPSG:3857' + ); + var feature = new Feature({ + geometry: new Point(a2), + }); + feature.setStyle( + new Style({ + image: new CircleStyle({ + fill: new Fill({ + color: 'blue', + }), + radius: 4, + }), + }) + ); + let source = new VectorSource(); + source.addFeature(feature); + this.drawLayer = new VectorLayer(); + this.drawLayer.setSource(source); + this.mapol.addLayer(this.drawLayer); + }, + clearDrawPoint() { + if (this.drawLayer) { + this.mapol.removeLayer(this.drawLayer); + this.drawLayer = null; + this.$store.state.projeOl = null; + } + }, + + drowPoint() { + const source = new VectorSource({ wrapX: false }); + if (this.drawLayer) { + this.mapol.removeLayer(this.drawLayer); + } + this.drawLayer = new VectorLayer({ + source: source, + }); + this.mapol.addLayer(this.drawLayer); + this.draw = new Draw({ + source: source, // 鍜屽浘灞備娇鐢ㄥ悓涓�涓猻ource锛岀敾鐨勫浘褰㈠湪鍥惧眰涓婏紝鍥惧眰鍦ㄥ湴鍥句笂鍗冲彲灞曠ず + type: 'Point', // 鍙�夋嫨涓夎褰紝澶氳竟褰紝鍦嗗舰绛夊叿浣撹瀹樼綉demo + freehand: false, // 鐢婚�夎繕鏄偣閫� + }); + // 娣诲姞浜や簰 + this.mapol.addInteraction(this.draw); + this.draw.on('drawend', (e) => { + let feature = e.feature; + let geom = feature.getGeometry(); + var extent = geom.flatCoordinates; + var a1 = transform([extent[0], extent[1]], 'EPSG:3857', 'EPSG:4326'); + + this.$store.state.projeOl = + 'POINT( ' + a1[0].toFixed(6) + ' ' + a1[1].toFixed(6) + ')'; + this.mapol.removeInteraction(this.draw); + }); + }, + }, + mounted() { + this.initOlMap(); + }, +}; +</script> + +<style> +.projectBox { + width: 100%; + height: 100%; + overflow: hidden; + margin: 0; + padding: 0; +} +.Tools { + position: absolute; + background: #303030; + opacity: 0.9; + z-index: 40; + padding: 10px; + width: 95%; +} +.primary { + background: #409eff; + border: #409eff; + color: white; +} +</style> diff --git a/src/store/index.js b/src/store/index.js index 1421aaf..b2d20f0 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -42,6 +42,8 @@ theme: variables.theme, //鐧诲綍鐢ㄦ埛鍚� uname: null, + //椤圭洰绠$悊 + projeOl: null, }, mutations: { //鑾峰彇鏉冮檺鍚堥泦 diff --git a/src/views/datamanage/dataController.vue b/src/views/datamanage/dataController.vue index 277d5d0..f84d05f 100644 --- a/src/views/datamanage/dataController.vue +++ b/src/views/datamanage/dataController.vue @@ -54,7 +54,7 @@ import styleManage from '@/views/datamanage/styleManage.vue'; //鏁版嵁绠$悊-鏍峰紡绠$悊 import dataLoader from '@/views/datamanage/dataLoader.vue'; //鏁版嵁绠$悊-鏁版嵁鍏ュ簱 import downLoader from '@/views/datamanage/downLoader.vue'; //鏁版嵁绠$悊-鏁版嵁涓嬭浇 -import projectManage from '@/views/datamanage/projectManage.vue'; +import projectManage from '@/views/datamanage/projectManage.vue'; //椤圭洰绠$悊 export default { components: { customElMenu, diff --git a/src/views/datamanage/projectManage.vue b/src/views/datamanage/projectManage.vue index c50676b..03202b0 100644 --- a/src/views/datamanage/projectManage.vue +++ b/src/views/datamanage/projectManage.vue @@ -9,345 +9,238 @@ <el-divider /> <div class="verSionContent"> <div class="verSion_leftTree"> - <ver-dir-tree></ver-dir-tree> + <el-tree + ref="tree" + :props="defaultProps" + node-key="id" + :data="dirList" + :expand-on-click-node="false" + :default-expand-all="false" + draggable + @node-click="handleNodeClick" + > + </el-tree> </div> <div class="verSion_rightContent"> - <el-form ref="ruleForm" :model="ruleForm" :inline="true"> - <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name"> - <el-input - v-model="ruleForm.name" - :placeholder="$t('common.pleaseInput')" - /> - </el-form-item> + <el-form :inline="true" class="demo-form-inline"> <el-form-item> <el-button - @click="onSubmit('ruleForm')" - icon="el-icon-search" - size="small" - class="primary" - >{{ $t('common.iquery') }}</el-button - > - <el-button - type="success" v-if="btnStatus.insert" - @click="(InsertFormdialog = true), getSelectdirTab()" icon="el-icon-plus" - size="small" + @click="insertProject" + :disabled="count != null ? true : false" + type="success" >{{ $t('common.append') }}</el-button > <el-button - type="info" - @click="resetForm('ruleForm')" + v-if="btnStatus.delete" + @click="deleteProject" icon="el-icon-delete" - size="small" - >{{ $t('common.empty') }}</el-button + :disabled="count != null ? false : true" + type="danger" + >{{ $t('common.delete') }}</el-button + > + <el-button + v-if="btnStatus.update" + @click="EditProject" + icon="el-icon-edit" + :disabled="count != null ? false : true" + type="info" + >{{ $t('common.update') }}</el-button > </el-form-item> </el-form> <el-divider class="eldivider" /> - <div style="height: 80%"> - <el-table :data="tableData" style="width: 100%" height="99%"> - <el-table-column - align="center" - type="index" - :label="$t('dataManage.vmobj.index')" - width="70px" - /> - <el-table-column align="center" prop="id" v-if="false" /> - <el-table-column - align="center" - prop="name" - :label="$t('common.versionName')" - /> - <el-table-column - align="center" - prop="depName" - :label="$t('dataManage.vmobj.catalogue')" - /> - <el-table-column - align="center" - prop="descr" - :label="$t('dataManage.vmobj.describe')" - /> - <el-table-column - align="center" - prop="createUser" - :label="$t('dataManage.vmobj.createonuser')" - /> - <el-table-column - align="center" - prop="createTime" - :label="$t('dataManage.vmobj.createontime')" - :formatter="formatTime" - /> - <el-table-column - align="center" - prop="UpdateUser" - :label="$t('dataManage.vmobj.updateonuser')" - /> - <el-table-column - align="center" - prop="updateTime" - :label="$t('dataManage.vmobj.updateontime')" - :formatter="formatTime" - /> - <el-table-column min-width="150" :label="$t('common.operate')"> - <template slot-scope="scope"> - <el-button - v-if="btnStatus.update" - @click=" - handleEdit(scope.$index, scope.row); - getSelectdirTab(); - " - type="warning" - size="small" - >{{ $t('common.update') }}</el-button - > - <el-button - v-if="btnStatus.delete" - @click="handleDelete(scope.$index, scope.row)" - type="danger" - size="small" - >{{ $t('common.delete') }}</el-button - > - </template> - </el-table-column> - </el-table> - <div - style="margin-top: 20px; margin-left: 200px" - class="pagination_box" + <div style="height: 82%; padding: 1%; overflow: auto"> + <el-form + class="projFrom" + ref="form" + :model="projectFrom" + label-width="200px" > - <el-pagination - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="listData.pageIndex" - :page-sizes="[10, 20, 30, 40]" - :page-size="listData.pageSize" - layout="total, sizes, prev, pager, next, jumper" - :total="count" + <el-form-item :label="$t('dataManage.projectObj.projname')"> + <el-input + :disabled="true" + v-model="projectFrom.projname" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.projtype')"> + <el-input + :disabled="true" + v-model="projectFrom.projtype" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.location')"> + <el-input + :disabled="true" + v-model="projectFrom.location" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.province')"> + <el-input + :disabled="true" + v-model="projectFrom.province" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.country')"> + <el-input + :disabled="true" + v-model="projectFrom.country" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.corpname')"> + <el-input + :disabled="true" + v-model="projectFrom.corpname" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.department')"> + <el-input + :disabled="true" + v-model="projectFrom.department" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.conperiod')"> + <el-input + :disabled="true" + v-model="projectFrom.conperiod" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.contents')"> + <el-input + :disabled="true" + v-model="projectFrom.contents" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.projstate')"> + <el-input + :disabled="true" + v-model="projectFrom.projstate" + ></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.remarks')"> + <el-input + :disabled="true" + v-model="projectFrom.remarks" + ></el-input> + </el-form-item> + </el-form> + </div> + </div> + </div> + <el-dialog + :title=" + behavior == '鏂板椤圭洰' + ? `${$t('dataManage.projectObj.newProj')}` + : `${$t('dataManage.projectObj.editProj')}` + " + :visible.sync="outerVisible" + :before-close="outerClose" + > + <el-dialog + width="60%" + :title="$t('dataManage.projectObj.location')" + :visible.sync="innerVisible" + append-to-body + :before-close="innerClose" + > + <div style="height: 540px"> + <project-ol v-if="showMap"></project-ol> + </div> + </el-dialog> + <div style="height: 540px; overflow: auto; padding: 1%"> + <el-form + class="editFrom1" + ref="form" + :model="editFrom" + label-width="200px" + > + <el-form-item :label="$t('dataManage.projectObj.projname')"> + <el-input v-model="editFrom.projname"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.projtype')"> + <el-input v-model="editFrom.projtype"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.location')"> + <el-input :disabled="true" v-model="editFrom.location"></el-input> + <el-link + @click="ShowInner" + style="color: white; margin-left: 20px" + icon="el-icon-plus" > - </el-pagination> - </div> - </div> + </el-link> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.province')"> + <el-input v-model="editFrom.province"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.country')"> + <el-input v-model="editFrom.country"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.corpname')"> + <el-input v-model="editFrom.corpname"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.department')"> + <el-input v-model="editFrom.department"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.conperiod')"> + <el-input v-model="editFrom.conperiod"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.contents')"> + <el-input v-model="editFrom.contents"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.projstate')"> + <el-input v-model="editFrom.projstate"></el-input> + </el-form-item> + <el-form-item :label="$t('dataManage.projectObj.remarks')"> + <el-input v-model="editFrom.remarks"></el-input> + </el-form-item> + </el-form> </div> - </div> - <el-dialog - :title="$t('dataManage.vmobj.editVersion')" - :visible.sync="dialogFormVisible" - > - <el-form :model="upform"> - <el-form-item - :label="$t('dataManage.vmobj.name')" - :label-width="formLabelWidth" - > - <el-input v-model="upform.name" autocomplete="off"></el-input> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.catalogue')" - :label-width="formLabelWidth" - > - <el-cascader - style="width: 300px" - v-model="upform.dirid" - :options="editcatalogOption" - @change="upCatalogChange" - :props="cascader" - ></el-cascader> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.describe')" - :label-width="formLabelWidth" - > - <el-input v-model="upform.descr" autocomplete="off"></el-input> - </el-form-item> - </el-form> - <div slot="footer" type="info" class="dialog-footer"> - <el-button @click="editFromDataClose">{{ - $t('common.close') - }}</el-button> - <el-button @click="editFromData" class="primary">{{ - $t('common.confirm') - }}</el-button> - </div> - </el-dialog> - - <el-dialog - :title="$t('dataManage.vmobj.addVersion')" - :visible.sync="InsertFormdialog" - width="30%" - > - <el-form :model="insertform"> - <el-form-item - :label="$t('dataManage.vmobj.name')" - :label-width="formLabelWidth" - > - <el-input - style="width: 300px" - v-model="insertform.name" - autocomplete="off" - ></el-input> - </el-form-item> - <el-form-item - :label="$t('dataManage.vmobj.catalogue')" - :label-width="formLabelWidth" - > - <el-cascader - style="width: 300px" - v-model="insertform.path" - :options="catalogOption" - @change="catalogChange" - :props="cascader" - ></el-cascader> - </el-form-item> - - <el-form-item - :label="$t('dataManage.vmobj.describe')" - :label-width="formLabelWidth" - > - <el-input - style="width: 300px" - v-model="insertform.descr" - autocomplete="off" - ></el-input> - </el-form-item> - </el-form> <div slot="footer" class="dialog-footer"> - <el-button @click="insertFromDataClose" type="info">{{ - $t('common.close') - }}</el-button> - <el-button @click="insertFromData" class="primary">{{ + <el-button + type="info" + :disabled="behavior != '鏂板椤圭洰' ? true : false" + @click="setRestEditFrom" + >{{ $t('common.reset') }}</el-button + > + <el-button class="primary" @click="insertEditFrom">{{ $t('common.confirm') }}</el-button> </div> </el-dialog> - - <!-- <div class="searchComp"> - <el-form ref="ruleForm" :model="ruleForm" :inline="true"> - <el-form-item :label="$t('dataManage.vmobj.keyword')" prop="name"> - <el-input - v-model="ruleForm.name" - :placeholder="$t('common.pleaseInput')" - /> - </el-form-item> - <el-form-item> - <el-button - @click="onSubmit('ruleForm')" - icon="el-icon-search" - size="small" - >{{ $t('common.iquery') }}</el-button - > - <el-button - v-if="btnStatus.insert" - @click="InsertFormdialog = true" - icon="el-icon-plus" - size="small" - >{{ $t('common.append') }}</el-button - > - <el-button - @click="resetForm('ruleForm')" - icon="el-icon-delete" - size="small" - >{{ $t('common.empty') }}</el-button - > - </el-form-item> - </el-form> - </div> - <div class="bottom"> - <div class="leftTree"> - <ver-dir-tree></ver-dir-tree> - </div> - <div class="rightTable"> - <div class="table_box"> - - </div> - - </div> - </div> - <div class="infoBox" v-show="showinfoBox"> - <el-card class="box-card"> - <div slot="header" class="clearfix"> - <span>璇︾粏淇℃伅</span> - <div style="float: right; cursor: pointer"> - <i class="el-icon-close"></i> - </div> - </div> - <div class="contentBox"> - <p>鏁版嵁鍚嶇О锛歿{ itemdetail.name }}</p> - <el-divider></el-divider> - <p>鎵�灞炵洰褰曪細{{ itemdetail.path }}</p> - <el-divider></el-divider> - <p>鍒涘缓鏃堕棿锛歿{ itemdetail.create_time }}</p> - <el-divider></el-divider> - <p>鍒涘缓浜哄憳锛歿{ itemdetail.create_user }}</p> - <el-divider></el-divider> - <p>涓婁紶鍗曚綅锛歿{ itemdetail.up_unit }}</p> - <el-divider></el-divider> - <p>鏁版嵁鐘舵�侊細{{ itemdetail.status }}</p> - <el-divider></el-divider> - <p>鏁版嵁鐗堟湰锛歿{ itemdetail.version }}</p> - </div> - </el-card> - </div> - - <div class="leftTrees" v-if="showCata"> - <div class="treeBox"> - <ver-dir-trees></ver-dir-trees> - </div> - <div class="btnBox"> - <el-button type="primary" size="small" @click="selectCataName">{{ - $t('common.confirm') - }}</el-button> - <el-button type="primary" size="small" @click="showCata = false">{{ - $t('common.close') - }}</el-button> - </div> - </div> --> </div> </template> <script> import { - select_Ver_ByPageAndCount, - insertVersion, - deleteVersion, - updateVersion, - selectdirTab, + project_selectDirAll, + project_selectByDirid, + project_insert, + project_delete, + project_update, } from '../../api/api'; -import verDirTree from './verDirTree.vue'; +import ProjectOl from '../../components/ProjectOl.vue'; import MyBread from '../../components/MyBread.vue'; -import verDirTrees from './verDirTrees.vue'; import moment from 'moment'; + export default { name: 'versionManage', - components: { MyBread, verDirTree, verDirTrees }, + components: { MyBread, ProjectOl }, data() { return { - catalogOption: [], - editcatalogOption: [], - showCata: false, - formLabelWidth: '100px', - dialogFormVisible: false, - InsertFormdialog: false, - showinfoBox: false, - itemdetail: {}, - upform: {}, - ruleForm: {}, - insertform: {}, - tableData: [], - count: 0, - rowFlag: null, - listData: { - name: null, - depName: null, - pageIndex: 1, - pageSize: 10, - }, - cascader: { - label: 'name', - value: 'id', + behavior: null, + outerVisible: false, + innerVisible: false, + showMap: false, + count: null, + projectFrom: {}, + editFrom: { location: ' ' }, + dirId: null, + elProject: [], + dirList: [], //el鏍戞暟鎹� + defaultProps: { children: 'children', - checkStrictly: true, - emitPath: false, + label: 'name', }, btnStatus: { select: false, @@ -360,46 +253,118 @@ }; }, created() { - this.getRoleTabelData(); this.showPermsBtn(); + this.getSelectdirTab(); }, - computed: { - pathId() { - return this.$store.state.cataNode.id; - }, - }, + computed: {}, methods: { - //鐩綍鍒囨崲 - catalogChange(value) { - this.insertform.dirid = value; + showPermsBtn() { + let currentPerms = this.$store.state.currentPerms; + let permsEntity = this.$store.state.permsEntity; + permsEntity + .filter((item) => item.perms == currentPerms) + .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); }, - upCatalogChange(val) { - this.upform.dirid == val; + ShowInner() { + this.innerVisible = true; + this.showMap = true; + }, + outerClose(done) { + this.$confirm('纭鍏抽棴锛�') + .then((_) => { + this.setRestEditFrom(); + this.getSelectProject(); + done(); + }) + .catch((_) => {}); + }, + innerClose() { + this.showMap = false; + this.innerVisible = false; + this.editFrom.location = this.$store.state.projeOl; + }, + async insertEditFrom() { + if (this.behavior == '鏂板椤圭洰') { + this.editFrom.dirid = this.dirId; + const data = await project_insert(this.editFrom); + if (data.code != 200) { + this.$message.error('椤圭洰鏂板澶辫触'); + return; + } + this.outerVisible = false; + } else { + const data = await project_update(this.editFrom); + if (data.code != 200) { + this.$message.error('椤圭洰淇敼澶辫触'); + return; + } + this.outerVisible = false; + } + + this.getSelectProject(); + this.setRestEditFrom(); + }, + setRestEditFrom() { + this.editFrom = { location: ' ' }; + this.$store.state.projeOl = null; + }, + + //鍒犻櫎椤圭洰 + async deleteProject() { + const data = await project_delete({ gid: this.projectFrom.gid }); + if (data.code != 200) { + this.$message.error('椤圭洰鍒犻櫎澶辫触'); + return; + } + this.getSelectProject(); + }, + //淇敼椤圭洰 + EditProject() { + this.behavior = '淇敼椤圭洰'; + this.outerVisible = true; + this.editFrom = this.projectFrom; + this.$store.state.projeOl = this.projectFrom.location; + }, + //鏂板椤圭洰 + insertProject() { + if (this.dirId == null) { + this.$message.error('璇烽�夋嫨闇�瑕佹柊澧炵殑鐩綍'); + return; + } + this.behavior = '鏂板椤圭洰'; + this.outerVisible = true; + }, + //鐩綍鏍戠偣鍑讳簨浠� + handleNodeClick(data) { + //鑾峰彇鐩綍ID + this.dirId = data.id; + this.getSelectProject(); + }, + + //鍒楄〃鏁版嵁鑾峰彇 + async getSelectProject() { + const data = await project_selectByDirid({ dirid: this.dirId }); + if (data.code != 200) { + this.$message.error('鍒楄〃鑾峰彇澶辫触'); + return; + } + this.count = data.result; + + if (this.count == null) { + this.projectFrom = {}; + } else { + this.projectFrom = data.result; + } }, //鐩綍鍒楄〃鑾峰彇 async getSelectdirTab() { - const res = await selectdirTab(); + const res = await project_selectDirAll(); if (res.code != 200) { this.$message.error('鐩綍鍒楄〃鑾峰彇澶辫触'); return; } - this.insertform.name = this.getYMD(); - this.insertform.path = 1; - this.insertform.dirid = 1; - this.upform.dirid == 1; - this.catalogOption = this.treeData(res.result); - this.editcatalogOption = this.treeData(res.result); - }, - getYMD() { - let myDate = new Date(); - let myYear = myDate.getFullYear(); //鑾峰彇瀹屾暣鐨勫勾浠�(4浣�,1970-????) - let myMonth = myDate.getMonth() + 1; //鑾峰彇褰撳墠鏈堜唤(0-11,0浠h〃1鏈�) - let myToday = myDate.getDate(); //鑾峰彇褰撳墠鏃�(1-31) - myMonth = myMonth > 9 ? myMonth : '0' + myMonth; - myToday = myToday > 9 ? myToday : '0' + myToday; - let nowDate = 'V' + myYear + myMonth + myToday; - return nowDate; + this.dirList = this.treeData(res.result); }, //鏍戝垪琛ㄧ敓鎴� @@ -412,152 +377,8 @@ return father.pid == 0; // 杩斿洖涓�绾ц彍鍗� }); }, - showPermsBtn() { - let currentPerms = this.$store.state.currentPerms; - let permsEntity = this.$store.state.permsEntity; - permsEntity - .filter((item) => item.perms == currentPerms) - .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); - }, - resetForm() { - this.ruleForm = {}; - this.$store.state.verCateNode = {}; - this.$bus.$emit('clearTressLabel', true); - this.getRoleTabelData(); - }, - onSubmit() { - this.listData.pageIndex = 1; - this.listData.pageSize = 10; - this.getRoleTabelData(); - }, - async getRoleTabelData() { - if (this.listData.tab == '') { - delete this.listData.tab; - } - - this.listData.name = this.ruleForm.name; - this.listData.depName = this.$store.state.verCateNode.name; - - const data = await select_Ver_ByPageAndCount(this.listData); - - if (data.code != 200) { - this.$message.error('鍒楄〃璋冪敤澶辫触'); - } - this.tableData = data.result; - this.count = data.count; - }, - handleSizeChange(val) { - this.listData.pageSize = val; - this.getRoleTabelData(); - }, - handleCurrentChange(val) { - this.listData.pageIndex = val; - this.getRoleTabelData(); - }, - showVerTree(res) { - this.showCata = true; - this.rowFlag = res; - }, - selectCataName() { - this.showCata = false; - if (this.rowFlag == 3) { - this.insertform.path = this.$store.state.verCateNodes.name; - this.insertform.dirid = this.$store.state.verCateNodes.id; - } else if (this.rowFlag == 2) { - this.upform.depName = this.$store.state.verCateNodes.name; - this.upform.dirid = this.$store.state.verCateNodes.id; - } - }, - editFromDataClose() { - this.dialogFormVisible = false; - this.upform = {}; - }, - async editFromData() { - if (this.upform.depName == null) { - this.$message({ - message: '璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�', - type: 'warning', - }); - return; - } - const data = await updateVersion(this.upform); - if (data.code == 200) { - this.dialogFormVisible = false; - this.upform = {}; - this.$message({ - message: '淇敼鎴愬姛锛�', - type: 'success', - }); - this.getRoleTabelData(); - } else { - this.$message({ - message: '淇敼澶辫触锛�', - type: 'warning', - }); - } - }, - insertFromDataClose() { - this.InsertFormdialog = false; - this.insertform = {}; - }, - async insertFromData() { - if (this.insertform.dirid == null) { - this.$message({ - message: '璇烽�夋嫨瑙掕壊鎵�灞炲崟浣�', - type: 'warning', - }); - return; - } - const data = await insertVersion(this.insertform); - if (data.code == 200) { - this.InsertFormdialog = false; - this.insertform = {}; - this.$message({ - message: '娣诲姞鎴愬姛锛�', - type: 'success', - }); - this.getRoleTabelData(); - } else { - this.$message({ - message: '娣诲姞澶辫触锛�', - type: 'warning', - }); - } - }, - formatTime(row, column) { - let date = row[column.property]; - if (date === undefined || date === null) { - return ''; - } - return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss'); - }, - async handleDelete(index, row) { - const data = await deleteVersion(row.id); - if (data.code == 200) { - this.InsertFormdialog = false; - this.$message({ - message: '鍒犻櫎鎴愬姛锛�', - type: 'success', - }); - this.getRoleTabelData(); - } else { - this.$message({ - message: '鍒犻櫎澶辫触锛�', - type: 'warning', - }); - } - }, - handleEdit(index, row) { - this.dialogFormVisible = true; - this.upform = row; - }, }, - watch: { - pathId: { - immediate: true, - handler(val) {}, - }, - }, + watch: {}, }; </script> <style lang="less" scoped> @@ -589,9 +410,27 @@ padding: 1%; overflow-y: auto; } + .projectli { + height: 46px; + padding: 12px 12px; + font-size: 14px; + color: white; + border-bottom: 1px solid white; + line-height: 46px; + } } .eldivider { margin-top: 0px; + } + .projFrom { + .el-input { + width: 800px; + } + } + .editFrom1 { + .el-input { + width: 600px; + } } .primary { background: #409eff; @@ -705,22 +544,23 @@ background-color: #216fe6; } } - /deep/ .el-dialog { - background: #303030; - } - /deep/.el-range-editor.is-active, - .el-range-editor.is-active:hover, - .el-select .el-input.is-focus .el-input__inner { - border: 1px solid; - } - /deep/.el-dialog__title { - color: white; - } - /deep/ .el-select .el-input__inner { - border-color: #fff !important; - } - /deep/.el-cascader .el-input__inner { - border-color: #fff !important; - } +} +/deep/ .el-dialog { + background: #303030; +} +/deep/.el-range-editor.is-active, +.el-range-editor.is-active:hover, +.el-select .el-input.is-focus .el-input__inner { + border: 1px solid; +} +/deep/.el-dialog__title { + color: white; +} +/deep/ .el-select .el-input__inner { + border-color: #fff !important; +} +/deep/.el-cascader .el-input__inner { + border-color: #fff !important; } </style> +<style scoped></style> -- Gitblit v1.9.3