xieqy vor 2 Jahren
Ursprung
Commit
9055a119a5
1 geänderte Dateien mit 120 neuen und 80 gelöschten Zeilen
  1. 120 80
      src/views/currentSystem/authorityManagement/projectManage/index.vue

+ 120 - 80
src/views/currentSystem/authorityManagement/projectManage/index.vue

@@ -8,7 +8,7 @@
             <span>项目名称:</span>
             <el-input placeholder="请输入项目名称" size="mini" v-model="boGroup" style="width: 204px" clearable>
             </el-input>
-            <el-button style="margin-left:10px" type="primary" size="mini" @click="getlistdata()">查询</el-button>
+            <el-button style="margin-left: 10px" type="primary" size="mini" @click="getlistdata()">查询</el-button>
             <!-- <el-button type="primary" size="mini" @click="newopen()">新建项目</el-button>
             <el-button type="primary" size="mini" @click="deleteProject()">删除项目</el-button> -->
             <!-- <el-button type="primary" size="mini" @click="syncProject()">项目同步</el-button>
@@ -22,11 +22,17 @@
     </div>
     <!-- 项目详情 -->
     <div class="projectBox">
-      <el-row :gutter="20" style=" height:100%;margin:0px">
-        <el-col :span="12" style=" height:100%;">
+      <el-row :gutter="20" style="height: 100%; margin: 0px">
+        <el-col :span="12" style="height: 100%">
           <!-- 主项目 -->
           <div class="grid-content bg-purple">
-            <tf-table ref="prjTb" highlight-current-row :data="tableData" @selection-change="handleSelectionChange" @row-click="details">
+            <tf-table
+              ref="prjTb"
+              highlight-current-row
+              :data="tableData"
+              @selection-change="handleSelectionChange"
+              @row-click="details"
+            >
               <el-table-column type="selection" width="55"> </el-table-column>
               <el-table-column prop="name" label="项目名称(项目编号)" style="width: 100%">
                 <template slot-scope="scope">{{ scope.row.name }}({{ scope.row.code }})</template>
@@ -51,13 +57,32 @@
         </el-col>
         <el-col :span="12" style="height: 100%">
           <!-- 项目详情 -->
-          <div class="grid-content test-5" style="height: calc(100% - 98px);">
-            <span style="display:block;margin-bottom:10px;">资源配置:</span>
-            <el-tree style="height:calc(100% - 30px);border:1px solid #dbe4ff;overflow:auto;" v-if="data" :data="data" show-checkbox default-expand-all node-key="id" ref="tree" highlight-current :props="defaultProps" :default-checked-keys="treeSelectKeys" @node-contextmenu="setServeIndex">
+          <div class="grid-content test-5" style="height: calc(100% - 98px)">
+            <span style="display: block; margin-bottom: 10px">资源配置:</span>
+            <el-tree
+              style="height: calc(100% - 30px); border: 1px solid #dbe4ff; overflow: auto"
+              v-if="data"
+              :data="data"
+              show-checkbox
+              default-expand-all
+              node-key="id"
+              ref="tree"
+              highlight-current
+              :props="defaultProps"
+              :default-checked-keys="treeSelectKeys"
+              @node-contextmenu="setServeIndex"
+            >
             </el-tree>
           </div>
           <div class="buttons">
-            <el-checkbox v-model="isShowServeIndex" label="显示服务序号" border size="mini" :disabled="data.length==0" @change="showServeIndex()"></el-checkbox>
+            <el-checkbox
+              v-model="isShowServeIndex"
+              label="显示服务序号"
+              border
+              size="mini"
+              :disabled="data.length == 0"
+              @change="showServeIndex()"
+            ></el-checkbox>
             <el-button type="primary" @click="getCheckedKeys" size="mini">资源配置保存</el-button>
             <!-- <el-button @click="setCheckedKeys">通过 key 设置</el-button> -->
           </div>
@@ -66,14 +91,18 @@
     </div>
     <el-dialog title="新增项目" :visible.sync="dialogFormVisible">
       <el-form :model="form">
-        <el-form-item label="项目编码" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入项目编码', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="项目编码"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入项目编码', trigger: 'blur' }]"
+        >
           <el-input v-model="form.code" placeholder="请输入项目编码" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="项目全称" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入项目全称', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="项目全称"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入项目全称', trigger: 'blur' }]"
+        >
           <el-input v-model="form.name" autocomplete="off" placeholder="请输入项目全称"></el-input>
         </el-form-item>
 
@@ -90,30 +119,42 @@
           <el-input v-model="form.xmzq" autocomplete="off" placeholder="请输入项目工期"></el-input>
         </el-form-item>
         <el-form-item label="项目介绍" :label-width="formLabelWidth">
