From 82fe506bd7ab485bb590ff8b5ee5401cbcaa0759 Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期一, 26 十二月 2022 21:44:10 +0800
Subject: [PATCH] 数据申请页面

---
 src/api/api.js                         |   50 ++
 src/assets/lang/zh.js                  |   14 
 src/components/MapView/mapMenuTop.vue  |    2 
 src/assets/lang/en.js                  |   14 
 src/components/MapView/mapMenuPop.vue  |  279 ++++++++++++++-
 src/views/Archive/dataApplication.vue  |  601 +++++++++++++++++++++++++++++++++++
 src/components/MapView/mapSpacePop.vue |    1 
 src/router/index.js                    |   11 
 8 files changed, 923 insertions(+), 49 deletions(-)

diff --git a/src/api/api.js b/src/api/api.js
index 8b5d24a..f175bd6 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -79,7 +79,7 @@
   //璇锋眰鍦板潃
   return request.get('/dir/selectDirAll', { params: params });
 }
- 
+
 //鐗堟湰绠$悊鍒楄〃
 export function select_Ver_ByPageAndCount(params) {
   //璇锋眰鍦板潃
@@ -649,6 +649,16 @@
 export function dataLib_selectDownloadFile(params) {
   return request.get('/dataLib/selectDownloadFile', { params: params });
 }
+//璧勬枡棣�=>鍒嗛〉鏌ヨ
+export function dataQuery_selectDbOverflowDep(params) {
+  return request.post('/dataLib/selectDbOverflowDep', params);
+}
+//璧勬枡棣�=>鍒嗛〉鏌ヨ
+export function apply_insertApply(params) {
+  return request.post('/apply/insertApply', params);
+}
+
+
 //璧勬枡棣�=>璇锋眰涓嬭浇
 export function dataLib_downloadReq(params) {
   return request.post('/dataLib/downloadReq', params);
@@ -663,6 +673,14 @@
   return request.get('/downlog/selectByPageAndCount', { params: params });
 }
 
+//鏁版嵁鐢宠=銆嬪垎椤垫煡璇㈠苟杩斿洖璁板綍鏁�
+export function apply_selectByPage(params) {
+  return request.get('/apply/selectByPage', { params: params });
+}
+//鏁版嵁鐢宠=銆嬫煡璇㈡祦绋�
+export function apply_selectFlows(params) {
+  return request.get('/apply/selectFlows', { params: params });
+}
 
 
 
@@ -671,11 +689,11 @@
 export function querySitePoint(size, index, name) {
   return service.get(
     '/LFServer/SitePoint/Query?pageSize=' +
-      size +
-      '&pageIndex=' +
-      (index - 1) +
-      '&name=' +
-      name
+    size +
+    '&pageIndex=' +
+    (index - 1) +
+    '&name=' +
+    name
   );
 }
 //璇锋眰绔欏満鐐规暟閲�
@@ -686,11 +704,11 @@
 export function queryStationSeries(size, index, name) {
   return service.get(
     '/LFServer/StationSeries/Query?pageSize=' +
-      size +
-      '&pageIndex=' +
-      (index - 1) +
-      '&name=' +
-      name
+    size +
+    '&pageIndex=' +
+    (index - 1) +
+    '&name=' +
+    name
   );
 }
 //璇锋眰绠¢亾涓績绾挎暟閲�
@@ -702,11 +720,11 @@
 export function queryMarker(size, index, name) {
   return service.get(
     '/LFServer/Marker/Query?pageSize=' +
-      size +
-      '&pageIndex=' +
-      (index - 1) +
-      '&name=' +
-      name
+    size +
+    '&pageIndex=' +
+    (index - 1) +
+    '&name=' +
+    name
   );
 }
 //璇锋眰鏍囨々鏁伴噺
diff --git a/src/assets/lang/en.js b/src/assets/lang/en.js
index 66bb734..54a3e2c 100644
--- a/src/assets/lang/en.js
+++ b/src/assets/lang/en.js
@@ -403,6 +403,7 @@
       uploading: 'uploading',
       download: 'download',
       otherOne: 'other one',
+      status:'status'
     },
   },
   synthesis: {
@@ -411,6 +412,7 @@
     pipelineAnalysis: 'Pipeline analysis',
     sceneExtraction: 'Scene extraction',
     synthesis: 'Comprehensive Display',
+    dataApplication:'Data Application',
     themaic: 'Thematic Maps',
     archive: 'Data Library',
     coverage: 'Coverage',
@@ -486,6 +488,18 @@
     type3:'Metadata',
     type4:'Business data',
   },
