Переглянути джерело

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

gushoubang 10 місяців тому
батько
коміт
7647d23a1f
26 змінених файлів з 1372 додано та 794 видалено
  1. 72 0
      src/api/shared.js
  2. 12 11
      src/components/VueLayer/src/css/index.less
  3. 3 2
      src/components/mapView/custom-detailsInfo.vue
  4. 7 1
      src/components/mapView/tablePage.vue
  5. 1 1
      src/utils/MapHelper/MapHelper.js
  6. 282 199
      src/views/ConstructionApplication3D/Demolition/CQSetInfo.vue
  7. 20 4
      src/views/ConstructionApplication3D/Demolition/DemolitionList.vue
  8. 159 117
      src/views/ConstructionApplication3D/Demolition/QMSetInfo.vue
  9. 201 131
      src/views/ConstructionApplication3D/Demolition/ZDSetInfo.vue
  10. 8 2
      src/views/ConstructionApplication3D/billboard/billboardChekInfo.vue
  11. 13 7
      src/views/ConstructionApplication3D/billboard/billboardDesign.vue
  12. 9 1
      src/views/ConstructionApplication3D/projectManagement/projectManagement.vue
  13. 1 1
      src/views/Idleland/components/list.vue
  14. 45 17
      src/views/ResourceShare/myApplication/components/addEdtModal.vue
  15. 47 27
      src/views/ResourceShare/myApplication/config.js
  16. 53 53
      src/views/ResourceShare/myApplication/index.vue
  17. 51 26
      src/views/ResourceShare/myReview/components/reviewModal.vue
  18. 55 56
      src/views/ResourceShare/myReview/index.vue
  19. 7 4
      src/views/ResourceShare/resource.scss
  20. 32 7
      src/views/ResourceShare/sharedLocation/components/fieldSetModal.vue
  21. 16 14
      src/views/ResourceShare/sharedLocation/config.js
  22. 80 72
      src/views/ResourceShare/sharedLocation/index.vue
  23. 2 2
      src/views/cockpit/common/VectorSpace/BoxCommonVector.vue
  24. 2 2
      src/views/cockpit/tdsy.vue
  25. 193 35
      src/views/shareResources/components/ServiceDetails.vue
  26. 1 2
      static/Config/config.js

+ 72 - 0
src/api/shared.js

@@ -0,0 +1,72 @@
+import request from '@/utils/request'
+// 我的申请
+export function GetApplicationlist(params) {
+    return request({
+        url: '/apply/my/application/list',
+        method: 'get',
+        params
+    })
+}
+export function revoke(data) {
+    return request({
+        url: '/apply/my/application',
+        method: 'put',
+        data
+    })
+}
+// 我的审批
+export function Getexaminelist(params) {
+    return request({
+        url: '/apply/my/examine/list',
+        method: 'get',
+        params
+    })
+}
+//资源审批
+export function examine(data) {
+    return request({
+        url: '/apply/my/examine',
+        method: 'put',
+        data
+    })
+}
+
+// 查询数据资源目录列表
+export function listZyml(params) {
+    return request({
+        url: '/system/zyml/list',
+        method: 'get',
+        params
+    })
+}
+export function Getdict(params) {
+    return request({
+        url: '/system/dict/data/list',
+        method: 'get',
+        params
+    })
+}
+// 共享位置
+export function Getfiledslist(params) {
+    return request({
+        url: '/apply/share/configuration/fileds/list',
+        method: 'get',
+        params
+    })
+}
+export function shareZyml(data) {
+    return request({
+        url: '/apply/share/configuration/zyml',
+        method: 'put',
+        data
+    })
+}
+
+export function fileds(data) {
+    return request({
+        url: '/apply/share/configuration/filed',
+        method: 'put',
+        data
+    })
+}
+

+ 12 - 11
src/components/VueLayer/src/css/index.less

@@ -48,7 +48,7 @@
     top: 50%;
     transform: perspective(1px) translate(-50%, -50%);
     -ms-transform: perspective(1px) translate(-50%, -50%);
-    background-color: rgba(0, 0, 0, .6);
+    background-color: rgba(0, 0, 0, 0.6);
   }
 
   &.vl-notify-tips-p {
@@ -97,7 +97,7 @@
       width: 100%;
       height: 42px;
       line-height: 43px;
-      background-color: #F8F8F8;
+      background-color: #f8f8f8;
       border-bottom: 1px solid #eee;
       font-size: 14px;
       padding-left: 15px;
@@ -157,9 +157,11 @@
         }
       }
 
-      .lv-icon-max {}
+      .lv-icon-max {
+      }
 
-      .lv-icon-mini {}
+      .lv-icon-mini {
+      }
     }
 
     .vl-notify-content {
@@ -168,6 +170,7 @@
       .vl-notify-content-div {
         margin-left: 10px;
         flex: 1;
+        color: #ffffff;
       }
     }
   }
@@ -219,7 +222,7 @@
       border-top: 2px solid #999999;
       border-right: 2px solid #999999;
       border-radius: 50%;
-      animation: loading 1.0s infinite linear;
+      animation: loading 1s infinite linear;
     }
   }
 
@@ -233,7 +236,7 @@
     top: 50%;
     transform: translate(-50%, -50%);
     -ms-transform: translate(-50%, -50%);
-    background-color: rgba(0, 0, 0, .6);
+    background-color: rgba(0, 0, 0, 0.6);
     color: #fff;
     padding: 12px 25px;
     text-align: center;