-          <el-input type="textarea" v-model="form.xmjs" autocomplete="off" placeholder="请输入项目介绍" :autosize="{ minRows: 5}"></el-input>
+          <el-input
+            type="textarea"
+            v-model="form.xmjs"
+            autocomplete="off"
+            placeholder="请输入项目介绍"
+            :autosize="{ minRows: 5 }"
+          ></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button type="primary" @click="addProject() ">确 定</el-button>
+        <el-button type="primary" @click="addProject()">确 定</el-button>
       </div>
     </el-dialog>
     <el-dialog title="初始位置" :visible.sync="dialogFormVisible2">
       <el-form :model="form2">
-        <el-form-item label="经度" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入经度', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="经度"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入经度', trigger: 'blur' }]"
+        >
           <el-input v-model="form2.lon" placeholder="请输入经度" autocomplete="off"></el-input>
         </el-form-item>
 
-        <el-form-item label="纬度" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入纬度', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="纬度"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入纬度', trigger: 'blur' }]"
+        >
           <el-input v-model="form2.lat" autocomplete="off" placeholder="请输入项目全称"></el-input>
         </el-form-item>
-        <el-form-item label="相机高度" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入相机高度', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="相机高度"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入相机高度', trigger: 'blur' }]"
+        >
           <el-input v-model="form2.height" autocomplete="off" placeholder="请输入相机高度"></el-input>
         </el-form-item>
         <el-form-item label="空间数据库" :label-width="formLabelWidth">
@@ -128,7 +169,7 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible2 = false">取 消</el-button>
-        <el-button type="primary" @click="putInitial() ">确 定</el-button>
+        <el-button type="primary" @click="putInitial()">确 定</el-button>
       </div>
     </el-dialog>
     <el-dialog title="工艺配置" :visible.sync="dialogFormVisible3" width="25%">
@@ -137,17 +178,15 @@
           <el-input v-model="form3.name" placeholder="请输入项目全称" autocomplete="off"></el-input>
         </el-form-item>
         <el-form-item label="工艺分组:" :label-width="formLabelWidth">
-          <el-select v-model="processValue" placeholder="请选择" style="width:100%" @change="processChange($event)">
-            <el-option v-for="item in processOptions" :key="item.id" :label="item.value" :value="item.id">
-            </el-option>
+          <el-select v-model="processValue" placeholder="请选择" style="width: 100%" @change="processChange($event)">
+            <el-option v-for="item in processOptions" :key="item.id" :label="item.value" :value="item.id"> </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="选择工艺:" :label-width="formLabelWidth" v-show="checkItems.length!=0">
+        <el-form-item label="选择工艺:" :label-width="formLabelWidth" v-show="checkItems.length != 0">
           <el-checkbox-group v-model="checkedConfig">
-            <el-checkbox v-for="item in checkItems" :key="item.id" :label="item.id">{{item.name}}</el-checkbox>
+            <el-checkbox v-for="item in checkItems" :key="item.id" :label="item.id">{{ item.name }}</el-checkbox>
           </el-checkbox-group>
         </el-form-item>
-
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="closeProcessConfig()">取 消</el-button>
@@ -159,17 +198,20 @@
         <el-form-item label="服务名称:" :label-width="formLabelWidth">
           <el-input v-model="form4.name" placeholder="请输入项目全称" autocomplete="off" disabled></el-input>
         </el-form-item>
-        <el-form-item label="服务序号:" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入服务序号', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="服务序号:"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入服务序号', trigger: 'blur' }]"
+        >
           <el-input v-model="form4.sort" placeholder="请输入序号" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="分组名称:" :label-width="formLabelWidth" :rules="[
-     { required: true, message: '请输入分组名称', trigger: 'blur' },
-    ]">
+        <el-form-item
+          label="分组名称:"
+          :label-width="formLabelWidth"
+          :rules="[{ required: true, message: '请输入分组名称', trigger: 'blur' }]"
+        >
           <el-input v-model.trim="form4.groupname" placeholder="请输入分组名称" autocomplete="off"></el-input>
         </el-form-item>
-
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible4 = false">取 消</el-button>
@@ -179,9 +221,8 @@
     <el-dialog title="区域绑定" :visible.sync="dialogOrgFormVisible" width="25%">
       <el-form :model="formOrg">
         <el-form-item label="区域总部:" :label-width="formLabelWidth">
-          <el-select v-model="formOrg.orgId" placeholder="请选择" style="width:100%">
-            <el-option v-for="item in orgOptions" :key="item.id" :label="item.orgName" :value="item.id">
-            </el-option>
+          <el-select v-model="formOrg.orgId" placeholder="请选择" style="width: 100%">
+            <el-option v-for="item in orgOptions" :key="item.id" :label="item.orgName" :value="item.id"> </el-option>
           </el-select>
         </el-form-item>
       </el-form>
@@ -248,13 +289,13 @@ export default {
         id: '',
         lat: '',
         height: '',
-        dataUser:'',
-        wkid:'',
-        pbsModel:null
+        dataUser: '',
+        wkid: '',
+        pbsModel: null
       },
       formLabelWidth: '120px',
       dialogFormVisible3: false,