+  dataApply:{
+    type1:'Cancel',
+    type2:'Repulse',
+    type3:'Under review',
+    type4:'Pass',
+    descr:'descr',
+    uname:'uname',
+    status:'status',
+    careatetime:'Date of application',
+    ReApply:'Re apply',
+    details:'details'
+  },
   loglog: {
     serialnumber: 'Serial Number',
     coverage: 'Coverage',
diff --git a/src/assets/lang/zh.js b/src/assets/lang/zh.js
index 0580da9..ec0583f 100644
--- a/src/assets/lang/zh.js
+++ b/src/assets/lang/zh.js
@@ -400,6 +400,7 @@
       uploading: '涓婁紶',
       download: '涓嬭浇',
       otherOne: '鍏跺畠',
+      status:'鐘舵��',
     },
   },
   synthesis: {
@@ -407,6 +408,7 @@
     export: '瀵煎嚭',
     pipelineAnalysis: '绠¢亾鍒嗘瀽',
     synthesis: '缁煎悎灞曠ず',
+    dataApplication:'鏁版嵁鐢宠',
     sceneExtraction: '鍦烘櫙鎻愬彇',
     themaic: '涓撻鍦板浘',
     archive: '璧勬枡棣�',
@@ -478,6 +480,18 @@
 
     Multiplechoice: '澶氶��',
   },