@@ -278,7 +281,6 @@
   }
 
   &.vl-notify-tips-0 {
-
     //上
     &:after {
       border-top-color: transparent !important;
@@ -290,7 +292,6 @@
   }
 
   &.vl-notify-tips-1 {
-
     //右
     &:after {
       border-top-color: transparent !important;
@@ -302,7 +303,6 @@
   }
 
   &.vl-notify-tips-2 {
-
     //下
     &:after {
       border-top-color: transparent !important;
@@ -335,6 +335,7 @@
     bottom: 0;
     z-index: 100000;
     cursor: nw-resize;
-    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cpath d='M765.558 510.004a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM765.558 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM422.15700000000004 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM422.15700000000004 510.004a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM765.558 202.54a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM66.77700000000002 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0z' fill='%23BFBFBF'/%3E%3C/svg%3E") no-repeat center;
+    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg' width='17' height='17'%3E%3Cpath d='M765.558 510.004a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM765.558 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM422.15700000000004 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM422.15700000000004 510.004a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM765.558 202.54a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0zM66.77700000000002 821.46a93.65 93.65 0 1 0 191.665 0 93.65 93.65 0 1 0-191.665 0z' fill='%23BFBFBF'/%3E%3C/svg%3E")
+      no-repeat center;
   }
-}
+}

+ 3 - 2
src/components/mapView/custom-detailsInfo.vue

@@ -34,7 +34,7 @@
                       popper-class="tooltipLight"
                       :content="model[item.value] + ''"
                       :disabled="
-                        model[item.value] && model[item.value].length < 10
+                        model[item.value] && model[item.value].length < 20
                       "
                       placement="top"
                     >
@@ -93,11 +93,12 @@ export default {
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
+    line-height: 39px;
   }
   .information {
     font-size: 14px;
     font-weight: 400;
-    color: #fff;
+    // color: #fff;
     height: 39px;
     line-height: 39px;
     // white-space: nowrap;

+ 7 - 1
src/components/mapView/tablePage.vue

@@ -10,6 +10,8 @@
       header-row-class-name="datatable"
       row-class-name="datarow"
       fit
+      :tree-props="treeProps"
+      row-key="bsm"
     >
       <el-table-column v-if="indexed" label="序号" width="70px">
         <template slot-scope="scope">{{ scope.$index + 1 }}</template>
@@ -33,7 +35,7 @@
         </template>
       </el-table-column>
     </el-table>
-    <div class="tabs-pagation" v-if="table.data.length">
+    <div class="tabs-pagation" v-if="table.data.length && table.total">
       <div class="font" v-if="showTotal">共{{ table.total }}条记录</div>
       <!-- <el-pagination class="tabone-pagination" background layout="prev, pager, next" :current-page="pageNum"
             :pager-count="5" :page-size="5" :total="table.total" @current-change="changePage" /> -->
@@ -71,6 +73,10 @@ export default {
       type: Boolean,
       default: true,
     },
+    treeProps: {
+      type: Object,
+      default: () => {},
+    },
     layout: {
       type: String,
       default: "total, sizes, prev, pager, next, jumper",

+ 1 - 1
src/utils/MapHelper/MapHelper.js

@@ -132,7 +132,7 @@ export const flatten = (arr, children = "children") => {
  */
 export const undergroundMode = (state) => {
   if (state) {
-    viewer.scene.globe.globeAlpha = 0.3;
+    viewer.scene.globe.globeAlpha = window.Layeralpha;
   } else {
     viewer.scene.globe.globeAlpha = 1;
   }

+ 282 - 199
src/views/ConstructionApplication3D/Demolition/CQSetInfo.vue

@@ -4,8 +4,18 @@
     <el-row :gutter="10">
       <el-col :span="6">征地补偿标准:</el-col>
       <el-col :span="18">
-        <el-select v-model="bcbz" style="width: 90%" @change="selectZDBZ" placeholder="请选择">
-          <el-option v-for="item in bcbzList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+        <el-select
+          v-model="bcbz"
+          style="width: 90%"
+          @change="selectZDBZ"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in bcbzList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
         </el-select>
       </el-col>
     </el-row>
@@ -15,46 +25,75 @@
             </el-table-column> -->
       <el-table-column prop="jg" label="房屋结构" width="80">
         <template slot-scope="scope">
-          <el-input v-model="scope.row.jg" v-show="scope.row.seen" @focus="handleSetFoucsSetData(scope.row)"
-            @blur="loseFoucs(scope.row)"></el-input>
+          <el-input
+            v-model="scope.row.jg"
+            v-show="scope.row.seen"
+            @focus="handleSetFoucsSetData(scope.row)"
+            @blur="loseFoucs(scope.row)"
+          ></el-input>
           <div v-show="!scope.row.seen">{{ scope.row.jg }}</div>
         </template>
       </el-table-column>
       <el-table-column prop="grade" label="等级" width="60">
         <template slot-scope="scope">
-          <el-input v-model="scope.row.grade" v-show="scope.row.seen" @focus="handleSetFoucsSetData(scope.row)"
-            @blur="loseFoucs(scope.row)"></el-input>
+          <el-input
+            v-model="scope.row.grade"
+            v-show="scope.row.seen"
+            @focus="handleSetFoucsSetData(scope.row)"
+            @blur="loseFoucs(scope.row)"
+          ></el-input>
           <div v-show="!scope.row.seen">{{ scope.row.grade }}</div>
         </template>
       </el-table-column>
       <el-table-column prop="bz" label="单价(元/平方米)" width="80">
         <template slot-scope="scope">
-          <el-input v-model="scope.row.bz" v-show="scope.row.seen" @focus="handleSetFoucsSetData(scope.row)"
-            @blur="loseFoucs(scope.row)"></el-input>
+          <el-input
+            v-model="scope.row.bz"
+            v-show="scope.row.seen"
+            @focus="handleSetFoucsSetData(scope.row)"
+            @blur="loseFoucs(scope.row)"
+          ></el-input>
           <div v-show="!scope.row.seen">{{ scope.row.bz }}</div>
         </template>
       </el-table-column>
       <el-table-column prop="des" label="结构及装饰特征(规格)">
         <template slot-scope="scope">
-          <el-input v-model="scope.row.des" v-show="scope.row.seen" @focus="handleSetFoucsSetData(scope.row)"
-            @blur="loseFoucs(scope.row)"></el-input>
+          <el-input
+            v-model="scope.row.des"
+            v-show="scope.row.seen"
+            @focus="handleSetFoucsSetData(scope.row)"
+            @blur="loseFoucs(scope.row)"
+          ></el-input>
           <div v-show="!scope.row.seen">{{ scope.row.des }}</div>
         </template>
       </el-table-column>
       <el-table-column fixed="right" label="操作" width="100">
         <template slot-scope="scope">
-          <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button>
-          <el-button type="text" size="small" @click="handleDeleteClick(scope.row)">删除</el-button>
+          <el-button @click="handleClick(scope.row)" type="text" size="small"
+            >编辑</el-button
+          >
+          <el-button
+            type="text"
+            size="small"
+            @click="handleDeleteClick(scope.row)"
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
     <el-row justify="center" type="flex">
       <el-button type="primary" @click="save()">保存</el-button>
-      <el-button type="primary" @click="saveAs()">另存为</el-button>
+      <el-button type="primary" @click="saveAs('ruleForm')">另存为</el-button>
       <el-button type="primary" @click="reset()">重置</el-button>
       <el-button type="primary" @click="delBZ()">删除</el-button>
     </el-row>
-    <el-dialog title="标准名称设置" :modal="false" :visible.sync="dialogFormVisible" append-to-body="true" width="20rem">
+    <el-dialog
+      title="标准名称设置"
+      :modal="false"
+      :visible.sync="dialogFormVisible"
+      append-to-body="true"
+      width="20rem"
+    >
       <el-form :model="ruleForm" :rules="rules" ref="ruleForm">
         <el-form-item label="名称" prop="name">
           <el-input v-model="ruleForm.name" autocomplete="off"></el-input>
@@ -62,10 +101,18 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
+        <el-button type="primary" @click="submitForm('ruleForm')"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
-    <el-dialog title="编辑" :modal="false" :visible.sync="editFormVisible" append-to-body="true" width="20rem">
+    <el-dialog
+      title="编辑"
+      :modal="false"
+      :visible.sync="editFormVisible"
+      append-to-body="true"
+      width="20rem"
+    >
       <el-form :model="oldRow" :rules="rowRules" ref="rowForm">
         <el-form-item label="房屋结构" prop="jg">
           <el-select v-model="oldRow.jg">
@@ -77,26 +124,49 @@
           </el-select>
         </el-form-item>
         <el-form-item label="房屋等级" prop="grade">
-          <el-input v-model.number="oldRow.grade" type="number" min="1" max="5"></el-input>
+          <el-input
+            v-model.number="oldRow.grade"
+            type="number"
+            min="1"
+            max="5"
+          ></el-input>
         </el-form-item>
         <el-form-item label="单价(元/平方米)" prop="bz">
-          <el-input v-model.number="oldRow.bz" type="number" min="0" max="10000000000"></el-input>
+          <el-input
+            v-model.number="oldRow.bz"
+            type="number"
+            min="0"
+            max="10000000000"
+          ></el-input>
         </el-form-item>
         <el-form-item label="规格" prop="des">
-          <el-input type="textarea" :rows="4" v-model="oldRow.des" autocomplete="off"></el-input>
+          <el-input
+            type="textarea"
+            :rows="4"
+            v-model="oldRow.des"
+            autocomplete="off"
+          ></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="editFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="submitEditForm('rowForm')">确 定</el-button>
+        <el-button type="primary" @click="submitEditForm('rowForm')"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
 </template>
 <script>
 import {
-  getCqBcbzList, getCqBcbzItemList, getCqBcbzById,
-  addCqBcbz, updateCqBcbz, updateCqBcbzItem, delCqBcbzItem, delCqBcbz
+  getCqBcbzList,
+  getCqBcbzItemList,
+  getCqBcbzById,
+  addCqBcbz,
+  updateCqBcbz,
+  updateCqBcbzItem,
+  delCqBcbzItem,
+  delCqBcbz,
 } from "@/api/zt/ztApi.js";
 export default {
   props: {
@@ -111,12 +181,10 @@ export default {
   name: "ZDShowInfo",
   data() {
     var bzValidate = (rule, value, callback) => {
-      if (value == "" || value == null)
-        callback(new Error("不能为空"))
+      if (value == "" || value == null) callback(new Error("不能为空"));
       else if (value < 0) {
-        callback(new Error("不能小于0"))
-      }
-      else callback()
+        callback(new Error("不能小于0"));
+      } else callback();
     };
     return {
       editFormVisible: false,
@@ -132,12 +200,8 @@ export default {
         ],
       },
       rulesEdit: {
-        grade: [
-          { validate: bzValidate, trigger: 'blur' }
-        ],
-        bz: [
-          { validate: bzValidate, trigger: 'blur' }
-        ],
+        grade: [{ validate: bzValidate, trigger: "blur" }],
+        bz: [{ validate: bzValidate, trigger: "blur" }],
       },
 
       // rowForm: {
@@ -148,15 +212,26 @@ export default {
       // },
 
       rowRules: {
-
         grade: [
           // { required: true, message: "不能为空", trigger: "blur" },
-          { type: 'number', min: 1, max: 5, message: "范围1-5之间", trigger: 'blur' }
+          {
+            type: "number",
+            min: 1,
+            max: 5,
+            message: "范围1-5之间",
+            trigger: "blur",
+          },
         ],
         bz: [
           // { required: true, message: "不能为空", trigger: "blur" },
           // /^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
-          { type: 'number', min: 0, max: 10000000000, message: "不能小于0", trigger: 'blur' }
+          {
+            type: "number",
+            min: 0,
+            max: 10000000000,
+            message: "不能小于0",
+            trigger: "blur",
+          },
         ],
       },
       /**
@@ -296,53 +371,53 @@ export default {
       that.bcbz = that.cqValue;
       if (window.isUseDB) {
         that.curBCBZ = {
-          id: '',
-          name: '',
-          bcbz: []
-        }
-        getCqBcbzList().then((res) => {
-          that.bcbzList = res.rows;
-          if (that.bcbz == null || that.bcbz == "") {
-            if (that.bcbzList.length > 0) {
-              that.cqValue = that.bcbzList[0].id
-              that.bcbz = that.cqValue
-              that.curBCBZ.id = that.bcbz
-              that.curBCBZ.name = that.bcbzList[0].name;
+          id: "",
+          name: "",
+          bcbz: [],
+        };
+        getCqBcbzList()
+          .then((res) => {
+            that.bcbzList = res.rows;
+            if (that.bcbz == null || that.bcbz == "") {
+              if (that.bcbzList.length > 0) {
+                that.cqValue = that.bcbzList[0].id;
+                that.bcbz = that.cqValue;
+                that.curBCBZ.id = that.bcbz;
+                that.curBCBZ.name = that.bcbzList[0].name;
+              }
+            } else {
+              var item = that.bcbzList.find((t) => t.id == that.bcbz);
+              if (item) {
+                that.curBCBZ.id = item.id;
+                that.curBCBZ.name = item.name;
+              }
             }
-          }
-          else {
-            var item = that.bcbzList.find(t => t.id == that.bcbz)
-            if (item) {
-              that.curBCBZ.id = item.id;
-              that.curBCBZ.name = item.name;
-            }
-          }
-          var queryParams =
-          {
-            "bz": null,
-            "des": null,
-            "grade": null,
-            "id": null,
-            "jg": null,
-            "pid": that.bcbz
-          }
-          getCqBcbzItemList(queryParams).then((response) => {
-            if (response) {
-              that.curBCBZ.bcbz = response.rows;
-            }
-          }).catch((err) => {
-            console.log(err)
+            var queryParams = {
+              bz: null,
+              des: null,
+              grade: null,
+              id: null,
+              jg: null,
+              pid: that.bcbz,
+            };
+            getCqBcbzItemList(queryParams)
+              .then((response) => {
+                if (response) {
+                  that.curBCBZ.bcbz = response.rows;
+                }
+              })
+              .catch((err) => {
+                console.log(err);
+              });
           })
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.CQBCList));
         if (that.cqValue != null && that.cqValue != "") {
           that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
-        }
-        else {
+        } else {
           if (that.bcbzList.length > 0) {
             that.cqValue = that.bcbzList[0].id;
             that.bcbz = that.cqValue;
@@ -359,36 +434,35 @@ export default {
       if (that.bcbz && that.bcbz != "") {
         if (window.isUseDB) {
           that.curBCBZ = {
-            id: '',
-            name: '',
-            bcbz: []
-          }
-          var queryParams =
-          {
-            "bz": null,
-            "des": null,
-            "grade": null,
-            "id": null,
-            "jg": null,
-            "pid": that.bcbz
-          }
-          getCqBcbzItemList(queryParams).then((response) => {
-            if (response) {
-              that.curBCBZ.bcbz = response.rows;
-            }
-          }).catch((err) => {
-            console.log(err)
-          })
-        }
-        else {
+            id: "",
+            name: "",
+            bcbz: [],
+          };
+          var queryParams = {
+            bz: null,
+            des: null,
+            grade: null,
+            id: null,
+            jg: null,
+            pid: that.bcbz,
+          };
+          getCqBcbzItemList(queryParams)
+            .then((response) => {
+              if (response) {
+                that.curBCBZ.bcbz = response.rows;
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+            });
+        } else {
           this.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.CQBCList));
           if (this.cqValue != undefined && this.cqValue != "") {
             this.curBCBZ = this.bcbzList.find((t) => t.id == this.bcbz);
           }
         }
-      }
-      else {
-        that.$message.warning("请选择标准")
+      } else {
+        that.$message.warning("请选择标准");
       }
     },
 
@@ -416,18 +490,17 @@ export default {
         var item = {
           id: that.curBCBZ.id,
           name: that.curBCBZ.name,
-          bcbz: that.curBCBZ.bcbz
-        }
-        updateCqBcbz(item).then((res) => {
-          if (res)
-            that.getInitData();
-          that.$layer.alert("保存完成");
-
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+          bcbz: that.curBCBZ.bcbz,
+        };
+        updateCqBcbz(item)
+          .then((res) => {
+            if (res) that.getInitData();
+            that.$layer.alert("保存完成");
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         var index = window.ZSBC.CQBCList.findIndex((t) => t.value == this.bcbz);
         if (index > -1) {
           window.ZSBC.CQBCList[index] = this.curBCBZ;
@@ -438,12 +511,16 @@ export default {
     /***
      * 另存为
      */
-    saveAs() {
+    saveAs(formName) {
+      debugger;
       // if (this.bcbz == "") {
       //     this.$layer.alert("请选择补偿标准");
       //     return
       // }
       this.dialogFormVisible = true;
+      this.$nextTick(function () {
+        this.$refs[formName].resetFields();
+      });
     },
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {
@@ -451,8 +528,6 @@ export default {
           // alert('submit!');
           this.dialogFormVisible = false;
           this.saveData();
-
-
         } else {
           console.log("error submit!!");
           return false;
@@ -473,17 +548,16 @@ export default {
         bcbz: that.curBCBZ.bcbz,
       };
       if (window.isUseDB) {
-        addCqBcbz(newBCBZ).then((res) => {
-          if (res)
-            that.getInitData();
-          that.lyoption.content.parent.initSetting();
-          that.$layer.alert("保存完成");
-
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+        addCqBcbz(newBCBZ)
+          .then((res) => {
+            if (res) that.getInitData();
+            that.lyoption.content.parent.initSetting();
+            that.$layer.alert("保存完成");
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         window.ZSBC.CQBCList.push(newBCBZ);
         that.bcbzList = window.ZSBC.CQBCList;
         that.bcbz = val;
@@ -491,7 +565,7 @@ export default {
     },
     updateZDWindow() {
       var that = this;
-      that.$layer.close(window.zdWindowId)
+      that.$layer.close(window.zdWindowId);
       window.zdWindowId = this.$layer.iframe({
         layerStyle: {
           padding: "0.3vw 1vw 0.3vw 2.5vw",
@@ -520,32 +594,35 @@ export default {
      * 编辑按钮
      */
     handleClick(row) {
-      debugger
+      debugger;
 
-      this.oldRow = row;
+      this.oldRow = JSON.parse(JSON.stringify(row));
       this.editFormVisible = true;
     },
     handleDeleteClick(row) {
       var that = this;
-      if (row == undefined)
-        return;
-      var index = that.curBCBZ.bcbz.findIndex(t => t.id = row.id)
-      var formId = that.$layer.confirm("确定要删除吗?", {}, function () {
-        delCqBcbzItem([row.id]).then((res) => {
-          if (res) {
-            that.$message("数据已删除!");
-            if (index > -1)
-              that.curBCBZ.bcbz.splice(index, 1)
-            that.$layer.close(formId)
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-
-      }, function () {
-        return
-      });
-
+      if (row == undefined) return;
+      var index = that.curBCBZ.bcbz.findIndex((t) => (t.id = row.id));
+      var formId = that.$layer.confirm(
+        "确定要删除吗?",
+        {},
+        function () {
+          delCqBcbzItem([row.id])
+            .then((res) => {
+              if (res) {
+                that.$message("数据已删除!");
+                if (index > -1) that.curBCBZ.bcbz.splice(index, 1);
+                that.$layer.close(formId);
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+            });
+        },
+        function () {
+          return;
+        }
+      );
     },
     /**
      * 开启行编辑
@@ -558,46 +635,51 @@ export default {
       // if (!this.chageBCBZ())
       //   return false;
       // else {
-      console.log(this.oldRow.bz)
-      console.log(this.oldRow.grade)
+      console.log(this.oldRow.bz);
+      console.log(this.oldRow.grade);
       this.$refs[formName].validate((valid) => {
-
         if (valid) {
           // alert('submit!');
           this.editFormVisible = false;
           this.updateItem();
           // this.$layer.alert("保存完成");
-          return true
+          return true;
         } else {
           console.log("error submit!!");
           return false;
         }
-      })
+      });
 
       // }
     },
     /**
-     * 
+     *
      */
     updateItem() {
-      var that = this
-      var model =
-      {
-        "bz": that.oldRow.bz,
-        "des": that.oldRow.des,
-        "grade": that.oldRow.grade,
-        "id": that.oldRow.id,
-        "jg": that.oldRow.jg,
-        "pid": that.oldRow.pid,
-
-      }
-      updateCqBcbzItem(model).then((res) => {
-        if (res)
-          that.$layer.alert("保存完成");
-
-      }).catch((err) => {
-        console.log(err)
-      })
+      var that = this;
+      var model = {
+        bz: that.oldRow.bz,
+        des: that.oldRow.des,
+        grade: that.oldRow.grade,
+        id: that.oldRow.id,
+        jg: that.oldRow.jg,
+        pid: that.oldRow.pid,
+      };
+      updateCqBcbzItem(model)
+        .then((res) => {
+          if (res) {
+            that.$layer.alert("保存完成");
+            debugger;
+            let bcbz = that.curBCBZ.bcbz.find((c) => c.id == model.id);
+            bcbz.bz = model.bz;
+            bcbz.des = model.des;
+            bcbz.grade = model.grade;
+            bcbz.jg = model.jg;
+          }
+        })
+        .catch((err) => {
+          console.log(err);
+        });
     },
     /**
      * 保存当前行
@@ -608,12 +690,12 @@ export default {
     },
     chageBCBZ() {
       if (this.oldRow.grade < 1) {
-        this.$message.warning('不能小于1');
-        return false
+        this.$message.warning("不能小于1");
+        return false;
       }
       if (this.oldRow.bz < 0) {
-        this.$message.warning('不能小于0');
-        return false
+        this.$message.warning("不能小于0");
+        return false;
       }
       return true;
     },
@@ -622,31 +704,32 @@ export default {
 
       var formId = that.$layer.confirm("确定要删除吗?", {}, function () {
         if (window.isUseDB) {
-          delCqBcbz(that.bcbz).then((res) => {
-            if (res) {
-              that.$layer.alert("数据已删除");
-              that.cqValue = "";
-              that.bcbz = that.cqValue;
-              that.getInitData();
-              that.lyoption.content.parent.initSetting()
-            }
-          }).catch((err) => {
-            console.log(err)
-          })
-        }
-        else {
-          var index = window.ZSBC.CQBCList.findIndex(t => t.id == that.bcbz);
+          delCqBcbz(that.bcbz)
+            .then((res) => {
+              if (res) {
+                that.$layer.alert("数据已删除");
+                that.cqValue = "";
+                that.bcbz = that.cqValue;
+                that.getInitData();
+                that.lyoption.content.parent.initSetting();
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+            });
+        } else {
+          var index = window.ZSBC.CQBCList.findIndex((t) => t.id == that.bcbz);
           if (index > -1) {
             window.ZSBC.CQBCList.splice(index, 1);
           }
           that.cqValue = "";
           that.bcbz = that.cqValue;
-          that.getInitData()
-          that.lyoption.content.parent.initSetting()
+          that.getInitData();
+          that.lyoption.content.parent.initSetting();
         }
-        that.$layer.close(formId)
-      })
-    }
+        that.$layer.close(formId);
+      });
+    },
   },
 };
 </script>
@@ -659,7 +742,7 @@ export default {
     color: #02a7f0;
     font-weight: 400;
 } */
-.el-input>>>.el-input__inner {
+.el-input >>> .el-input__inner {
   text-align: right !important;
 }
 

+ 20 - 4
src/views/ConstructionApplication3D/Demolition/DemolitionList.vue

@@ -1493,6 +1493,14 @@ export default {
      */
     loadInitData() {
       var that = this;
+
+      if(popupBox){
+        popupBox.destroy();
+        popupBox=null;
+    }
+
+
+
       that.entities.forEach((item) => {
         viewer.entities.removeById(item.id);
       });
@@ -4101,15 +4109,23 @@ export default {
       //   }).catch((err) => {
       //     console.log(err)
       //   })
-    }
+    },
+
+    /**
+     * 清除绘制范围
+     */
+    removePolygonEntity(){
+      if (polygonEntity) {
+      viewer.entities.remove(polygonEntity)
+      }
+    },
+
   },
   /**
    * 清楚临时图元
    */
   beforeDestroy() {
-    if (polygonEntity) {
-      viewer.entities.remove(polygonEntity)
-    }
+    this.removePolygonEntity();
     if (handlerPolygon) {
       handlerPolygon.deactivate();
       handlerPolygon.clear();

+ 159 - 117
src/views/ConstructionApplication3D/Demolition/QMSetInfo.vue

@@ -5,53 +5,94 @@
       <el-col :span="6">青苗补偿标准:</el-col>
       <el-col :span="18">
         <el-select v-model="bcbz" style="width: 90%" @change="selectZDBZ">
-          <el-option v-for="item in bcbzList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+          <el-option
+            v-for="item in bcbzList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
         </el-select>
       </el-col>
     </el-row>
 
     <el-row>
       <el-col :span="6">农作物补偿:</el-col>
-      <el-col :span="16"><el-input style="width: 100%" type="number" min="0" placeholder="请输入" v-model="curBCBZ.nzw"
-          @change="changeBCBZ" @input="inputChange"> </el-input>
+      <el-col :span="16"
+        ><el-input
+          style="width: 100%"
+          type="number"
+          min="0"
+          placeholder="请输入"
+          v-model="curBCBZ.nzw"
+          @change="changeBCBZ"
+          @input="inputChange"
+        >
+        </el-input>
       </el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row>
       <el-col :span="6">经济作物:</el-col>
       <el-col :span="16">
-        <el-input style="width: 100%" placeholder="请输入" type="number" min="0" v-model="curBCBZ.jjzw" @change="changeBCBZ"
-          @input="inputChange"></el-input></el-col>
+        <el-input
+          style="width: 100%"
+          placeholder="请输入"
+          type="number"
+          min="0"
+          v-model="curBCBZ.jjzw"
+          @change="changeBCBZ"
+          @input="inputChange"
+        ></el-input
+      ></el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row>
       <el-col :span="6">树木补偿:</el-col>
       <el-col :span="16">
-        <el-input style="width: 100%" placeholder="请输入" type="number" min="0" v-model="curBCBZ.sm" @change="changeBCBZ"
-          @input="inputChange"></el-input></el-col>
+        <el-input
+          style="width: 100%"
+          placeholder="请输入"
+          type="number"
+          min="0"
+          v-model="curBCBZ.sm"
+          @change="changeBCBZ"
+          @input="inputChange"
+        ></el-input
+      ></el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row justify="center" type="flex">
       <el-button type="primary" @click="save()">保存</el-button>
-      <el-button type="primary" @click="saveAs()">另存为</el-button>
+      <el-button type="primary" @click="saveAs('ruleForm')">另存为</el-button>
       <el-button type="primary" @click="reset()">重置</el-button>
       <el-button type="primary" @click="delBZ()">删除</el-button>
-
     </el-row>
-    <el-dialog title="标准名称设置" :modal="false" :visible.sync="dialogFormVisible" append-to-body="true" width="20rem">
+    <el-dialog
+      title="标准名称设置"
+      :modal="false"
+      :visible.sync="dialogFormVisible"
+      append-to-body="true"
+      width="20rem"
+    >
       <el-form :model="ruleForm" :rules="rules" ref="ruleForm">
         <el-form-item label="名称" prop="name">
           <el-input v-model="ruleForm.name" autocomplete="off"></el-input>
         </el-form-item>
         <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
+        <el-button type="primary" @click="submitForm('ruleForm')"
+          >确 定</el-button
+        >
       </el-form>
     </el-dialog>
   </div>
 </template>
 <script>
 import {
-  getQmbcbzList, updateQmbcbz, addQmbcbz, getQmbcbzById, delQmbcbz
+  getQmbcbzList,
+  updateQmbcbz,
+  addQmbcbz,
+  getQmbcbzById,
+  delQmbcbz,
 } from "@/api/zt/ztApi.js";
 export default {
   props: {
@@ -94,7 +135,7 @@ export default {
         id: null,
         nzw: 0,
         jjzw: 0,
-        sm: 0
+        sm: 0,
       },
     };
   },
@@ -110,34 +151,33 @@ export default {
       var that = this;
       that.bcbz = that.qmValue;
       if (window.isUseDB) {
-        getQmbcbzList().then((response) => {
-          if (response) {
-            that.bcbzList = response.rows
-            if (that.bcbz != null && that.bcbz != "") {
-              that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
-            }
-            else {
-              if (that.bcbzList.length > 0) {
-                that.curBCBZ = that.bcbzList[0]
-                that.bcbz = that.curBCBZ.id
-                that.qmValue = that.bcbz
+        getQmbcbzList()
+          .then((response) => {
+            if (response) {
+              that.bcbzList = response.rows;
+              if (that.bcbz != null && that.bcbz != "") {
+                that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
+              } else {
+                if (that.bcbzList.length > 0) {
+                  that.curBCBZ = that.bcbzList[0];
+                  that.bcbz = that.curBCBZ.id;
+                  that.qmValue = that.bcbz;
+                }
               }
             }
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.QMBCList));
         if (that.bcbz != null && that.bcbz != "") {
-          that.curBCBZ = that.bcbzList.find(t => t.id == that.bcbz);
-        }
-        else {
+          that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
+        } else {
           if (that.bcbzList.length > 0) {
             that.curBCBZ = that.bcbzList[0];
-            that.bcbz = that.curBCBZ.id
-            that.zdValue = that.bcbz
+            that.bcbz = that.curBCBZ.id;
+            that.zdValue = that.bcbz;
           }
         }
       }
@@ -145,29 +185,26 @@ export default {
     selectZDBZ() {
       var that = this;
       if (that.bcbz == null || that.bcbz == "") {
-        that.$message.warning("请选择标准")
+        that.$message.warning("请选择标准");
         return;
       }
       that.qmValue = that.bcbz;
       if (window.isUseDB) {
-        getQmbcbzById(that.bcbz).then((response) => {
-          if (response) {
-            that.curBCBZ = response.data
-
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+        getQmbcbzById(that.bcbz)
+          .then((response) => {
+            if (response) {
+              that.curBCBZ = response.data;
+            }
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.QMBCList));
         if (that.bcbzList.length > 0) {
           that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
         }
       }
-
-
-
     },
     /**
      * 选择标准改变
@@ -184,7 +221,7 @@ export default {
      * 重置
      */
     reset() {
-      this.getInitData()
+      this.getInitData();
     },
     /**
      * 保存修改
@@ -195,27 +232,28 @@ export default {
         that.$layer.alert("请选择补偿标准");
         return;
       }
-      if (!that.changeBCBZ())
-        return;
+      if (!that.changeBCBZ()) return;
       debugger;
       var model = {
-        "id": that.curBCBZ.id,
-        "name": that.curBCBZ.name,
-        "jjzw": that.curBCBZ.jjzw,
-        "nzw": that.curBCBZ.nzw,
-        "sm": that.curBCBZ.sm,
-      }
-      if (window.isUseDB) {//数据库
-        updateQmbcbz(model).then((response) => {
-          if (response.code == 200) {
-            that.getInitData()
-            that.$layer.alert("保存完成");
-          }
-        }).catch((err) => {
-          console.log(err.console)
-        })
-      }
-      else {
+        id: that.curBCBZ.id,
+        name: that.curBCBZ.name,
+        jjzw: that.curBCBZ.jjzw,
+        nzw: that.curBCBZ.nzw,
+        sm: that.curBCBZ.sm,
+      };
+      if (window.isUseDB) {
+        //数据库
+        updateQmbcbz(model)
+          .then((response) => {
+            if (response.code == 200) {
+              that.getInitData();
+              that.$layer.alert("保存完成");
+            }
+          })
+          .catch((err) => {
+            console.log(err.console);
+          });
+      } else {
         var index = window.ZSBC.QMBCList.findIndex((t) => t.value == this.bcbz);
         if (index > -1) {
           window.ZSBC.QMBCList[index] = that.curBCBZ;
@@ -226,10 +264,12 @@ export default {
     /***
      * 另存为
      */
-    saveAs() {
-      if (!this.changeBCBZ())
-        return;
+    saveAs(formName) {
+      if (!this.changeBCBZ()) return;
       this.dialogFormVisible = true;
+      this.$nextTick(function () {
+        this.$refs[formName].resetFields();
+      });
     },
     submitForm(formName) {
       var that = this;
@@ -245,7 +285,6 @@ export default {
           return false;
         }
       });
-
     },
     /**
      * 另存数据
@@ -256,82 +295,85 @@ export default {
       var date = new Date();
       var val = date.getTime().toString();
       var newBCBZ = {
-        "id": val,
-        "jjzw": that.curBCBZ.jjzw,
-        "name": that.ruleForm.name,
-        "nzw": that.curBCBZ.nzw,
-        "sm": that.curBCBZ.sm,
+        id: val,
+        jjzw: that.curBCBZ.jjzw,
+        name: that.ruleForm.name,
+        nzw: that.curBCBZ.nzw,
+        sm: that.curBCBZ.sm,
       };
       if (window.isUseDB) {
-        newBCBZ.id = null
-        addQmbcbz(newBCBZ).then((response) => {
-          if (response && response.code == 200) {
-            that
-            that.getInitData();
-            that.$layer.alert("保存完成");
-            that.lyoption.content.parent.initSetting();
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+        newBCBZ.id = null;
+        addQmbcbz(newBCBZ)
+          .then((response) => {
+            if (response && response.code == 200) {
+              that;
+              that.getInitData();
+              that.$layer.alert("保存完成");
+              that.lyoption.content.parent.initSetting();
+            }
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         window.ZSBC.QMBCList.push(newBCBZ);
-        that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.QMBCList))
+        that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.QMBCList));
         that.bcbz = val;
-        that.curBCBZ = that.bcbzList.find(t => t.id == that.bcbz);
+        that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
       }
     },
     changeBCBZ() {
       if (this.curBCBZ.sm < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       if (this.curBCBZ.jjzw < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       if (this.curBCBZ.nzw < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       return true;
     },
     inputChange() {
-      this.changeBCBZ()
+      this.changeBCBZ();
     },
     delBZ() {
       var that = this;
       if (that.qmValue == null || that.qmValue == "") {
         that.$layer.alert("请选择标准后再删除");
-        return
+        return;
       }
       var formId = that.$layer.confirm("确定要删除吗?", {}, function () {
         if (window.isUseDB) {
-          delQmbcbz([that.qmValue]).then((res) => {
-            if (res) {
-              that.$layer.alert("数据已删除");
-              that.qmValue = null;
-              that.bcbz = that.qmValue;
-              that.getInitData();
-              that.lyoption.content.parent.initSetting();
-            }
-          }).catch((err) => {
-            console.log(err)
-          })
-        }
-        else {
-          var index = window.ZSBC.QMBCList.findIndex(t => t.id == that.qmValue);
+          delQmbcbz([that.qmValue])
+            .then((res) => {
+              if (res) {
+                that.$layer.alert("数据已删除");
+                that.qmValue = null;
+                that.bcbz = that.qmValue;
+                that.getInitData();
+                that.lyoption.content.parent.initSetting();
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+            });
+        } else {
+          var index = window.ZSBC.QMBCList.findIndex(
+            (t) => t.id == that.qmValue
+          );
           if (index > -1) {
             window.ZSBC.QMBCList.splice(index, 1);
             that.getInitData();
           }
         }
-        that.$layer.close(formId)
+        that.$layer.close(formId);
       });
-    }
-
-  }
+    },
+  },
 };
 </script>
 <style lang="scss">
@@ -350,7 +392,7 @@ export default {
   font-weight: 400;
 }
 
-.el-input>>>.el-input__inner {
+.el-input >>> .el-input__inner {
   text-align: right !important;
 }
 

+ 201 - 131
src/views/ConstructionApplication3D/Demolition/ZDSetInfo.vue

@@ -4,8 +4,18 @@
     <el-row>
       <el-col :span="6">征地补偿标准:</el-col>
       <el-col :span="18">
-        <el-select v-model="bcbz" style="width: 90%" @change="selectZDBZ" placeholder="请选择">
-          <el-option v-for="item in bcbzList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+        <el-select
+          v-model="bcbz"
+          style="width: 90%"
+          @change="selectZDBZ"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in bcbzList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          ></el-option>
         </el-select>
       </el-col>
     </el-row>
@@ -14,58 +24,114 @@
     </el-row>
     <el-row>
       <el-col :span="6">土地年产值:</el-col>
-      <el-col :span="16"><el-input style="width: 100%" type="number" min="0" placeholder="请输入"
-          v-model.number="curBCBZ.tdcz" @change="changeZDBZ" @input="inputChange"></el-input>
+      <el-col :span="16"
+        ><el-input
+          style="width: 100%"
+          type="number"
+          min="0"
+          placeholder="请输入"
+          v-model.number="curBCBZ.tdcz"
+          @change="changeZDBZ"
+          @input="inputChange"
+        ></el-input>
       </el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row class="subtitle">
       <el-col :span="12">土地补偿费</el-col>
-      <el-col :span="12" style="font-size: small; color: aqua">统一年产值 X 综合补偿倍数</el-col>
+      <el-col :span="12" style="font-size: small; color: aqua"
+        >统一年产值 X 综合补偿倍数</el-col
+      >
     </el-row>
     <el-row>
       <el-col :span="6">综合补偿倍数:</el-col>
-      <el-col :span="16"><el-input style="width: 100%" type="number" min="0" placeholder="请输入"
-          v-model.number="curBCBZ.tdbcbs" @change="changeZDBZ" @input="inputChange"></el-input></el-col>
+      <el-col :span="16"
+        ><el-input
+          style="width: 100%"
+          type="number"
+          min="0"
+          placeholder="请输入"
+          v-model.number="curBCBZ.tdbcbs"
+          @change="changeZDBZ"
+          @input="inputChange"
+        ></el-input
+      ></el-col>
     </el-row>
     <el-row>
       <el-col :span="6">土地补偿费:</el-col>
       <el-col :span="16">
-        <el-input placeholder="自动计算" readonly type="number" v-model.number="curBCBZ.tdbcf"></el-input></el-col>
+        <el-input
+          placeholder="自动计算"
+          readonly
+          type="number"
+          v-model.number="curBCBZ.tdbcf"
+        ></el-input
+      ></el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row class="subtitle">
       <el-col :span="12">安置补偿费</el-col>
-      <el-col :span="12" style="font-size: small; color: aqua">统一年产值 X 综合补偿倍数</el-col>
+      <el-col :span="12" style="font-size: small; color: aqua"
+        >统一年产值 X 综合补偿倍数</el-col
+      >
     </el-row>
     <el-row>
       <el-col :span="6">综合补偿倍数</el-col>
-      <el-col :span="16"><el-input type="number" min="0" style="width: 100%" placeholder="请输入" v-model="curBCBZ.azbcbs"
-          @change="changeZDBZ" @input="inputChange"></el-input></el-col>
+      <el-col :span="16"
+        ><el-input
+          type="number"
+          min="0"
+          style="width: 100%"
+          placeholder="请输入"
+          v-model="curBCBZ.azbcbs"
+          @change="changeZDBZ"
+          @input="inputChange"
+        ></el-input
+      ></el-col>
     </el-row>
     <el-row>
       <el-col :span="6">安置补偿费:</el-col>
-      <el-col :span="16"><el-input v-model.number="curBCBZ.azbcf" readonly type="number"
-          placeholder="自动计算"></el-input></el-col>
+      <el-col :span="16"
+        ><el-input
+          v-model.number="curBCBZ.azbcf"
+          readonly
+          type="number"
+          placeholder="自动计算"
+        ></el-input
+      ></el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row class="subtitle">
       <el-col :span="12">补偿费及安置补助费合计</el-col>
-      <el-col :span="12" style="font-size: small; color: aqua">统一年产值 X 综合补偿倍数</el-col>
+      <el-col :span="12" style="font-size: small; color: aqua"
+        >统一年产值 X 综合补偿倍数</el-col
+      >
     </el-row>
     <el-row>
       <el-col :span="6">征地补偿合计:</el-col>
-      <el-col :span="16"><el-input v-model.number="curBCBZ.bchj" readonly type="number"
-          placeholder="自动计算"></el-input></el-col>
+      <el-col :span="16"
+        ><el-input
+          v-model.number="curBCBZ.bchj"
+          readonly
+          type="number"
+          placeholder="自动计算"
+        ></el-input
+      ></el-col>
       <el-col :span="2">元/亩</el-col>
     </el-row>
     <el-row justify="center" type="flex">
       <el-button type="primary" @click="save()">保存</el-button>
-      <el-button type="primary" @click="saveAs()">另存为</el-button>
+      <el-button type="primary" @click="saveAs('ruleForm')">另存为</el-button>
       <el-button type="primary" @click="reset()">重置</el-button>
       <el-button type="primary" @click="delBZ()">删除</el-button>
     </el-row>
-    <el-dialog title="标准名称设置" :modal="false" :visible.sync="dialogFormVisible" append-to-body="true" width="20rem">
+    <el-dialog
+      title="标准名称设置"
+      :modal="false"
+      :visible.sync="dialogFormVisible"
+      append-to-body="true"
+      width="20rem"
+    >
       <el-form :model="ruleForm" :rules="rules" ref="ruleForm">
         <el-form-item label="名称" prop="name">
           <el-input v-model="ruleForm.name"></el-input>
@@ -74,14 +140,20 @@
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button @click="dialogFormVisible = false">取消</el-button>
-        <el-button type="primary" @click="submitForm('ruleForm')">确 定</el-button>
+        <el-button type="primary" @click="submitForm('ruleForm')"
+          >确 定</el-button
+        >
       </div>
     </el-dialog>
   </div>
 </template>
 <script>
 import {
-  getZdBcbzList, updateZdBcbz, addZdBcbz, getZdBcbzById, delZdBcbz
+  getZdBcbzList,
+  updateZdBcbz,
+  addZdBcbz,
+  getZdBcbzById,
+  delZdBcbz,
 } from "@/api/zt/ztApi.js";
 export default {
   props: {
@@ -95,7 +167,6 @@ export default {
   },
   name: "ZDShowInfo",
   data() {
-
     return {
       dialogFormVisible: false,
       ruleForm: {
@@ -149,7 +220,6 @@ export default {
          * 补偿合计
          */
         bchj: 0,
-
       },
     };
   },
@@ -183,20 +253,21 @@ export default {
 
       var that = this;
       if (that.bcbz == null || that.bcbz == "") {
-        that.$message.warning("请选择标准")
+        that.$message.warning("请选择标准");
         return;
       }
       that.zdValue = that.bcbz;
       if (window.isUseDB) {
-        getZdBcbzById(that.bcbz).then((response) => {
-          if (response) {
-            that.curBCBZ = response.data
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
+        getZdBcbzById(that.bcbz)
+          .then((response) => {
+            if (response) {
+              that.curBCBZ = response.data;
+            }
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.ZDBCList));
         if (that.bcbzList.length > 0) {
           that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
@@ -206,52 +277,51 @@ export default {
     getInitData() {
       var that = this;
       that.bcbz = that.zdValue;
-      if (window.isUseDB) {//数据库
-        getZdBcbzList().then((response) => {
-          that.bcbzList = response.rows;
-          if (that.bcbz != null && that.bcbz != "") {
-            that.curBCBZ = that.bcbzList.find(t => t.id == that.bcbz);
-          }
-          else {
-            if (that.bcbzList.length> 0) {
-              that.curBCBZ = that.bcbzList[0]
-              that.bcbz = that.curBCBZ.id
-              that.zdValue = that.bcbz
+      if (window.isUseDB) {
+        //数据库
+        getZdBcbzList()
+          .then((response) => {
+            that.bcbzList = response.rows;
+            if (that.bcbz != null && that.bcbz != "") {
+              that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
+            } else {
+              if (that.bcbzList.length > 0) {
+                that.curBCBZ = that.bcbzList[0];
+                that.bcbz = that.curBCBZ.id;
+                that.zdValue = that.bcbz;
+              }
             }
-          }
-        }).catch((err) => {
-          console.log(err)
-        })
-      }
-      else {
-        that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.ZDBCList))
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
+        that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.ZDBCList));
         if (that.bcbz != null && that.bcbz != "") {
-          that.curBCBZ = that.bcbzList.find(t => t.id == that.bcbz);
-        }
-        else {
+          that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
+        } else {
           if (that.bcbzList.length > 0) {
             that.curBCBZ = that.bcbzList[0];
-            that.bcbz = that.curBCBZ.id
-            that.zdValue = that.bcbz
+            that.bcbz = that.curBCBZ.id;
+            that.zdValue = that.bcbz;
           }
         }
       }
-
     },
     /**
      * 选择标准改变
      */
     changeZDBZ() {
       if (this.curBCBZ.tdcz < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       if (this.curBCBZ.tdbcbs < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       if (this.curBCBZ.azbcbs < 0) {
-        this.$message.warning("输入数值不能小于0")
+        this.$message.warning("输入数值不能小于0");
         return false;
       }
       this.curBCBZ.tdbcf =
@@ -277,32 +347,30 @@ export default {
         that.$layer.alert("请选择补偿标准");
         return;
       }
-      if (!that.changeZDBZ())
-        return;
+      if (!that.changeZDBZ()) return;
       debugger;
       if (window.isUseDB) {
-        var Model =
-        {
-          "id": that.curBCBZ.id,
-          "name": that.curBCBZ.name,
-          "tdcz": that.curBCBZ.tdcz,
-          "tdbcbs": that.curBCBZ.tdbcbs,
-          "tdbcf": that.curBCBZ.tdbcf,
-          "azbcbs": that.curBCBZ.azbcbs,
-          "azbcf": that.curBCBZ.azbcf,
-          "bchj": that.curBCBZ.bchj
+        var Model = {
+          id: that.curBCBZ.id,
+          name: that.curBCBZ.name,
+          tdcz: that.curBCBZ.tdcz,
+          tdbcbs: that.curBCBZ.tdbcbs,
+          tdbcf: that.curBCBZ.tdbcf,
+          azbcbs: that.curBCBZ.azbcbs,
+          azbcf: that.curBCBZ.azbcf,
+          bchj: that.curBCBZ.bchj,
         };
-        updateZdBcbz(Model).then((response) => {
-          if (response && response.code == 200) {
-            that.$layer.alert("保存完成");
-            that.getInitData();
-          }
-
-        }).catch((err) => {
-          console.log(err)
-        });
-      }
-      else {
+        updateZdBcbz(Model)
+          .then((response) => {
+            if (response && response.code == 200) {
+              that.$layer.alert("保存完成");
+              that.getInitData();
+            }
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         var index = window.ZSBC.ZDBCList.findIndex((t) => t.value == that.bcbz);
         if (index > -1) {
           window.ZSBC.ZDBCList[index] = that.curBCBZ;
@@ -313,15 +381,17 @@ export default {
     /***
      * 另存为
      */
-    saveAs() {
-      if (!this.changeZDBZ())
-        return
+    saveAs(formName) {
+      if (!this.changeZDBZ()) return;
+
       this.dialogFormVisible = true;
+      this.$nextTick(function () {
+        this.$refs[formName].resetFields();
+      });
     },
     submitForm(formName) {
       var that = this;
-      if (!that.changeZDBZ())
-        return false;
+      if (!that.changeZDBZ()) return false;
       else {
         that.$refs[formName].validate((valid) => {
           if (valid) {
@@ -334,7 +404,6 @@ export default {
             return false;
           }
         });
-
       }
     },
     /**
@@ -344,72 +413,73 @@ export default {
       debugger;
       var date = new Date();
       var val = date.getTime().toString();
-      var that = this
-      var newBCBZ =
-      {
-        "azbcbs": that.curBCBZ.azbcbs,
-        "azbcf": that.curBCBZ.azbcf,
-        "bchj": that.curBCBZ.bchj,
-        "id": val,
-        "name": that.ruleForm.name,
-        "tdcz": that.curBCBZ.tdcz,
-        "tdbcbs": that.curBCBZ.tdbcbs,
-        "tdbcf": that.curBCBZ.tdbcf,
+      var that = this;
+      var newBCBZ = {
+        azbcbs: that.curBCBZ.azbcbs,
+        azbcf: that.curBCBZ.azbcf,
+        bchj: that.curBCBZ.bchj,
+        id: val,
+        name: that.ruleForm.name,
+        tdcz: that.curBCBZ.tdcz,
+        tdbcbs: that.curBCBZ.tdbcbs,
+        tdbcf: that.curBCBZ.tdbcf,
       };
       if (window.isUseDB) {
-        addZdBcbz(newBCBZ).then((response) => {
-          if (response && response.code == 200) {
-            that.$layer.alert("保存完成");
-            that.getInitData();
-            that.lyoption.content.parent.initSetting();
-          }
-        }).catch((err) => {
-          console.log(err)
-        });
-      }
-      else {
+        addZdBcbz(newBCBZ)
+          .then((response) => {
+            if (response && response.code == 200) {
+              that.$layer.alert("保存完成");
+              that.getInitData();
+              that.lyoption.content.parent.initSetting();
+            }
+          })
+          .catch((err) => {
+            console.log(err);
+          });
+      } else {
         window.ZSBC.ZDBCList.push(newBCBZ);
         that.bcbzList = JSON.parse(JSON.stringify(window.ZSBC.ZDBCList));
         that.bcbz = val;
-        that.curBCBZ = that.bcbzList.find(t => t.id == that.bcbz);
+        that.curBCBZ = that.bcbzList.find((t) => t.id == that.bcbz);
         that.$layer.alert("保存完成");
       }
-
     },
     inputChange() {
       this.changeZDBZ();
     },
     delBZ() {
-    
       var that = this;
       if (that.zdValue == null || that.zdValue == "") {
         that.$layer.alert("请选择标准后再删除");
-        return
+        return;
       }
       var formId = that.$layer.confirm("确定要删除吗?", {}, function () {
         if (window.isUseDB) {
-          delZdBcbz([that.zdValue]).then((res) => {
-            if (res) {
-              that.$layer.alert("数据已删除");
-              that.zdValue = null;
-              that.bcbz = that.zdValue;
-              that.getInitData();
-              that.lyoption.content.parent.initSetting();
-            }
-          }).catch((err) => {
-            console.log(err)
-          })
-        }
-        else {
-          var index = window.ZSBC.ZDBCList.findIndex(t => t.id == that.zdValue);
+          delZdBcbz([that.zdValue])
+            .then((res) => {
+              if (res) {
+                that.$layer.alert("数据已删除");
+                that.zdValue = null;
+                that.bcbz = that.zdValue;
+                that.getInitData();
+                that.lyoption.content.parent.initSetting();
+              }
+            })
+            .catch((err) => {
+              console.log(err);
+            });
+        } else {
+          var index = window.ZSBC.ZDBCList.findIndex(
+            (t) => t.id == that.zdValue
+          );
           if (index > -1) {
             window.ZSBC.ZDBCList.splice(index, 1);
             that.getInitData();
           }
         }
-        that.$layer.close(formId)
+        that.$layer.close(formId);
       });
-    }
+    },
   },
 };
 </script>
@@ -426,7 +496,7 @@ export default {
   font-weight: 400;
 }
 
-.el-input>>>.el-input__inner {
+.el-input >>> .el-input__inner {
   text-align: right !important;
 }
 

+ 8 - 2
src/views/ConstructionApplication3D/billboard/billboardChekInfo.vue

@@ -79,6 +79,7 @@ export default {
       ReviewComments: "",
       messageNum: 0,
       layerDataList: [],
+      layerids: [],
     };
   },
   props: {
@@ -559,6 +560,7 @@ export default {
                             ps.push(element.y);
                           }
                           var id = uuidv4();
+                          that.layerids.push(id);
                           //添加建筑退线线
                           viewer.entities.add({
                             id: "JZTX_" + id,
@@ -662,7 +664,8 @@ export default {
                           var po = buffered.geometry.coordinates[0].flat();
                           debugger;
                           var id = uuidv4();
-                          //添加建筑退线线
+                          that.layerids.push(id);
+                          //添加道路面
                           viewer.entities.add({
                             id: "DLM_" + id,
                             polygon: {
@@ -856,7 +859,10 @@ export default {
     },
   },
   beforeDestroy() {
-    // viewer.entities.removeAll();
+    this.layerids.forEach((id) => {
+      viewer.entities.removeById("JZTX_" + id);
+      viewer.entities.removeById("DLM_" + id);
+    });
   },
 };
 </script>

+ 13 - 7
src/views/ConstructionApplication3D/billboard/billboardDesign.vue

@@ -177,8 +177,8 @@ export default {
 
     // 新增项目
     addProjectInfo() {
-      if (this.addlLayerId != null) this.$layer.close(this.addlLayerId);
-      this.addlLayerId = this.$layer.iframe({
+      this.$layer.iframe({
+        id: "addXM",
         content: {
           content: addbillboardProject, //传递的组件对象
           parent: this, //当前的vue对象
@@ -281,13 +281,13 @@ export default {
 
     async checkModel(item) {
       await this.locationModel(item, false);
-      if (this.checklLayerId != null) this.$layer.close(this.checklLayerId);
       var width = 400;
       var top = 250;
       var left = Math.floor(document.body.clientWidth - width / 2);
       var height = 400;
 
-      this.checklLayerId = this.$layer.iframe({
+      this.$layer.iframe({
+        id: "MXSCList",
         content: {
           content: billboardCheck, //传递的组件对象
           parent: this, //当前的vue对象
@@ -358,16 +358,16 @@ export default {
     importModel(project) {
       this.intoModel(project);
       // this.locationModel(project);
-      if (this.addlLayerId != null) this.$layer.close(this.addlLayerId);
       var width = 600;
       var top = 420;
       var left = Math.floor(document.body.clientWidth - width / 2 + 130);
       var height = 350;
-      this.addlLayerId = this.$layer.iframe({
+      this.$layer.iframe({
+        id: "addMX",
         content: {
           content: addBiillboardModel, //传递的组件对象
           parent: this, //当前的vue对象
-          data: { layerId: this.addlLayerId, projectId: project.id }, //props
+          data: { layerId: "addMX", projectId: project.id }, //props
         },
         offset: [left.toString(), top.toString()], //left top  左上角(left=430px/2;top=(800px+header高)/2)
         area: ["350px", "720px"],
@@ -1026,6 +1026,12 @@ export default {
     },
   },
   beforeDestroy() {
+    this.$layer.close("MXSCList");
+    this.$layer.close("addXM");
+    this.$layer.close("GGPMXXQ");
+    this.$layer.close("addMX");
+    this.$layer.close("billboarddetail");
+
     if (this.getEntitiesHandler) {
       this.getEntitiesHandler.removeInputAction(
         Cesium.ScreenSpaceEventType.LEFT_CLICK

+ 9 - 1
src/views/ConstructionApplication3D/projectManagement/projectManagement.vue

@@ -138,7 +138,7 @@
                         <el-row>
                           <el-col :span="24">
                             <el-checkbox
-                              @click.stop.native=""
+                              @click.stop.native="selectchekbox()"
                               v-model="itemModel.checked"
                               :key="'itemModelChecked' + itemModel.id"
                               >{{ itemModel.modelname }}</el-checkbox
@@ -1592,6 +1592,14 @@ export default {
         this.SelectConstructionModelHendle(Minfo);
       }
     },
+
+    //项目对比复选框选定
+    selectchekbox() {
+      //关闭事件
+      this.DestroyAll();
+      this.WaitingSelectionModel = null;
+    },
+
     //模型对比按钮
     ModelComparison(info) {
       let that = this;

+ 1 - 1
src/views/Idleland/components/list.vue

@@ -51,7 +51,7 @@
       </div>
       <div class="item">
         <p>土地面积(亩)</p>
-        <span>{{ table.area || 0 }} </span>
+        <span>{{ table.area.toFixed(2) || 0 }} </span>
       </div>
     </div>
     <tablePage

+ 45 - 17
src/views/ResourceShare/myApplication/components/addEdtModal.vue

@@ -18,14 +18,18 @@
           >
             <el-tab-pane label="申请记录" name="sqjl">
               <CustomDetails :model="formData" :config="detailInfos">
+                <template #attachment>
+                  <span>{{ formData.attachment }}</span>
+                  <i class="usable el-icon-tickets" @click="download"></i>
+                </template>
               </CustomDetails>
             </el-tab-pane>
             <el-tab-pane
               label="审核记录"
               name="shjl"
-              v-if="formData.type == 1 || formData.type == 2"
+              v-if="formData.state == 3 || formData.state == 4"
             >
-              <el-tabs
+              <!-- <el-tabs
                 type="border-card"
                 class="xz_box"
                 v-model="activetime"
@@ -34,15 +38,22 @@
                 <el-tab-pane
                   v-for="(il, i) in formData.list"
                   :key="i"
-                  :label="il.time"
-                  :name="il.time"
-                >
-                  <CustomDetails :model="il" :config="shjlInfos">
-                  </CustomDetails>
-                </el-tab-pane>
-              </el-tabs>
+                  :label="il.spTime"
+                  :name="il.spTime"
+                > -->
+              <CustomDetails :model="formData" :config="shjlInfos">
+                <template #jg>
+                  <span> {{ stateMap[formData.state].name }}</span>
+                </template>
+              </CustomDetails>
+              <!-- </el-tab-pane>
+              </el-tabs> -->
             </el-tab-pane>
-            <el-tab-pane label="撤回记录" name="chjl" v-if="formData.type == 3">
+            <el-tab-pane
+              label="撤回记录"
+              name="chjl"
+              v-if="formData.state == 2"
+            >
               <CustomDetails :model="formData" :config="chInfos">
               </CustomDetails>
             </el-tab-pane>
@@ -51,9 +62,9 @@
         <div v-else-if="modelType === 'withdraw'">
           <!-- :rules="rules" -->
           <el-form :model="ruleForm" ref="ruleForm" label-width="100px">
-            <el-form-item label="撤回原因:" prop="xmmc">
+            <el-form-item label="撤回原因:" prop="sqRevokeReason">
               <el-input
-                v-model="ruleForm.xmmc"
+                v-model="ruleForm.sqRevokeReason"
                 :rows="5"
                 type="textarea"
                 placeholder="理由描述"
@@ -78,7 +89,8 @@
 
 <script>
 import CustomDetails from "@/components/mapView/custom-detailsInfo.vue";
-import { detailInfos, shjlInfos, chInfos } from "../config";
+import { detailInfos, shjlInfos, chInfos, stateMap } from "../config";
+import { revoke } from "@/api/shared.js";
 export default {
   components: {
     CustomDetails,
@@ -91,29 +103,45 @@ export default {
       chInfos: chInfos,
       modelType: "info",
       formData: {},
-      ruleForm: {},
+      ruleForm: { id: "", sqRevokeReason: "" },
       dialogVisible: false,
       activeTabs: "sqjl",
       activetime: "",
+      stateMap: stateMap,
     };
   },
   created() {},
   methods: {
+    download(obj) {
+      window.open(obj.fileUrl);
+    },
     // 关闭弹窗
     close() {
       this.dialogVisible = false;
       this.$emit("close");
     },
+    reset(id) {
+      this.ruleForm = {
+        id: id,
+        sqRevokeReason: "",
+      };
+    },
     Init(type, rowdata) {
       this.dialogVisible = true;
       this.activeTabs = "sqjl";
       this.modelType = type;
       this.formData = rowdata;
-      if (this.formData.list && this.formData.list.length)
-        this.activetime = this.formData.list[0].time;
+      this.reset(rowdata.id);
+      // this.formData.list = [rowdata];
+      // this.activetime = this.formData.list[0].spTime;
     },
     async submit() {
-      this.close();
+      revoke(this.ruleForm).then((res) => {
+        if (res.code == 200) {
+          this.$message.success("撤回成功!");
+          this.close();
+        }
+      });
     },
   },
 };

+ 47 - 27
src/views/ResourceShare/myApplication/config.js

@@ -1,3 +1,14 @@
+
+import { Getdict } from "@/api/shared.js";
+export async function Getservicetype() {
+  if (sessionStorage.getItem("servicetype")) {
+    return JSON.parse(sessionStorage.getItem("servicetype"))
+  } else {
+    const res = await Getdict({ pageNum: 1, pageSize: 10, dictType: 'servicetype' })
+    sessionStorage.setItem("servicetype", JSON.stringify(res.rows));
+    return res.rows
+  }
+}
 export const FormConfig = [
   [
     {
@@ -7,12 +18,12 @@ export const FormConfig = [
     },
     {
       label: '申请状态:',
-      prop: 'type',
+      prop: 'state',
       span: 5
     },
     {
       label: '数据服务名称:',
-      prop: 'carNo',
+      prop: 'zymlBy',
       span: 5,
       component: 'ElInput',
       componentProps: {
@@ -25,96 +36,105 @@ export const FormConfig = [
     }
   ]
 ]
+export const stateMap = [
+  { code: 0, name: "申请" },
+  { code: 1, name: "正在审核" },
+  { code: 2, name: "已撤回" },
+  { code: 3, name: "审批通过" },
+  { code: 4, name: "审批不通过" },
 
+]
 export const TableHeader = [
   // 序号
-  { label: "数据服务名称", prop: "JGMC" },
-  { label: "申请时间", prop: "XQNAME" },
-  { label: "申请状态", prop: "type", slot: "apptype" },
-  { label: "服务类型", prop: "PROPERTYNAME", slot: "type" },
-  { label: "服务地址", prop: "CARMASTER", slot: "url" },
-  { label: "截止有效期", prop: "PHONE", slot: "phone" },
-  { label: "操作", prop: "PHONE", slot: "action" },
+  { label: "数据服务名称", prop: "zymlBy" },
+  { label: "申请时间", prop: "sqTime" },
+  { label: "申请状态", prop: "state", slot: "state" },
+  { label: "服务类型", prop: "zymlTypeName", },
+  { label: "服务地址", prop: "ymlUrl", slot: "url" },
+  { label: "截止有效期", prop: "deadline", },
+  { label: "操作", slot: "action" },
 ]
+
+
 // 详情字段
 export const detailInfos = [
   [
     [
       { flag: 'label', value: '申请时间', span: 8 },
-      { flag: 'value', value: 'time', span: 16 }
+      { flag: 'value', value: 'sqTime', span: 16 }
     ],
     [
       { flag: 'label', value: '申请部门', span: 8 },
-      { flag: 'value', value: 'carTypeName', span: 16 }
+      { flag: 'value', value: 'sqDepartmentBy', span: 16 }
     ]
   ],
   [
     [
       { flag: 'label', value: '数据服务', span: 8 },
-      { flag: 'value', value: 'carColorName', span: 16 }
+      { flag: 'value', value: 'zymlBy', span: 16 }
     ],
     [
       { flag: 'label', value: '数据类型', span: 8 },
-      { flag: 'value', value: 'carBrand', span: 16 }
+      { flag: 'value', value: 'zymlTypeName', span: 16 }
     ]
   ],
   [
     [
-      { flag: 'label', value: ' 申请范围', span: 4 },
-      { flag: 'value', value: 'carPropertyName', span: 20 }
+      { flag: 'label', value: '申请范围', span: 4 },
+      { flag: 'value', value: 'sqFw', span: 20 }
     ],
   ],
   [[
     { flag: 'label', value: '申请理由', span: 4 },
-    { flag: 'value', value: 'carModel', span: 20 }
+    { flag: 'value', value: 'sqReason', span: 20 }
   ]],
   [[
     { flag: 'label', value: '系统名称', span: 4 },
-    { flag: 'value', value: 'vehicleNumber', unit: '人', span: 20 }
+    { flag: 'value', value: 'systemName', span: 20 }
   ]],
   [[
     { flag: 'label', value: '调用IP', span: 4 },
-    { flag: 'value', value: 'owner', span: 20 }
+    { flag: 'value', value: 'callIp', span: 20 }
   ]],
   [[
     { flag: 'label', value: '预期使用时间', span: 4 },
-    { flag: 'value', value: 'ownerPhone', span: 20 }
+    { flag: 'value', value: 'sqDeadline', span: 20 }
   ]],
   [[
     { flag: 'label', value: '附件', span: 4 },
-    { flag: 'value', value: 'companyImage', span: 20, isslot: true }
+    { flag: 'value', value: 'attachment', span: 20, isslot: true }
   ]]
 ]
 export const shjlInfos = [
   [[
     { flag: 'label', value: '审核结果', span: 4 },
-    { flag: 'value', value: 'jg', span: 20 }
+    { flag: 'value', value: 'jg', span: 20, isslot: true }
   ]],
   [[
     { flag: 'label', value: '审核意见', span: 4 },
-    { flag: 'value', value: 'carTypeName', span: 20 }
+    { flag: 'value', value: 'spReason', span: 20 }
   ]],
   [[
     { flag: 'label', value: '有效截止日期', span: 4 },
-    { flag: 'value', value: 'carColorName', span: 20 }
+    { flag: 'value', value: 'deadline', span: 20 }
   ]],
   [[
     { flag: 'label', value: '审核人', span: 4 },
-    { flag: 'value', value: 'carPropertyName', span: 20 }
+    { flag: 'value', value: 'sqUserBy', span: 20 }
   ]],
   [[
     { flag: 'label', value: '审核时间', span: 4 },
-    { flag: 'value', value: 'carModel', span: 20 }
+    { flag: 'value', value: 'spTime', span: 20 }
   ]],
 ]
 export const chInfos = [
   [[
     { flag: 'label', value: '撤回时间', span: 4 },
-    { flag: 'value', value: 'carNo', span: 20 }
+    { flag: 'value', value: 'sqRevokeTime', span: 20 }
   ]],
   [[
     { flag: 'label', value: '撤回原因', span: 4 },
-    { flag: 'value', value: 'carTypeName', span: 20 }
+    { flag: 'value', value: 'sqRevokeReason', span: 20 }
   ]],
 ]
 

+ 53 - 53
src/views/ResourceShare/myApplication/index.vue

@@ -16,8 +16,8 @@
           >
           </el-date-picker>
         </template>
-        <template #type>
-          <el-select v-model="model.placeCode" placeholder="申请状态">
+        <template #state>
+          <el-select v-model="model.state" placeholder="申请状态" clearable>
             <el-option
               v-for="item in optionList"
               :key="item.code"
@@ -43,18 +43,22 @@
         ref="tableDialogRef"
         @currentChange="searchFun"
       >
-        <template #apptype="{ row }">
-          <div :class="`type${row.type}`">{{ row.typeN }}</div>
+        <template #state="{ row }">
+          <div :class="`state${row.state}`">
+            {{ optionList[row.state].name }}
+          </div>
         </template>
         <template #url="{ row }">
-          <div v-if="row.url" @click="copyText(row.url)">
-            {{ row.url }}
+          <div v-if="row.zymlUrl" @click="copyText(row.zymlUrl)">
+            {{ row.zymlUrl }}
             <i class="el-icon-document-copy usable"></i>
           </div>
         </template>
         <template #action="{ row }">
           <span class="usable" @click="detail(row)">详情</span>
-          <span :class="{ usable: row.type == 0 }" @click="reset(row)"
+          <span
+            :class="row.state == 1 ? 'usable' : 'disable'"
+            @click="revoke(row)"
             >撤回</span
           >
         </template>
@@ -69,7 +73,8 @@ import Clipboard from "clipboard";
 import tablePage from "@/components/mapView/tablePage.vue";
 import customForm from "@/components/mapView/custom-form.vue";
 import addEdt from "./components/addEdtModal.vue";
-import { FormConfig, TableHeader } from "./config";
+import { stateMap, FormConfig, TableHeader } from "./config";
+import { GetApplicationlist } from "@/api/shared.js";
 export default {
   components: {
     tablePage,
@@ -80,63 +85,54 @@ export default {
   data() {
     return {
       model: {
-        carNo: "", //网格名称
-        regionCode: "", //地区编码
-        placeCode: "", //所属小区
+        zymlBy: "",
+        state: "",
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        pageNum: 1,
+        pageSize: 10,
       },
       formConfig: FormConfig,
       cloumn: TableHeader,
-      table: {
-        data: [
-          { JGMC: "ssmdmm", type: 0, typeN: "正在审核" },
-          {
-            JGMC: "ssmdmm",
-            type: 1,
-            time: "2024/9/3",
-            typeN: "审核通过",
-            url: "snsd",
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          {
-            JGMC: "ssmdmm",
-            type: 2,
-            typeN: "审核不通过",
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          { JGMC: "ssmdmm", type: 3, typeN: "已撤回" },
-        ],
-        total: 0,
-      },
+      optionList: stateMap,
+      table: { data: [], total: 0 },
     };
   },
   methods: {
     searchFun(page) {
-      this.getTableData({ pageNo: page.pageIndex, pageSize: page.size });
+      this.getTableData(page);
+    },
+    async getTableData(page = { pageIndex: 1, size: 10 }) {
+      this.model.pageNum = page.pageIndex;
+      this.model.pageSize = page.size;
+      this.model.startTime = this.model.sj[0];
+      this.model.endTime = this.model.sj[1];
+      let data = await GetApplicationlist(this.model);
+      // this.active_dableData = data.data;
+      this.table = {
+        data: data.rows,
+        total: data.total,
+      };
     },
-    async getTableData(params) {
-      let obj = {
-        jscType: store.state.cockpit_vector.tablejscType,
-        beginTime: store.state.cockpit_date[0],
-        endTime: store.state.cockpit_date[1],
-        id: store.state.cockpit_region.id,
-        ...params,
+    reset() {
+      this.model = {
+        zymlBy: "",
+        state: "",
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        pageNum: 1,
+        pageSize: 10,
       };
-      let data = await QueryList(obj);
-      this.active_dableData = data.data;
-      this.tab.data = data.data;
+      this.searchFun();
     },
     // 详情
     detail(row) {
       this.$refs.addEdtModal.Init("info", row);
     },
-    reset(row) {
-      if (row.type == 0) this.$refs.addEdtModal.Init("withdraw", row);
+    revoke(row) {
+      if (row.state == 1) this.$refs.addEdtModal.Init("withdraw", row);
     },
     copyText(text) {
       this.$copyText(text).then(
@@ -148,11 +144,15 @@ export default {
         }
       );
     },
-    closeMdel() {},
+    closeMdel() {
+      this.searchFun();
+    },
   },
   computed: {},
   watch: {},
-  mounted() {},
+  mounted() {
+    this.searchFun({ pageIndex: 1, size: 10 });
+  },
 };
 </script>
 <style lang="scss" scoped>

+ 51 - 26
src/views/ResourceShare/myReview/components/reviewModal.vue

@@ -19,20 +19,20 @@
             <el-tab-pane label="审核" name="sh">
               <div>
                 <div class="create" @click="generate">生成并查看服务</div>
-                服务地址:{{ formData.url }}
+                服务地址:{{ formData.ymlUrl }}
               </div>
               <el-form :model="ruleForm" ref="ruleForm" label-width="100px">
-                <el-form-item label="审核结论:" prop="shjl">
-                  <el-radio v-model="ruleForm.shjl" label="1">
+                <el-form-item label="审核结论:" prop="state">
+                  <el-radio v-model="ruleForm.state" label="3">
                     申请通过
                   </el-radio>
-                  <el-radio v-model="ruleForm.shjl" label="2">
+                  <el-radio v-model="ruleForm.state" label="4">
                     申请不通过
                   </el-radio>
                 </el-form-item>
-                <el-form-item label="使用截止日期:" prop="jzrq">
+                <el-form-item label="使用截止日期:" prop="deadline">
                   <el-date-picker
-                    v-model="ruleForm.jzrq"
+                    v-model="ruleForm.deadline"
                     type="date"
                     value-format="yyyy-MM-dd"
                     placeholder="选择日期"
@@ -40,9 +40,9 @@
                   </el-date-picker>
                   (默认一年)
                 </el-form-item>
-                <el-form-item label="审核意见:" prop="xmmc">
+                <el-form-item label="审核意见:" prop="spReason">
                   <el-input
-                    v-model="ruleForm.xmmc"
+                    v-model="ruleForm.spReason"
                     :rows="5"
                     type="textarea"
                     placeholder="描述"
@@ -50,20 +50,20 @@
                 </el-form-item>
                 <el-row :gutter="20" class="elrow">
                   <el-col :span="12">
-                    <el-form-item label="审核时间" prop="shsj">
+                    <el-form-item label="审核时间" prop="spTime">
                       <el-date-picker
-                        v-model="ruleForm.shsj"
-                        type="date"
-                        value-format="yyyy-MM-dd"
+                        v-model="ruleForm.spTime"
+                        type="datetime"
+                        value-format="YYYY-MM-DD HH:mm:ss"
                         placeholder="自动读取"
                       >
                       </el-date-picker>
                     </el-form-item>
                   </el-col>
                   <el-col :span="12">
-                    <el-form-item label="审核人" prop="shr">
+                    <el-form-item label="审核人" prop="spUserBy">
                       <el-input
-                        v-model="ruleForm.shr"
+                        v-model="ruleForm.spUserBy"
                         placeholder="自动读取"
                       ></el-input>
                     </el-form-item>
@@ -71,7 +71,7 @@
                 </el-row>
               </el-form>
             </el-tab-pane>
-            <el-tab-pane label="审核记录" name="shjl">
+            <!-- <el-tab-pane label="审核记录" name="state">
               <el-tabs
                 type="border-card"
                 class="xz_box"
@@ -88,12 +88,12 @@
                   </CustomDetails>
                 </el-tab-pane>
               </el-tabs>
-            </el-tab-pane>
+            </el-tab-pane> -->
           </el-tabs>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="close">关闭</el-button>
+        <el-button @click="close">关闭</el-button>
         <el-button type="primary" @click="submit">确 定</el-button>
       </span>
     </el-dialog>
@@ -103,6 +103,7 @@
 <script>
 import CustomDetails from "@/components/mapView/custom-detailsInfo.vue";
 import { shjlInfos } from "../../myApplication/config";
+import { examine } from "@/api/shared.js";
 import moment from "moment";
 export default {
   components: {
@@ -115,7 +116,14 @@ export default {
 
       modelType: "info",
       formData: {},
-      ruleForm: {},
+      ruleForm: {
+        id: "",
+        state: "",
+        deadline: "",
+        spReason: "",
+        spTime: "",
+        spUserBy: "",
+      },
       dialogVisible: false,
       activeTabs: "sh",
       activetime: "",
@@ -128,21 +136,38 @@ export default {
       this.dialogVisible = false;
       this.$emit("close");
     },
+    reset(id) {
+      var dateTime = new Date().getFullYear();
+      this.ruleForm = {
+        id: id,
+        state: "",
+        deadline: moment(new Date(new Date().setFullYear(dateTime + 1))).format(
+          "YYYY-MM-DD"
+        ),
+        spReason: "",
+        spTime: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"),
+        spUserBy: "admin",
+      };
+    },
     Init(type, rowdata) {
       this.dialogVisible = true;
       this.activeTabs = "sh";
       // this.modelType = type;
       this.formData = rowdata;
-      if (this.formData.list && this.formData.list.length)
-        this.activetime = this.formData.list[0].time;
-      var dateTime = new Date().getFullYear();
-      this.ruleForm.jzrq = moment(
-        new Date(new Date().setFullYear(dateTime + 1))
-      ).format("YYYY-MM-DD");
+      this.reset(rowdata.id);
+      // this.formData.list = [rowdata];
+      // this.activetime = this.formData.list[0].spTime;
+    },
+    generate() {
+      window.open(this.formData.ymlUrl);
     },
-    generate() {},
     async submit() {
-      this.close();
+      examine(this.ruleForm).then((res) => {
+        if (res.code == 200) {
+          this.$message.success("审核成功!");
+          this.close();
+        }
+      });
     },
   },
 };

+ 55 - 56
src/views/ResourceShare/myReview/index.vue

@@ -16,8 +16,8 @@
           >
           </el-date-picker>
         </template>
-        <template #type>
-          <el-select v-model="model.placeCode" placeholder="申请状态">
+        <template #state>
+          <el-select v-model="model.state" placeholder="申请状态" clearable>
             <el-option
               v-for="item in optionList"
               :key="item.code"
@@ -43,18 +43,22 @@
         ref="tableDialogRef"
         @currentChange="searchFun"
       >
-        <template #apptype="{ row }">
-          <div :class="`type${row.type}`">{{ row.typeN }}</div>
+        <template #state="{ row }">
+          <div :class="`state${row.state}`">
+            {{ optionList[row.state].name }}
+          </div>
         </template>
         <template #url="{ row }">
-          <div v-if="row.url" @click="copyText(row.url)">
-            {{ row.url }}
+          <div v-if="row.zymlUrl" @click="copyText(row.zymlUrl)">
+            {{ row.zymlUrl }}
             <i class="el-icon-document-copy usable"></i>
           </div>
         </template>
         <template #action="{ row }">
-          <span class="usable" @click="detail(row)">申请详情</span>
-          <span :class="{ usable: row.type == 3 }" @click="review(row)"
+          <span class="usable" @click="detail(row)">详情</span>
+          <span
+            :class="row.state == 0 || row.state == 1 ? 'usable' : 'disable'"
+            @click="review(row)"
             >审核</span
           >
         </template>
@@ -66,12 +70,13 @@
 </template>
 
 <script>
-// import Clipboard from "clipboard";
+import Clipboard from "clipboard";
 import tablePage from "@/components/mapView/tablePage.vue";
 import customForm from "@/components/mapView/custom-form.vue";
 import addEdt from "../myApplication/components/addEdtModal.vue";
 import review from "./components/reviewModal";
-import { FormConfig, TableHeader } from "../myApplication/config";
+import { stateMap, FormConfig, TableHeader } from "../myApplication/config";
+import { Getexaminelist } from "@/api/shared.js";
 export default {
   components: {
     tablePage,
@@ -83,65 +88,55 @@ export default {
   data() {
     return {
       model: {
-        carNo: "", //网格名称
-        regionCode: "", //地区编码
-        placeCode: "", //所属小区
+        zymlBy: "",
+        state: "",
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        pageNum: 1,
+        pageSize: 10,
       },
       formConfig: FormConfig,
-      tableData: null,
-      details: {},
       cloumn: TableHeader,
-      table: {
-        data: [
-          { JGMC: "ssmdmm", type: 0, typeN: "正在审核" },
-          {
-            JGMC: "ssmdmm",
-            type: 1,
-            time: "2024/9/3",
-            typeN: "审核通过",
-            url: "snsd",
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          {
-            JGMC: "ssmdmm",
-            type: 2,
-            typeN: "审核不通过",
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          { JGMC: "ssmdmm", type: 3, typeN: "已撤回" },
-        ],
-        total: 0,
-      },
+      optionList: stateMap,
+      table: { data: [], total: 0 },
     };
   },
   methods: {
     searchFun(page) {
-      this.getTableData({ pageNo: page.pageIndex, pageSize: page.size });
+      this.getTableData(page);
+    },
+    async getTableData(page = { pageIndex: 1, size: 10 }) {
+      this.model.pageNum = page.pageIndex;
+      this.model.pageSize = page.size;
+      this.model.startTime = this.model.sj[0];
+      this.model.endTime = this.model.sj[1];
+      let data = await Getexaminelist(this.model);
+      // this.active_dableData = data.data;
+      this.table = {
+        data: data.rows,
+        total: data.total,
+      };
     },
-    async getTableData(params) {
-      let obj = {
-        jscType: store.state.cockpit_vector.tablejscType,
-        beginTime: store.state.cockpit_date[0],
-        endTime: store.state.cockpit_date[1],
-        id: store.state.cockpit_region.id,
-        ...params,
+    reset() {
+      this.model = {
+        zymlBy: "",
+        state: "",
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        pageNum: 1,
+        pageSize: 10,
       };
-      let data = await QueryList(obj);
-      this.active_dableData = data.data;
-      this.tableData = data.data;
+      this.searchFun();
     },
     // 详情
     detail(row) {
       this.$refs.addEdtModal.Init("info", row);
     },
     review(row) {
-      if (row.type == 3) this.$refs.reviewModal.Init("review", row);
+      if (row.state == 0 || row.state == 1)
+        this.$refs.reviewModal.Init("reviewModal", row);
     },
     copyText(text) {
       this.$copyText(text).then(
@@ -153,11 +148,15 @@ export default {
         }
       );
     },
-    closeMdel() {},
+    closeMdel() {
+      this.searchFun();
+    },
   },
   computed: {},
   watch: {},
-  mounted() {},
+  mounted() {
+    this.searchFun();
+  },
 };
 </script>
 <style lang="scss" scoped>

+ 7 - 4
src/views/ResourceShare/resource.scss

@@ -18,19 +18,22 @@
     .tablePage {
       margin-top: 20px;
       height: calc(100% - 100px);
-      .type0,
-      .type3 {
+      .state1,
+      .state2 {
         color: #e6a23c;
       }
-      .type1 {
+      .state3 {
         color: #67c23a;
       }
-      .type2 {
+      .state4 {
         color: #f56c6c;
       }
       .usable {
         color: #3f93f5;
         cursor: pointer;
       }
+      .disable{
+        color: #a2a1a1;
+      }
     }
   }

+ 32 - 7
src/views/ResourceShare/sharedLocation/components/fieldSetModal.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="dialog">
     <el-dialog
-      :title="formData.JGMC"
+      :title="formData.name"
       width="40%"
       :visible.sync="dialogVisible"
       :before-close="close"
@@ -18,12 +18,19 @@
           <el-table-column label="序号" width="70px">
             <template slot-scope="scope">{{ scope.$index + 1 }}</template>
           </el-table-column>
-          <el-table-column prop="label" label="字段名"> </el-table-column>
-          <el-table-column prop="name" label="中文名" show-overflow-tooltip>
+          <el-table-column prop="filedName" label="字段名"> </el-table-column>
+          <el-table-column
+            prop="filedNameZh"
+            label="中文名"
+            show-overflow-tooltip
+          >
           </el-table-column>
           <el-table-column label="是否可共享" width="150">
-            <template #default="{ row }">
-              <el-checkbox v-model="row.checked" @change="changeShare(row)">
+            <template #default="{ row, $index }">
+              <el-checkbox
+                v-model="row.checked"
+                @change="changeShare(row, $index)"
+              >
                 可共享
               </el-checkbox>
             </template></el-table-column
@@ -32,13 +39,14 @@
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submit">保存</el-button>
-        <el-button type="primary" @click="close">关闭</el-button>
+        <el-button @click="close">关闭</el-button>
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
+import { Getfiledslist, fileds } from "@/api/shared.js";
 export default {
   components: {},
   props: {},
@@ -59,9 +67,26 @@ export default {
     Init(rowdata) {
       this.formData = rowdata;
       this.dialogVisible = true;
+      this.getfieldList(rowdata.bsm);
+    },
+    async getfieldList(id) {
+      this.fieldList = [];
+      let res = await Getfiledslist({ id });
+      // this.fieldList = res.data;
+      res.data.forEach((field) => {
+        this.fieldList.push({ ...field, checked: field.shareDisplay == 0 });
+      });
+    },
+    changeShare(row, index) {
+      this.fieldList[index].shareDisplay = row.checked ? 0 : 1;
     },
     async submit() {
-      this.close();
+      fileds(this.fieldList).then((res) => {
+        if ((res.code = 200)) {
+          this.$message.success("共享字段设置成功!");
+          this.close();
+        }
+      });
     },
   },
 };

+ 16 - 14
src/views/ResourceShare/sharedLocation/config.js

@@ -1,10 +1,10 @@
 export const FormConfig = [
   [
-    {
-      label: '注册时间:',
-      prop: 'time',
-      span: 6
-    },
+    // {
+    //   label: '服务器类型',
+    //   prop: 'time',
+    //   span: 6
+    // },
     {
       label: '服务类型:',
       prop: 'type',
@@ -12,29 +12,31 @@ export const FormConfig = [
     },
     {
       label: '数据服务名称:',
-      prop: 'carNo',
+      prop: 'name',
       span: 5,
       component: 'ElInput',
       componentProps: {
         placeholder: '数据服务名称'
       }
     },
+    {
+      span: 2
+    },
     {
       prop: 'action',
       span: 5
     }
   ]
 ]
-
 export const TableHeader = [
   // 序号
-  { label: "数据服务名称", prop: "JGMC" },
-  { label: "服务类型", prop: "XQNAME" },
-  { label: "注册时间", prop: "time" },
-  { label: "服务地址", prop: "url" },
-  { label: "数据范围", prop: "PHONE", },
-  { label: "共享状态", prop: "PROPERTYNAME", slot: "type" },
-  { label: "操作", prop: "PHONE", slot: "action" },
+  { label: "数据服务名称", prop: "name" },
+  { label: "服务类型", prop: "type", slot: "type" },
+  { label: "注册时间", prop: "createTime" },
+  { label: "服务地址", prop: "url", width: 500 },
+  // { label: "数据范围", prop: "PHONE", },
+  { label: "共享状态", prop: "PROPERTYNAME", slot: "shared" },
+  { label: "操作", slot: "action" },
 ]
 // 详情字段
 export const detailInfos = [

+ 80 - 72
src/views/ResourceShare/sharedLocation/index.vue

@@ -1,28 +1,14 @@
 <template>
-  <div class="ghzc ResourceShare">
+  <div class="ghzc ResourceShare sharedLocation">
     <div class="innerContainer" v-drag>
       <custom-form ref="formRef" :model="model" :config="formConfig">
-        <template #time>
-          <el-date-picker
-            v-model="model.sj"
-            type="daterange"
-            value-format="yyyy-MM-dd"
-            range-separator="~"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期"
-            class="datepicker"
-            size="mini"
-            @change="changedate"
-          >
-          </el-date-picker>
-        </template>
         <template #type>
-          <el-select v-model="model.placeCode" placeholder="申请状态">
+          <el-select v-model="model.type" placeholder="申请状态">
             <el-option
-              v-for="item in optionList"
-              :key="item.code"
-              :label="item.name"
-              :value="item.code"
+              v-for="item in servicetype"
+              :key="item.dictValue"
+              :label="item.dictLabel"
+              :value="item.dictValue"
             >
             </el-option>
           </el-select>
@@ -40,19 +26,28 @@
         class="tablePage"
         :cloumn="cloumn"
         :table="table"
+        :indexed="false"
+        :showTotal="false"
         ref="tableDialogRef"
         @currentChange="searchFun"
+        :treeProps="{ children: 'children', hasChildren: 'hasChildren' }"
       >
-        <template #apptype="{ row }">
-          <div :class="`type${row.type}`">{{ row.typeN }}</div>
-        </template>
         <template #type="{ row }">
-          <el-checkbox v-model="row.checked" @change="changeShare(row)">
+          {{ sertypeMap[row.type] || "-" }}
+        </template>
+        <template #shared="{ row }">
+          <el-checkbox
+            v-if="row.url"
+            v-model="row.checked"
+            @change="changeShare(row)"
+          >
             共享
           </el-checkbox>
         </template>
         <template #action="{ row }">
-          <span class="usable" @click="fieldset(row)">共享字段设置</span>
+          <span class="usable" v-if="row.url" @click="fieldset(row)"
+            >共享字段设置</span
+          >
         </template>
       </tablePage>
     </div>
@@ -66,6 +61,9 @@ import tablePage from "@/components/mapView/tablePage.vue";
 import customForm from "@/components/mapView/custom-form.vue";
 import fieldSet from "./components/fieldSetModal.vue";
 import { FormConfig, TableHeader } from "./config";
+import { listZyml, shareZyml } from "@/api/shared.js";
+import { handleTree } from "@/utils/ruoyi.js";
+import { Getservicetype } from "../myApplication/config";
 export default {
   components: {
     tablePage,
@@ -76,70 +74,74 @@ export default {
   data() {
     return {
       model: {
-        carNo: "", //网格名称
-        regionCode: "", //地区编码
-        placeCode: "", //所属小区
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        type: "",
+        state: null,
+        year: null,
       },
       formConfig: FormConfig,
-      tableData: null,
-      details: {},
       cloumn: TableHeader,
-      table: {
-        data: [
-          { JGMC: "ssmdmm", type: 0, typeN: "正在审核", checked: false },
-          {
-            JGMC: "ssmdmm",
-            type: 1,
-            time: "2024/9/3",
-            typeN: "审核通过",
-            url: "snsd",
-            checked: true,
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          {
-            JGMC: "ssmdmm",
-            type: 2,
-            typeN: "审核不通过",
-            list: [
-              { time: "2024/9/3", jg: "申请通过" },
-              { time: "2024/8/13", jg: "申请通过" },
-            ],
-          },
-          { JGMC: "ssmdmm", type: 3, typeN: "已撤回" },
-        ],
-        total: 0,
-      },
+      servicetype: [],
+      sertypeMap: {},
+      table: { data: [], total: 0 },
     };
   },
   methods: {
     searchFun(page) {
-      this.getTableData({ pageNo: page.pageIndex, pageSize: page.size });
+      this.getTableData(page);
     },
-    async getTableData(params) {
-      let obj = {
-        jscType: store.state.cockpit_vector.tablejscType,
-        beginTime: store.state.cockpit_date[0],
-        endTime: store.state.cockpit_date[1],
-        id: store.state.cockpit_region.id,
-        ...params,
+    /** 查询数据资源目录列表 */
+    async getTableData(page = { pageIndex: 1, size: 10 }) {
+      // this.model.pageNum = page.pageIndex;
+      // this.model.pageSize = page.size;
+      this.model.startTime = this.model.sj[0];
+      this.model.endTime = this.model.sj[1];
+      let res = await listZyml(this.model);
+
+      this.table = {
+        data: handleTree(res.data, "bsm", "pbsm"),
+        total: 0,
+      };
+    },
+    reset() {
+      this.model = {
+        startTime: "",
+        endTime: "",
+        sj: ["", ""],
+        type: "",
+        state: null,
+        year: null,
+        // pageNum: 1,
+        // pageSize: 10,
       };
-      let data = await QueryList(obj);
-      this.active_dableData = data.data;
-      this.tableData = data.data;
+      this.searchFun();
     },
     // 详情
     fieldset(row) {
       this.$refs.fieldSetModal.Init(row);
     },
-    changeShare(row) {},
-    closeMdel() {},
+    changeShare(row) {
+      shareZyml({ id: row.bsm }).then((res) => {
+        this.$message.success("共享状态切换成功!");
+        this.searchFun();
+      });
+    },
+    closeMdel() {
+      this.searchFun();
+    },
   },
   computed: {},
   watch: {},
-  mounted() {},
+  async mounted() {
+    this.servicetype = await Getservicetype();
+    this.servicetype.forEach((ty) => {
+      this.sertypeMap[ty.dictValue] = ty.dictLabel;
+    });
+    console.log("--s-s--s", this.sertypeMap);
+    this.searchFun();
+  },
 };
 </script>
 <style lang="scss" scoped>
@@ -150,4 +152,10 @@ export default {
 </style>
 <style lang="scss">
 @import "../../cockpit/datePicker.scss";
+.sharedLocation {
+  .el-table {
+    overflow-y: auto;
+    overflow-x: hidden;
+  }
+}
 </style>

+ 2 - 2
src/views/cockpit/common/VectorSpace/BoxCommonVector.vue

@@ -509,7 +509,7 @@ export default {
     //             val0: word,
 
     //         }
-    //         if (this.title == '土地供应完成项目' || this.title == '山水工程项目') {
+    //         if (this.title == '国有建设用地完成项目' || this.title == '山水工程项目') {
     //             gy_ju.beginTime = undefined
     //             gy_ju.endTime = undefined
     //         }
@@ -555,7 +555,7 @@ export default {
         id: store.state.cockpit_region.id,
         ...params,
       };
-      if (this.title == "土地供应完成项目" || this.title == "山水工程项目") {
+      if (this.title == "国有建设用地完成项目" || this.title == "山水工程项目") {
         obj.beginTime = undefined;
         obj.endTime = undefined;
       }

+ 2 - 2
src/views/cockpit/tdsy.vue

@@ -1086,14 +1086,14 @@ export default {
       // store.state.query_vector_input = !store.state.query_vector_input
       // if (flag) {
       //   store.setCockpit_vector({
-      //     title: "土地供应完成项目",
+      //     title: "国有建设用地完成项目",
       //     tableData: this.vector_data,
       //     columns:["项目名称","土地用途","出让面积(公顷)","土地使用权","土地座落","批准文号","批准机关"],
       //   })
       // }
 
       store.setCockpit_vector({
-        title: "土地供应完成项目",
+        title: "国有建设用地完成项目",
         tableData: this.vector_data,
         word: "项目名称",
         tablejscType: 'jsc_tdgy_gy_zbmx',

+ 193 - 35
src/views/shareResources/components/ServiceDetails.vue

@@ -18,12 +18,12 @@
               label="数据说明"
               content-class-name="my-content"
               :span="3"
-              >客观地说广东省帝黑XXXXXXXX</el-descriptions-item
+              >测试数据</el-descriptions-item
             >
             <el-descriptions-item label="数据所有者"
-              >XXXXX</el-descriptions-item
+              >管理员</el-descriptions-item
             >
-            <el-descriptions-item label="数据年份">XXXX</el-descriptions-item>
+            <el-descriptions-item label="数据年份">2024</el-descriptions-item>
             <el-descriptions-item label="服务类型">{{
               detailObj.type
             }}</el-descriptions-item>
@@ -31,9 +31,9 @@
               detailObj.serverType
             }}</el-descriptions-item>
             <el-descriptions-item label="服务发布时间"
-              >XXX</el-descriptions-item
+              >2024</el-descriptions-item
             >
-            <el-descriptions-item label="联系人">XXX</el-descriptions-item>
+            <el-descriptions-item label="联系人">张百仪</el-descriptions-item>
           </el-descriptions>
         </div>
         <div class="btnCon">
@@ -43,18 +43,20 @@
       </div>
     </div>
     <el-dialog
-      title="提示"
+      title="申请调用"
       :visible.sync="dialogVisible"
       width="30%"
       :before-close="handleClose"
       :close-on-click-modal="false"
+      :append-to-body="false"
+      :modal-append-to-body="false"
     >
-      <div>
+      <div class="diaoCon">
         <el-form
           :model="ruleForm"
           :rules="rules"
           ref="ruleForm"
-          label-width="100px"
+          label-width="110px"
           class="demo-ruleForm"
         >
           <el-form-item label-width="0px">
@@ -66,24 +68,24 @@
                   v-model="ruleForm.date1"
                   style="width: 100%"
                 ></el-date-picker> -->
-                <el-input v-model="ruleForm.sqTime"></el-input>
+                <el-input v-model="ruleForm.sqTime" disabled></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item prop="sqDepartmentBy" label="申请部门">
-                <el-input v-model="ruleForm.sqDepartmentBy"></el-input>
+                <el-input v-model="ruleForm.sqDepartmentBy" disabled></el-input>
               </el-form-item>
             </el-col>
           </el-form-item>
           <el-form-item label-width="0px">
             <el-col :span="12">
               <el-form-item prop="zymlBy" label="服务器类型">
-                <el-input v-model="ruleForm.zymlBy"></el-input>
+                <el-input v-model="ruleForm.zymlBy" disabled></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="12">
               <el-form-item prop="zymlTypeName" label="服务类型">
-                <el-input v-model="ruleForm.zymlTypeName"></el-input>
+                <el-input v-model="ruleForm.zymlTypeName" disabled></el-input>
               </el-form-item>
             </el-col>
           </el-form-item>
@@ -125,18 +127,40 @@
             ></el-date-picker>
           </el-form-item>
           <el-form-item label="附件材料" prop="attachment">
-            <el-upload
+            <!-- <el-upload
               class="upload-demo"
               :on-change="handleChange"
+              :action="uploadFileUrl"
               :auto-upload="false"
               :show-file-list="false"
               :file-list="fileList"
               :limit="1"
               accept=".zip"
+              :on-preview="handlePreview"
+              :on-remove="handleRemove"
+              :before-remove="beforeRemove"
+              multiple
+              :on-exceed="handleExceed"
+            >
+              <el-button class="upload-btn" icon="Upload" size="mini"
+                >上传</el-button
+              >
+            </el-upload> -->
+            <el-upload
+              class="upload-demo"
+              :action="uploadFileUrl"
+              :before-upload="handleBeforeUpload"
+              :on-error="handleUploadError"
+              :on-success="handleUploadSuccess"
+              :limit="1"
+              accept=".docx,.doc,.pdf"
+              :file-list="fileList"
+              :show-file-list="true"
             >
               <el-button class="upload-btn" icon="Upload" size="mini"
                 >上传</el-button
               >
+              <div class="el-upload__tip" slot="tip">只能上传docx文件</div>
             </el-upload>
           </el-form-item>
         </el-form>
@@ -153,22 +177,55 @@
     <el-dialog
       title="提示"
       :visible.sync="dialogVisible2"
-      width="30%"
-      :before-close="handleClose"
+      width="50%"
+      :before-close="handleClose2"
     >
       <div>
-        <el-table :data="tableData" style="width: 100%">
-          <el-table-column prop="date" label="申请时间"> </el-table-column>
-          <el-table-column prop="sqbm" label="申请部门"> </el-table-column>
-          <el-table-column prop="sjfw" label="数据服务"> </el-table-column>
-          <el-table-column prop="fwlx" label="服务类型"> </el-table-column>
-          <el-table-column prop="sqfw" label="申请范围"> </el-table-column>
-          <el-table-column prop="sqly" label="申请理由"> </el-table-column>
-          <el-table-column prop="xtmc" label="系统名称"> </el-table-column>
-          <el-table-column prop="dyip" label="调用IP"> </el-table-column>
-          <el-table-column prop="yqTime" label="预期使用时间">
+        <el-table :data="tableData" style="width: 100%" height="460">
+          <el-table-column prop="sqTime" label="申请时间" show-overflow-tooltip>
+          </el-table-column>
+          <el-table-column
+            prop="sqDepartmentBy"
+            label="申请部门"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column prop="zymlBy" label="数据服务"> </el-table-column>
+          <el-table-column prop="zymlTypeName" label="服务类型">
+          </el-table-column>
+          <el-table-column prop="sqFw" label="申请范围" show-overflow-tooltip>
+          </el-table-column>
+          <el-table-column
+            prop="sqReason"
+            label="申请理由"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column
+            prop="systemName"
+            label="系统名称"
+            show-overflow-tooltip
+          >
+          </el-table-column>
+          <el-table-column prop="callIp" label="调用IP" show-overflow-tooltip>
+          </el-table-column>
+          <el-table-column
+            prop="sqDeadline"
+            label="预期使用时间"
+            show-overflow-tooltip
+          >
           </el-table-column>
         </el-table>
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="pageNum"
+          :page-sizes="[10, 20, 30, 40]"
+          :page-size="pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="total"
+        >
+        </el-pagination>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="dialogVisible2 = false">取 消</el-button>
@@ -184,6 +241,8 @@
 import { GetXzqhTree } from "@/api/map";
 import { ApplyResources, GetResources } from "../../../api/kfgx/gxzy";
 import moment from "moment";
+import { getInfo } from "@/api/login";
+import user from "../../../store/modules/user";
 export default {
   props: {
     detailObj: {
@@ -192,6 +251,10 @@ export default {
   },
   data() {
     return {
+      uploadFileUrl: window.axiosURI + "/file/upload", // 上传文件服务器地址
+      total: 0,
+      pageNum: 1,
+      pageSize: 10,
       xzqTreeValue: "",
       isDetailsShow: false,
       dialogVisible: false,
@@ -204,11 +267,13 @@ export default {
         sqReason: "", //申请理由
         systemName: "", //系统名称
         sqFw: "", //申请范围
+        zymlId: this.detailObj.id,
         zymlBy: this.detailObj.serverType, //数据服务
         zymlTypeName: this.detailObj.type, //数据类型
         callIp: "", //调用ip
         sqDeadline: "", //预期服务截止时间
         attachment: "", //附件材料
+        sqDepartmentId: "",
       },
       rules: {
         systemName: [
@@ -232,6 +297,14 @@ export default {
             trigger: "blur",
           },
         ], //请输入使用数据服务的IP地址,多个用;隔开,最多支持3个
+        sqDeadline: [
+          {
+            type: "date",
+            required: true,
+            message: "请选择日期",
+            trigger: "change",
+          },
+        ],
       },
       tableData: [
         {
@@ -246,21 +319,59 @@ export default {
           yqTime: "预期时间",
         },
       ],
+      userMsg: null, //用户信息
     };
   },
   created() {
     this.getXzqTreeData();
   },
+  mounted() {
+    getInfo().then((res) => {
+      this.userMsg = res.user;
+      this.ruleForm.sqDepartmentBy = res.user.dept.deptName;
+      this.ruleForm.sqDepartmentId = res.user.deptId;
+    });
+  },
   methods: {
+    handleBeforeUpload(file) {
+      // this.$modal.loading("正在上传文件,请稍候...");
+      console.log(file, "上传中");
+      return true;
+    },
+    // 上传失败
+    handleUploadError(err) {
+      this.$message.error("上传文件失败,请重试");
+    },
+    // 上传成功回调
+    handleUploadSuccess(res, file) {
+      this.ruleForm.attachment = res.data.url;
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`);
+      this.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      console.log(`当前页: ${val}`);
+      this.pageNum = val;
+      this.getList();
+    },
     closeBox() {
       this.$emit("updateParent", "isShowService", false);
     },
     //申请记录
     applicationRecord() {
-      GetResources().then((res) => {
-        console.log(res, "|||||||||||||||");
-        this.dialogVisible2 = true
-      });
+      this.dialogVisible2 = true;
+      this.getList();
+    },
+    getList() {
+      GetResources({ pageSize: this.pageSize, pageNum: this.pageNum }).then(
+        (res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          console.log(res, "//////");
+        }
+      );
     },
     getXzqTreeData() {
       GetXzqhTree().then((res) => {
@@ -294,19 +405,21 @@ export default {
     },
     handleClose(done) {
       this.dialogVisible = false;
-      // this.$confirm('确认关闭?')
-      //   .then(_ => {
-      //     done();
-      //   })
-      //   .catch(_ => {});
+      this.reset();
+    },
+    handleClose2(done) {
+      this.dialogVisible = false;
+      this.pageNum = 1;
+      this.pageSize = 10;
+      // this.reset();
     },
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
           ApplyResources(this.ruleForm).then((res) => {
-            console.log(res, "+++++++++++++");
             this.$message.success("成功!");
             this.dialogVisible = false;
+            this.reset();
           });
         } else {
           console.log("error submit!!");
@@ -317,6 +430,24 @@ export default {
     resetForm(formName) {
       this.dialogVisible = false;
       this.$refs[formName].resetFields();
+      this.reset();
+    },
+    reset() {
+      this.ruleForm = {
+        sqTime: moment(new Date()).format("YYYY-MM-DD HH:mm:ss"), //申请时间
+        sqDepartmentBy: "海南省国土空间治理平台", //申请部门
+        sqReason: "", //申请理由
+        systemName: "", //系统名称
+        sqFw: "", //申请范围
+        zymlId: this.detailObj.id,
+        zymlBy: this.detailObj.serverType, //数据服务
+        zymlTypeName: this.detailObj.type, //数据类型
+        callIp: "", //调用ip
+        sqDeadline: "", //预期服务截止时间
+        attachment: "", //附件材料
+        sqDepartmentId: this.userMsg.deptId,
+      };
+      this.fileList = [];
     },
   },
   watch: {
@@ -401,6 +532,33 @@ export default {
   color: #fff;
   background-color: transparent;
 }
+.diaoCon {
+  height: 500px;
+  overflow: hidden;
+  overflow-y: auto;
+  /deep/ .el-input__inner {
+    color: #fff;
+    background: #041c3273 !important;
+    border: 1px dashed #0f7ac8;
+  }
+  /deep/ .el-textarea__inner {
+    color: #fff;
+    background: #041c3273 !important;
+    border: 1px dashed #0f7ac8 !important;
+  }
+  /deep/ .el-upload__tip {
+    color: #fff;
+  }
+  /deep/ .el-form-item {
+    margin-bottom: 4px;
+  }
+  /deep/ .el-upload-list__item-name{
+    color: #fff;
+  }
+  /deep/  .el-upload-list__item:hover{
+    background: transparent !important;
+  }
+}
 </style>
 <style>
 .my-content {

+ 1 - 2
static/Config/config.js

@@ -1,6 +1,5 @@
 //后台地址配置
-// window.axiosURI = "http://192.168.60.2:8080";
-window.axiosURI = "http://192.168.60.88:8080";
+window.axiosURI = "http://192.168.60.2:8080";
 window.ZTaxiosURI = "http://localhost:9300";
 window.aiURI = "http://192.168.60.2:4000";
 //倾斜模型高度配置