-      dialogOrgFormVisible:false,
+      dialogOrgFormVisible: false,
       form3: {
         name: ''
       },
@@ -271,10 +312,10 @@ export default {
         groupname: '',
         id: ''
       },
-      formOrg:{
-        orgId:''
+      formOrg: {
+        orgId: ''
       },
-      orgOptions:[]
+      orgOptions: []
     }
   },
 
@@ -293,19 +334,17 @@ export default {
       let { code, result } = res
       if (code === 1) {
         this.tableData = result.records
-        this.$nextTick(()=>{
-          if(this.tableData.length>0){//默认选择第一行
-            this.details(this.tableData[0]);
-            console.log(this.$refs.prjTb);
-            this.$refs.prjTb.$refs.table.setCurrentRow(this.tableData[0]);
+        this.$nextTick(() => {
+          if (this.tableData.length > 0) {
+            //默认选择第一行
+            this.details(this.tableData[0])
+            this.$refs.prjTb.$refs.table.setCurrentRow(this.tableData[0])
           }
-          
         })
       }
     },
     //更改详情
     async getCheckedKeys() {
-      console.log(this.$refs.tree.getCheckedKeys())
       let data = {
         prjId: this.ids.toString(),
         sourceIds: this.$refs.tree.getCheckedKeys().join(','),
@@ -334,7 +373,6 @@ export default {
       }
       let res = await BasePrjsourceListSourceById_api(params)
       let { code, result } = res
-      console.log({ 资源: result })
       if (code === 1) {
         this.treeData = result
         this.data = result.map((item) => {
@@ -410,7 +448,6 @@ export default {
     },
     //  勾选框
     handleSelectionChange(val) {
-      debugger;
       if (val.length != 0) {
         this.form2.id = val[0].id
         this.multipleSelection = val
@@ -420,6 +457,7 @@ export default {
     },
     // 初始位置
     initialPosition() {
+      Object.assign(this.form2, this.$options.data().form2)
       if (this.multipleSelection.length == 1) {
         this.dialogFormVisible2 = true
         const china = {
@@ -427,7 +465,7 @@ export default {
           lat: 40.960521,
           height: 10000000.0
         }
-        const project=this.multipleSelection[0];
+        const project = this.multipleSelection[0]
         const position = project['geo_info']
         if (!position) {
           this.form2.lon = china.lon
@@ -444,9 +482,9 @@ export default {
             this.form2.lat = china.lat
             this.form2.height = china.height
           }
-          this.form2.dataUser=project.dataUser;
-          this.form2.wkid=project.wkid;
-          this.form2.pbsModel=project.pbsModel;
+          this.form2.dataUser = project.dataUser
+          this.form2.wkid = project.wkid
+          this.form2.pbsModel = project.pbsModel
         }
       } else {
         this.$message('请勾选一个项目!')
@@ -468,9 +506,9 @@ export default {
           lat: lat,
           height: height
         }),
-        dataUser:this.form2.dataUser,
-        wkid:this.form2.wkid,
-        pbsModel:this.form2.pbsModel
+        dataUser: this.form2.dataUser,
+        wkid: this.form2.wkid,
+        pbsModel: this.form2.pbsModel
       }
       putPrjList_api(data)
         .then((res) => {
@@ -579,7 +617,7 @@ export default {
     /**
      * 项目绑定区域
      */
-    orgprj(){
+    orgprj() {
       if (this.multipleSelection.length == 0) {
         this.$message('请选择一行数据进行区域绑定')
         return
@@ -591,7 +629,7 @@ export default {
       this.processOptions = []
       this.checkedConfig = []
       let datas = this.multipleSelection[0]
-     
+
       getOrglist_api({})
         .then((res) => {
           const results = res
@@ -602,22 +640,24 @@ export default {
           console.log(err)
         })
     },
-    setOrgPrj(){
-      const prjid=this.form2.id;
-      const orgid=this.formOrg.orgId;
-      const data={
+    setOrgPrj() {
+      const prjid = this.form2.id
+      const orgid = this.formOrg.orgId
+      const data = {
         prjId: prjid,
         orgId: orgid
       }
-      getOrgPrj_api(data).then(result=>{
-        if(result.code===1){
-          this.$message.success('区域绑定成功');
-          this.dialogOrgFormVisible=false;
-        }
-      }).catch((err) => {
-        this.$message.error('区域绑定失败');
-        console.log(err)
-      })
+      getOrgPrj_api(data)
+        .then((result) => {
+          if (result.code === 1) {
+            this.$message.success('区域绑定成功')
+            this.dialogOrgFormVisible = false
+          }
+        })
+        .catch((err) => {
+          this.$message.error('区域绑定失败')
+          console.log(err)
+        })
     },
     submitConfig() {
       let checkString = []