+  dataApply:{
+    type1:'浣滃簾',
+    type2:'鎵撳洖',
+    type3:'瀹℃牳涓�',
+    type4:'閫氳繃',
+    descr:'鎻忚堪',
+    uname:'鐢宠浜�',
+    status:'鐘舵��',
+    careatetime:'鐢宠鏃ユ湡',
+    ReApply:'閲嶆柊鐢宠',
+    details:'璇︽儏'
+  },
   downlog:{
     type1:'Shp鏂囦欢',
     type2:'涓撻鍥�',
diff --git a/src/components/MapView/mapMenuPop.vue b/src/components/MapView/mapMenuPop.vue
index cf0ce23..bff728f 100644
--- a/src/components/MapView/mapMenuPop.vue
+++ b/src/components/MapView/mapMenuPop.vue
@@ -1,6 +1,17 @@
 <template>
   <div class="menuPop">
     <div class="leftBox">
+      <div
+        class="leftDown"
+        v-if="$store.state.download"
+      >
+        <div @click="getDownloadDep">
+          <el-link
+            style="color:white"
+            icon="el-icon-download"
+          > </el-link>
+        </div>
+      </div>
       <ul>
         <li
           v-for="(item, index) in option"
@@ -25,7 +36,11 @@
             label="搴忓彿"
             width="50"
           />
-          <el-table-column label="瀹氫綅" width="100" align="center">
+          <el-table-column
+            label="瀹氫綅"
+            width="100"
+            align="center"
+          >
             <template slot-scope="scope">
               <el-button
                 icon="el-icon-map-location"
@@ -72,14 +87,20 @@
         label-width="100px"
         class="codeForm"
       >
-        <el-form-item :label="$t('common.passworld')" prop="password">
+        <el-form-item
+          :label="$t('common.passworld')"
+          prop="password"
+        >
           <el-input
             type="password"
             v-model="codeForm.password"
             show-password
           ></el-input>
         </el-form-item>
-        <el-form-item :label="$t('common.SPassword')" prop="repassword">
+        <el-form-item
+          :label="$t('common.SPassword')"
+          prop="repassword"
+        >
           <el-input
             type="password"
             v-model="codeForm.repassword"
@@ -91,13 +112,82 @@
             class="primary"
             size="small"
             @click="download('codeForm')"
-            >{{ $t("common.confirm") }}</el-button
-          >
-          <el-button type="info" size="small" @click="closeDown('codeForm')">{{
+          >{{ $t("common.confirm") }}</el-button>
+          <el-button
+            type="info"
+            size="small"
+            @click="closeDown('codeForm')"
+          >{{
             $t("common.cancel")
           }}</el-button>
         </el-form-item>
       </el-form>
+    </el-dialog>
+    <el-dialog
+      title="鏁版嵁鐢宠"
+      :visible.sync="dialogInsertVisible"
+      width="30%"
+      top="35vh"
+      :modal="false"
+      :before-close="handleInsertClose"
+    >
+      <div style="width:100%; max-height:450px;overflow-y:auto">
+        <el-form
+          ref="form"
+          :model="ruleForm"
+          label-width="100px"
+        >
+          <el-form-item label="瀹℃牳鍗曚綅">
+            <div>
+              <ul>
+                <li v-for="item in ruleForm.depname">
+                  {{item.name}}
+                </li>
+              </ul>
+            </div>
+          </el-form-item>
+          <el-form-item label="琛ㄥ悕">
+            <div>
+              <ul>
+                <li v-for="item in ruleForm.tabs">
+                  {{item.tabDesc}}
+                </li>
+              </ul>
+            </div>
+          </el-form-item>
+          <el-form-item label="鏉′欢">
+            <el-input
+              :title="ruleForm.wkt"
+              v-model=" ruleForm.wkt"
+              disabled
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="鎻忚堪">
+            <el-input
+              type="textarea"
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.descr"
+              maxlength="50"
+              show-word-limit
+            >
+            </el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button
+              class="primary"
+              size="small"
+              @click="getInsertDown"
+            >{{ $t("common.confirm") }}</el-button>
+            <el-button
+              type="info"
+              size="small"
+              @click="closeInsertDown"
+            >{{
+            $t("common.cancel")
+          }}</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
     </el-dialog>
     <iframe
       id="Iframe1"
@@ -115,7 +205,9 @@
   dataQuerySelectWktById,
   sign_getPublicKey,
   dataLib_selectDownloadFile,
-  decr,
+  dataQuery_selectDbOverflowDep,
+  apply_insertApply,
+  decr, encr,
 } from "../../api/api.js";
 import { getToken } from "@/utils/auth";
 import $ from "jquery";
@@ -141,7 +233,17 @@
       }
     };
     return {
+      ruleForm: {
+        depname: [],
+        tabs: [],
+        pwd: null,
+        repwd: null,
+        wkt: null,
+        descr: null,
+      },
       dialogVisible: false,
+      dialogInsertVisible: false,
+      insertFlag: null,
       codeForm: {
         password: "",
         repassword: "",
@@ -155,6 +257,15 @@
           { required: true, message: "璇疯緭鍏ョ‘璁ゅ瘑鐮�", trigger: "blur" },
           { validator: repasswordValidator, trigger: "blur" },
         ],
+      },
+      insertOption: {
+        ids: [],
+        pwd: null,
+        tabs: [],
+        entity: [],
+        wkt: null,
+        descr: null,
+
       },
       listPage: {
         pageSize: 10,
@@ -182,6 +293,64 @@
     };
   },
   methods: {
+    getInsertDown() {
+      this.dialogInsertVisible = false;
+      this.dialogVisible = true;
+    },
+    handleInsertClose() {
+      this.$confirm('纭鍏抽棴锛�')
+        .then(_ => {
+          this.closeInsertDown();
+        })
+        .catch(_ => { });
+    },
+    closeInsertDown() {
+      this.ruleForm = {
+        depname: [],
+        tabs: [],
+        pwd: null,
+        repwd: null,
+        wkt: null,
+        descr: null,
+      }
+      this.dialogInsertVisible = false
+    },
+    async getDownloadDep() {
+      var std = [];
+      for (var i in this.option) {
+        std.push(this.option[i].entity
+        )
+      }
+      var obj = {
+        entities: std,
+        wkt: this.listdata.wkt
+      }
+      const data = await dataQuery_selectDbOverflowDep(JSON.stringify(obj))
+      if (data.code != 200) {
+        this.$message.error("鏁版嵁璇锋眰澶辫触");
+        return;
+      }
+
+      if (data.result.length == 0 || data.result == null) {
+
+        this.insertFlag = 1;
+        this.dialogVisible = true;
+      } else {
+        this.insertFlag = 2;
+        var std = [];
+        this.insertOption.ids = data.result;
+        for (var i in data.result) {
+          std.push({
+            name: data.result[i]
+          })
+        }
+        this.ruleForm.depname = std;
+        this.ruleForm.wkt = decr(this.listdata.wkt)
+        this.ruleForm.tabs = this.option;
+        this.dialogInsertVisible = true;
+      }
+
+    },
     async signGetPublicKey() {
       const res = await sign_getPublicKey();
       if (res && res.code == 200) {
@@ -189,32 +358,62 @@
         encrypt.setPublicKey(res.result);
       }
     },
-    download() {
+    async download() {
       if (this.codeForm.password == "") return;
-      var obj = {
-        pwd: encrypt.encrypt(this.codeForm.password),
-        entities: [],
-        wkt: this.listdata.wkt,
-      };
-      for (var i in this.option) {
-        obj.entities.push(this.option[i].entity);
+      if (this.insertFlag == 1) {
+        var obj = {
+          pwd: encrypt.encrypt(this.codeForm.password),
+          entities: [],
+          wkt: this.listdata.wkt,
+        };
+        for (var i in this.option) {
+          obj.entities.push(this.option[i].entity);
+        }
+        var token = getToken();
+        var that = this;
+        $.ajax(BASE_URL + "/dataLib/downloadDbReq?token=" + token, {
+          type: "post",
+          data: JSON.stringify(obj),
+          async: true,
+          cache: false,
+          processData: false,
+          contentType: false,
+          success: (res) => {
+            if (res.code != 200) {
+              return;
+            }
+            this.selectDownloadFile(res.result, obj.pwd);
+          },
+        });
+      } else if (this.insertFlag == 2) {
+        var std = [];
+        var std1 = [];
+        for (var i in this.option) {
+
+          std.push(this.option[i].tabDesc)
+          std1.push(this.option[i].entity)
+        }
+        var obj = {
+          ids: this.insertOption.ids,
+          pwd: encr(this.codeForm.password),
+          tabs: std,
+          entities: std1,
+          wkt: this.listdata.wkt,
+          descr: this.ruleForm.descr,
+        }
+        const data1 = await apply_insertApply(JSON.stringify(obj))
+        if (data1.code != 200) {
+          this.$message.error("鏁版嵁鐢宠澶辫触");
+          return
+        }
+        this.$message({
+          message: '鏁版嵁鐢宠鎴愬姛',
+          type: 'success'
+        });
+      
+        this.closeDown();
       }
-      var token = getToken();
-      var that = this;
-      $.ajax(BASE_URL + "/dataLib/downloadDbReq?token=" + token, {
-        type: "post",
-        data: JSON.stringify(obj),
-        async: true,
-        cache: false,
-        processData: false,
-        contentType: false,
-        success: (res) => {
-          if (res.code != 200) {
-            return;
-          }
-          this.selectDownloadFile(res.result, obj.pwd);
-        },
-      });
+
     },
     async selectDownloadFile(rsid, rspwd) {
       var downObj = {
@@ -243,12 +442,13 @@
         .then((_) => {
           this.closeDown();
         })
-        .catch((_) => {});
+        .catch((_) => { });
     },
     closeDown() {
       this.dialogVisible = false;
       this.codeForm.password = "";
       this.codeForm.repassword = "";
+      this.closeInsertDown();
     },
     startTableMssage() {
       this.listdata.pageIndex = 1;
@@ -564,6 +764,12 @@
       color: #409eff;
       background: rgba(128, 128, 128, 0.2);
     }
+    .leftDown {
+      width: 94%;
+      padding: 3%;
+      display: flex;
+      justify-content: flex-end;
+    }
   }
 
   .rightBox {
@@ -683,6 +889,15 @@
     }
   }
 }
+li {
+  color: white;
+  line-height: 20px;
+  border-bottom: 1px solid white;
+  padding: 5px;
+}
+/deep/.el-textarea .el-input__count {
+  background: transparent;
+}
 </style>
 <style lang="less"></style>
 <style scoped lang="less"></style>
diff --git a/src/components/MapView/mapMenuTop.vue b/src/components/MapView/mapMenuTop.vue
index a07d8a8..062cc4b 100644
--- a/src/components/MapView/mapMenuTop.vue
+++ b/src/components/MapView/mapMenuTop.vue
@@ -337,8 +337,10 @@
     },
 
     setJonToWKT(res) {
+      console.log(res.geometry)
       var jsonToWkt = this.$wkt.convert(res.geometry);
       this.$store.state.mapMenuShpFile = encr(jsonToWkt);
+ 
       this.showMapMenuPop();
     },
     showMapMenuPop() {
diff --git a/src/components/MapView/mapSpacePop.vue b/src/components/MapView/mapSpacePop.vue
index 3686c5e..d9df039 100644
--- a/src/components/MapView/mapSpacePop.vue
+++ b/src/components/MapView/mapSpacePop.vue
@@ -1,6 +1,5 @@
 <template>
   <div class="menuPop">
-
     <div style="padding: 5px">
       <el-form
         :inline="true"
diff --git a/src/router/index.js b/src/router/index.js
index 4c68a22..bf98b92 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -6,8 +6,10 @@
 import Synthesis from '../views/Synthesis/index.vue'; //缁煎悎灞曠ず
 import Thematic from '../views/Thematic/index.vue'; //涓撻鍦板浘
 import Archive from '../views/Archive/index.vue'; //璧勬枡棣�
+import dataApplication from '@/views/Archive/dataApplication.vue';
 import menuSettings from '@/views/maintenance/menuSettings.vue'; //鑿滃崟璁剧疆
 import rests from '@/views/maintenance/rests.vue'; //鍏朵粬
+
 import authorityManagement from '@/views/maintenance/authorityManagement.vue'; //鏉冮檺绠$悊
 import safetyManagement from '@/views/maintenance/safetyManagement.vue'; //瀹夊叏绠$悊
 import operationLog from '@/views/maintenance/operationLog.vue'; //鎿嶄綔鏃ュ織
@@ -104,6 +106,15 @@
         },
       },
       {
+        path: '/dataApplication',
+        name: 'dataApplication',
+        component: dataApplication,
+        meta: {
+          title: '鏁版嵁鐢宠',
+          requireAuth: true, // 鏍囪瘑璇ヨ矾鐢辨槸鍚﹂渶瑕佺櫥褰�
+        },
+      },
+      {
         path: '/Thematic',
         name: 'Thematic',
         component: Thematic,
diff --git a/src/views/Archive/dataApplication.vue b/src/views/Archive/dataApplication.vue
new file mode 100644
index 0000000..a4295a3
--- /dev/null
+++ b/src/views/Archive/dataApplication.vue
@@ -0,0 +1,601 @@
+<template>
+  <div class="logLog_box">
+    <My-bread :list="[
+        `${$t('synthesis.synthesis')}`,
+        `${$t('synthesis.dataApplication')}`,
+      ]"></My-bread>
+    <el-divider />
+    <div class="inquire">
+      <el-form
+        :inline="true"
+        ref="sizeForm"
+        :model="sizeForm"
+      >
+        <el-form-item
+          prop="uname"
+          :label="$t('operatManage.operationLogObj.username')"
+        >
+          <el-input
+            v-model="sizeForm.uname"
+            :placeholder="$t('operatManage.operationLogObj.pleaseInput')"
+          />
+        </el-form-item>
+        <el-form-item
+          prop="status"
+          :label="$t('operatManage.operationLogObj.status')"
+        >
+          <el-select
+            v-model="sizeForm.status"
+            :placeholder="$t('operatManage.operationLogObj.pleaseSelect')"
+          >
+            <el-option
+              :label="$t('dataApply.type1')"
+              value="-10"
+            />
+            <el-option
+              :label="$t('dataApply.type2')"
+              value="-1"
+            />
+            <el-option
+              :label="$t('dataApply.type3')"
+              value="0"
+            />
+            <el-option
+              :label="$t('dataApply.type4')"
+              value="-9"
+            />
+          </el-select>
+        </el-form-item>
+        <el-form-item
+          prop="start"
+          :label="$t('operatManage.operationLogObj.startTime')"
+        >
+          <el-date-picker
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            v-model="sizeForm.start"
+            style="width: 100%"
+            type="datetime"
+            :placeholder="$t('operatManage.operationLogObj.optionDate')"
+          ></el-date-picker>
+        </el-form-item>
+        <el-form-item
+          prop="end"
+          :label="$t('operatManage.operationLogObj.endTime')"
+        >
+          <el-date-picker
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            v-model="sizeForm.end"
+            style="width: 100%"
+            type="datetime"
+            :placeholder="$t('operatManage.operationLogObj.optionDate')"
+          >
+          </el-date-picker>
+        </el-form-item>
+
+        <el-form-item>
+          <el-button
+            @click="onSubmit"
+            icon="el-icon-search"
+            style="background: #409eff; border: 1px solid #409eff; color: white"
+          >{{ $t("operatManage.operationLogObj.inquire") }}</el-button>
+          <el-button
+            @click="resAllTable"
+            icon="el-icon-delete"
+            type="info"
+          >{{ $t("operatManage.operationLogObj.empty") }}</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="table_box">
+      <el-table
+        :data="tableData"
+        style="width: 100%"
+        height="85%"
+      >
+
+        <el-table-column
+          align="center"
+          type="index"
+          :label="$t('operatManage.ELM.index')"
+          width="70px"
+        />
+
+        <el-table-column
+          align="center"
+          prop="descr"
+          :label="$t('dataApply.descr')"
+        />
+        <el-table-column
+          align="center"
+          prop="uname"
+          :label="$t('dataApply.uname')"
+        />
+
+        <el-table-column
+          align="center"
+          prop="createTime"
+          :label="$t('dataApply.careatetime')"
+          :formatter="formatData"
+        />
+        <el-table-column
+          align="center"
+          prop="status"
+          :label="$t('dataApply.status')"
+          :formatter="formatStatus"
+        />
+
+        <el-table-column
+          min-width="150"
+          :label="$t('common.operate')"
+        >
+          <template slot-scope="scope">
+
+            <el-button
+              type="danger"
+              size="mini"
+              v-if="matchState(scope,/[]/)"
+              plain
+            >{{$t('dataApply.type1')}}</el-button>
+
+            <el-button
+              type="warning"
+              size="mini"
+              v-if="matchState1(scope,/[]/)"
+              plain
+            >{{$t('dataApply.ReApply')}}</el-button>
+            <el-button
+              type="info"
+              size="mini"
+              plain
+              @click="handlDetails(scope.$index, scope.row)"
+            >{{$t('dataApply.details')}}</el-button>
+
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <div
+        style="margin-top: 40px"
+        class="pagination_box"
+      >
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="listData.pageIndex"
+          :page-sizes="[10, 20, 30, 40]"
+          :page-size="listData.pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="count"
+        >
+        </el-pagination>
+      </div>
+    </div>
+    <el-dialog
+      :title="$t('dataApply.details')"
+      :visible.sync="dialogDetailsVisible"
+      width="50%"
+      :before-close="handleClose"
+    >
+      <div>
+
+        <el-form
+          :inline="true"
+          :model="detailsFrom"
+          class="demo-form-inline"
+        >
+          <el-form-item label="琛ㄥ悕锛�">
+            <div class="statusLabel">{{detailsFrom.tabs}}</div>
+          </el-form-item><br />
+          <el-form-item label="鐢宠浜猴細">
+            <div class="statusLabel">{{detailsFrom.uname}}</div>
+          </el-form-item>
+          <el-form-item label="鐢宠鏃堕棿锛�">
+            <div class="statusLabel">{{detailsFrom.time}}</div>
+          </el-form-item>
+          <el-form-item label="鐘舵�侊細">
+            <div class="statusLabel">{{detailsFrom.status}}</div>
+          </el-form-item>
+        </el-form>
+        <el-table
+          :data="detailsFrom.tableData"
+          style="width: 100%"
+        >
+          <el-table-column
+            align="center"
+            type="index"
+            :label="$t('operatManage.ELM.index')"
+            width="70px"
+          />
+          <el-table-column
+            align="center"
+            prop="depName"
+            label="鍗曚綅"
+          />
+          <el-table-column
+            align="center"
+            prop="uname"
+            label="鐢宠浜�"
+          />
+          <el-table-column
+            align="center"
+            prop="uname"
+            label="鎻忚堪"
+          >
+            <template slot-scope="scope">
+              <el-input
+                type="textarea"
+                placeholder="璇疯緭鍏ュ唴瀹�"
+                v-model="scope.row.descr"
+                maxlength="50"
+                show-word-limit
+              >
+              </el-input>
+            </template>
+
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="status"
+            label="鐘舵��"
+          />
+          <el-table-column
+            min-width="150"
+            :label="$t('common.operate')"
+          >
+            <template slot-scope="scope">
+
+              <el-button
+                type="danger"
+                size="mini"
+                plain
+              >鎵撳洖</el-button>
+
+              <el-button
+                type="success"
+                size="mini"
+                plain
+              >閫氳繃</el-button>
+
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import MyBread from "../../components/MyBread.vue";
+import {
+  apply_selectByPage,
+  apply_selectFlows
+} from "../../api/api";
+export default {
+  //import寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+  components: {
+    MyBread,
+  },
+
+  data() {
+    return {
+      detailsFrom: {},
+      dialogDetailsVisible: false,
+      sizeForm: {
+        start: null,
+        end: null,
+        uname: null,
+        status: null,
+      },
+      tableData: [],
+      listData: {
+        pageIndex: 1,
+        pageSize: 10,
+        start: null,
+        end: null,
+        uname: null,
+        status: null
+      },
+      count: 0,
+    };
+  },
+  methods: {
+    async handlDetails(index, row) {
+
+      const data = await apply_selectFlows({ applyid: row.id })
+      if (data.code != 200) {
+
+      }
+      this.detailsFrom.tableData = data.result;
+      this.detailsFrom.tabs = row.tabs;
+      this.detailsFrom.uname = row.uname;
+      this.detailsFrom.time = this.format(row.createTime);
+      this.detailsFrom.status = this.statusFormat(row.status);
+      console.log(data.result)
+      this.dialogDetailsVisible = true;
+
+    },
+    matchState(state = '', reg) {
+      var row = state.row;
+      if (row.status >= -1 && row.status <= 9 && this.$store.state.uname == row.uname) {
+        return true
+      }
+      return false
+    },
+    matchState1(state = '', reg) {
+      var row = state.row;
+      if (row.status == -1 && this.$store.state.uname == row.uname) {
+        return true
+      }
+      return false
+    },
+    add0(m) {
+      return m < 10 ? "0" + m : m;
+    },
+    //鏍煎紡鍖栨椂闂�
+    format(shijianchuo) {
+      //shijianchuo鏄暣鏁帮紝鍚﹀垯瑕乸arseInt杞崲
+      var time = new Date(shijianchuo);
+      var y = time.getFullYear();
+      var m = time.getMonth() + 1;
+      var d = time.getDate();
+      var h = time.getHours();
+      var mm = time.getMinutes();
+      var s = time.getSeconds();
+      return (
+        y + "-" + this.add0(m) + "-" + this.add0(d) +
+        " " +
+        this.add0(h) +
+        ":" +
+        this.add0(mm) +
+        ":" +
+        this.add0(s)
+      );
+    },
+    //鏍煎紡鍖栧垪琛�
+    formatData(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+      return this.format(data);
+    },
+    formatStatus(row, column) {
+      let data = row[column.property];
+      if (data == null) {
+        return data;
+      }
+      return this.statusFormat(data);
+    },
+    statusFormat(res) {
+      if (res >= 0 && res <= 9) {
+        return "瀹℃牳涓�"
+      } else if (res == -10) {
+        return "閫�鍥�"
+      } else if (res == -1) {
+        return "鎵撳洖"
+      } else if (res == -1) {
+        return "閫�鍥�"
+      }
+    },
+    resAllTable() {
+      this.listData = {
+        pageIndex: 1,
+        pageSize: 10,
+        start: null,
+        end: null,
+        uname: null,
+        type: null
+      }
+      this.sizeForm = {
+        start: null,
+        end: null,
+        uname: null,
+        status: null,
+      }
+      this.getAllData();
+    },
+    onSubmit() {
+      this.listData.end = this.sizeForm.end;
+      this.listData.start = this.sizeForm.start;
+      this.listData.status = this.sizeForm.status;
+      this.listData.uname = this.sizeForm.uname
+      this.getAllData();
+    },
+
+    handleSizeChange(val) {
+      this.listData.pageSize = val;
+      this.listData.pageIndex = 1;
+      this.getAllData();
+    },
+    handleCurrentChange(val) {
+      this.listData.pageIndex = val;
+      this.getAllData();
+    },
+    async getAllData() {
+      const data = await apply_selectByPage(this.listData);
+      if (data.code != 200) {
+        return this.$message.error("鍒楄〃璋冪敤澶辫触");
+      }
+
+      this.tableData = data.result;
+      this.count = data.count;
+    }
+  },
+  created() {
+    this.getAllData();
+  },
+};
+</script>
+<style lang="less" scoped>
+//@import url(); 寮曞叆鍏叡css绫�
+.logLog_box {
+  width: 100%;
+  padding: 10px;
+  height: 100%;
+
+  box-sizing: border-box;
+  .el-input {
+    width: 300px;
+  }
+  .inquire {
+    overflow: auto;
+    padding: 10px;
+    margin-top: 20px;
+
+    border-radius: 5px;
+    border: 1px solid rgb(202, 201, 204);
+    margin-bottom: 20px;
+    .el-form-item {
+      margin: 7px;
+    }
+    /deep/.el-form-item__label {
+      color: white;
+    }
+    /deep/ .el-input__inner {
+      background-color: transparent !important;
+      border: 1px solid;
+      color: white;
+    }
+  }
+  .statusLabel {
+    color: white;
+    padding: 0px 5px;
+    font-size: 14px;
+  }
+  .table_box {
+    overflow: auto;
+    height: 70%;
+    padding: 10px;
+
+    border-radius: 5px;
+    border: 1px solid rgb(202, 201, 204);
+    height: 620px;
+    /*淇敼table 琛ㄤ綋鐨勮儗鏅鑹插拰鏂囧瓧棰滆壊*/
+
+    .pagination_box {
+      /deep/.el-input__inner {
+        background-color: transparent !important;
+        border: 1px solid;
+        color: white;
+      }
+      /deep/.el-pagination__total {
+        color: white;
+      }
+      /deep/.el-pagination__jump {
+        color: white;
+      }
+      /deep/.el-pager li.active {
+        color: #1890ff;
+      }
+      /deep/.el-pager li {
+        color: white;
+        background: transparent;
+      }
+      /deep/.el-pager li {
+        color: white;
+      }
+      /deep/.btn-prev {
+        background: transparent;
+      }
+      /deep/.btn-next {
+        background: transparent;
+      }
+    }
+  }
+  .text-center {
+    text-align: center;
+  }
+}
+/deep/ .el-select .el-input__inner {
+  border-color: #fff !important;
+}
+
+/deep/.el-form-item__label {
+  color: white;
+}
+// 璁剧疆杈撳叆妗嗙殑鑳屾櫙鑹层�佸瓧浣撻鑹层�佽竟妗嗗睘鎬ц缃紱
+/deep/.el-input__inner {
+  background-color: transparent !important ;
+  color: #fff;
+  border: 1px solid;
+}
+/deep/ .el-dialog {
+  background: #303030;
+}
+/deep/.el-range-editor.is-active,
+.el-range-editor.is-active:hover,
+.el-select .el-input.is-focus .el-input__inner {
+  border: 1px solid;
+}
+/deep/.el-dialog__title {
+  color: white;
+}
+/deep/ .el-table {
+  background-color: transparent;
+
+  th,
+  td {
+    background-color: transparent;
+  }
+  .el-table__expanded-cell {
+    background-color: transparent !important;
+  }
+
+  // 琛ㄥご鑳屾櫙鑹�
+  th.el-table__cell {
+    background-color: #303030;
+    color: #fff;
+  }
+  tr > td {
+    background-color: #303030;
+    color: #fff;
+  }
+
+  // hover鏁堟灉
+  tr:hover > td {
+    background-color: rgba(255, 255, 255, 0.3) !important;
+  }
+
+  tbody tr:hover {
+    background-color: rgba(255, 255, 255, 0.3) !important;
+    // text-align: center;
+  }
+
+  // 婊氬姩鏉″楂�
+  .el-table__body-wrapper::-webkit-scrollbar {
+    width: 5px;
+    height: 5px;
+  }
+
+  .el-table__body-wrapper::-webkit-scrollbar {
+    width: 5px;
+    /*婊氬姩鏉″搴�*/
+    height: 10px;
+    /*婊氬姩鏉¢珮搴�*/
+  }
+  /*瀹氫箟婊氬姩鏉¤建閬� 鍐呴槾褰�+鍦嗚*/
+  .el-table__body-wrapper::-webkit-scrollbar-track {
+    box-shadow: 0px 1px 3px #216fe6 inset;
+    /*婊氬姩鏉$殑鑳屾櫙鍖哄煙鐨勫唴闃村奖*/
+    border-radius: 10px;
+  }
+
+  /*瀹氫箟婊戝潡 鍐呴槾褰�+鍦嗚*/
+  .el-table__body-wrapper::-webkit-scrollbar-thumb {
+    box-shadow: 0px 1px 3px #216fe6 inset;
+    border-radius: 6px;
+    background-color: #216fe6;
+  }
+}
+/deep/.el-textarea__inner {
+  background: transparent !important;
+  border-color: #fff !important;
+  color: white;
+}
+/deep/.el-textarea .el-input__count {
+  background: transparent;
+}
+</style>

--
Gitblit v1.9.3