From 3bd55592b33a86c8b0dce21a9e8ea6126b9c2d94 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期五, 21 三月 2025 10:36:44 +0800
Subject: [PATCH] Merge branch 'dev'

---
 src/views/projectEngineering/projectLibrary/index.vue                 |   70 +++--
 src/views/projectEngineering/projectLibrary/component/legalPerson.vue |    5 
 src/components/VisibilityToolbar/index.vue                            |   10 
 src/views/components/Map/index.vue                                    |   23 -
 src/api/codingRuler/codingRuler.js                                    |   68 +++++
 src/views/codingRuler/index.vue                                       |  485 ++++++++++++++++++++++++++++++++++++++++
 6 files changed, 608 insertions(+), 53 deletions(-)

diff --git a/src/api/codingRuler/codingRuler.js b/src/api/codingRuler/codingRuler.js
new file mode 100644
index 0000000..1833bfe
--- /dev/null
+++ b/src/api/codingRuler/codingRuler.js
@@ -0,0 +1,68 @@
+import request from '@/utils/request'
+
+// 鑾峰彇鍒嗛〉
+export const getCodingRulers = (params) => {
+    return request({
+        url: "/coding-ruler/page",
+        method: "GET",
+        params: params
+    })
+}
+
+// 鑾峰彇鍒楄〃
+export const getCodingRulerList = () => {
+    return request({
+        url: "/coding-ruler/list",
+        method: "GET"
+    })
+}
+
+// 閫氳繃id鑾峰彇
+export const getCodingRulerById = (params) => {
+    return request({
+        url: "/coding-ruler/" + params,
+        method: "GET"
+    })
+}
+
+// 閫氳繃id鍒犻櫎
+export const deleteCodingRulerById = (params) => {
+    return request({
+        url: "/coding-ruler/" + params,
+        method: "DELETE"
+    })
+}
+
+// 鎵归噺鍒犻櫎
+export const deleteCodingRulerByIds = (params) => {
+    return request({
+        url: "/coding-ruler/batch",
+        method: "DELETE",
+        data: params
+    })
+}
+
+// 淇敼
+export const editCodingRuler = (params) => {
+    return request({
+        url: "/coding-ruler/",
+        method: "PUT",
+        data: params
+    })
+}
+
+// 娣诲姞
+export const addCodingRuler = (params) => {
+    return request({
+        url: "/coding-ruler/",
+        method: "POST",
+        data: params
+    })
+}
+// 閫氳繃id淇敼鍚姩鐘舵��
+export const changeCodingRulerStatus = (params) =>{
+    return request({
+        url:'/coding-ruler/change/' + params,
+        method: "GET",
+    })
+}
diff --git a/src/components/VisibilityToolbar/index.vue b/src/components/VisibilityToolbar/index.vue
index 9471870..9f875e7 100644
--- a/src/components/VisibilityToolbar/index.vue
+++ b/src/components/VisibilityToolbar/index.vue
@@ -23,10 +23,10 @@
         <span>淇℃伅鏄鹃殣绛涢��</span>
       </div>
       <div slot="default" style="margin-left: 20px;margin-top: 20px">
-        <el-table :data="getPage" style="width: 95%; height: 80%;;margin-bottom: 40px;">
+        <el-table :row-key="row => { return row.id }" :data="getPage" style="width: 95%; height: 80%;;margin-bottom: 40px;" >
           <el-table-column prop="index" label="搴忓彿" width="80"></el-table-column>
           <el-table-column prop="label" label="鏁版嵁鍚嶇О"></el-table-column>
-          <el-table-column prop="visible" label="鏄惁鏄剧ず">
+          <el-table-column prop="visible" label="鏄惁鏄剧ず" >
             <template slot-scope="scope">
               <el-switch
                 v-model="scope.row.visible"
@@ -37,9 +37,10 @@
               ></el-switch>
             </template>
           </el-table-column>
-          <el-table-column prop="date" label="鎺掑簭">
+          <el-table-column prop="sort" label="鎺掑簭">
             <template slot-scope="scope">
-              <el-input-number v-model="scope.row.sort" :min="0" style="width: 120px" @change="sortChange(scope.row, $event)"></el-input-number>
+              <el-input-number v-model="scope.row.sort" :min="0" style="width: 120px"
+                               @change="sortChange(scope.row, $event)"></el-input-number>
             </template>
           </el-table-column>
         </el-table>
@@ -148,6 +149,7 @@
           this.saveList.push(row)
         }
       }
+      console
       this.$emit('update:columns', row);
     },
     handlePageChange(page) {
diff --git a/src/views/codingRuler/index.vue b/src/views/codingRuler/index.vue
new file mode 100644
index 0000000..c207652
--- /dev/null
+++ b/src/views/codingRuler/index.vue
@@ -0,0 +1,485 @@
+<template>
+  <div class="app-container">
+    <div v-loading="loading">
+    <div class="slot">
+      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="75px">
+        <el-form-item label="椤圭洰鐮佺被鍨�" prop="projectCodeType">
+          <el-select v-model="queryParams.projectCodeType" placeholder="椤圭洰鐮佺被鍨�" @change="handleQuery">
+            <el-option
+              v-for="dict in dict.type.coding_type"
+              :key="dict.value"
+              :value="dict.value"
+              :label="dict.label"
+            >
+            </el-option>
+          </el-select>
+
+        </el-form-item>
+        <el-form-item label="鍖洪棿绫诲瀷" prop="intervalType">
+          <el-select v-model="queryParams.intervalType" placeholder="鍖洪棿绫诲瀷" @change="handleQuery">
+            <el-option
+              v-for="dict in dict.type.interval_type"
+              :key="dict.value"
+              :value="dict.value"
+              :label="dict.label"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+        </el-form-item>
+      </el-form>
+      <div class="right-section">
+        <div class="add-btn">
+          <el-tooltip content="鏂板" effect="dark" placement="top">
+            <el-button :disabled="!isReserve" circle icon="el-icon-plus" @click="add()" size="small"/>
+          </el-tooltip>
+        </div>
+      </div>
+    </div>
+      <el-table
+        :data="tableData"
+        row-key="id"
+        border
+        @selection-change="handleSelectionChange">
+        <el-table-column
+          type="selection"
+          width="55">
+        </el-table-column>
+        <el-table-column
+
+          prop="projectCodeType"
+          label="椤圭洰鐮佺被鍨�"
+        >
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.coding_type" :value="scope.row.projectCodeType"/>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="intervalType"
+          label="鍖洪棿绫诲瀷"
+        >
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.interval_type" :value="scope.row.intervalType"/>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="leftSymbol"
+          label="宸︾鍙�"
+        >
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.sys_coding_operator" :value="scope.row.leftSymbol"/>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="leftValue"
+          label="宸﹀��"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="rightSymbol"
+          label="鍙崇鍙�"
+        >
+          <template slot-scope="scope">
+            <dict-tag :options="dict.type.sys_coding_operator" :value="scope.row.rightSymbol"/>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="rightValue"
+          label="鍙冲��"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="status"
+          label="鐘舵��"
+        >
+          <template slot-scope="scope">
+              <el-tag :type="scope.row.status === 0 ? 'info' : 'success'">
+                {{scope.row.status === 0 ? "鏈惎鐢�" : "鍚敤"}}
+              </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="鎿嶄綔"  min-width="100">
+          <template slot-scope="scope">
+            <el-button v-if="editShow" size="medium" type="text"
+                       @click="changeStatus(scope.row)">
+              {{scope.row.status === 0 ? "鍚敤" : "鍋滅敤"}}
+            </el-button>
+
+            <el-button v-if="editShow" size="medium" type="text"
+                       @click="editCodingRuler(scope.row)"
+                       :disabled="scope.row.status === 1"
+            >缂栬緫</el-button>
+
+            <el-button v-if="delShow" size="medium"
+                       type="text"
+                       @click="deleteCodingRuler(scope.row)"
+                       :disabled="scope.row.status === 1"
+            >鍒犻櫎</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination
+        v-show="total>0"
+        :total="total"
+        :page.sync="queryParams.currentPage"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+      <el-dialog width="45%" :title="dialogTitle" @close="closeDialog" :visible.sync="open" :show-close="true"  :close-on-click-modal="true"  :destroy-on-close="true">
+            <el-form :model="codingRulerForm" :rules="rules" ref="codingRulerForm">
+              <el-form-item label="椤圭洰鐮佺被鍨�" :label-width="formLabelWidth" prop="projectCodeType">
+                <el-select v-model="codingRulerForm.projectCodeType" placeholder="椤圭洰鐮佺被鍨�" @change="changeOption($event)">
+                  <el-option
+                    v-for="dict in dict.type.coding_type"
+                    :key="dict.value"
+                    :value="dict.value"
+                    :label="dict.label"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-form-item label="鍖洪棿绫诲瀷" :label-width="formLabelWidth" prop="intervalType">
+                <el-select v-model="codingRulerForm.intervalType" placeholder="鍖洪棿绫诲瀷" @change="changeOption($event)">
+                  <el-option
+                    v-for="dict in dict.type.interval_type"
+                    :key="dict.value"
+                    :value="dict.value"
+                    :label="dict.label"
+                  >
+                  </el-option>
+                </el-select>
+              </el-form-item>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="宸︾鍙�" :label-width="formLabelWidth" prop="leftSymbol" >
+                    <el-select v-model="codingRulerForm.leftSymbol" placeholder="閫夋嫨绗﹀彿" @change="changeOption($event)">
+                      <el-option
+                        v-for="dict in leftOption"
+                        :key="dict.value"
+                        :value="dict.value"
+                        :label="dict.label.replace('澶т簬', '>')
+                    .replace('灏忎簬', '<')
+                    .replace('澶х瓑浜�', '>=')
+                    .replace('绛変簬', '=')
+                    .replace('灏忎簬绛変簬', '<=')"
+                      >
+                      </el-option>
+                    </el-select>
+
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="宸﹀��" :label-width="formLabelWidth" prop="leftValue">
+                    <el-input v-model="codingRulerForm.leftValue" autocomplete="off" type="number" :min="0"></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
+            <el-form :model="singleForm" :rules="rules2" ref="singleForm" v-show="isSingleInterval">
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="鍙崇鍙�" :label-width="formLabelWidth" prop="rightSymbol"  >
+                    <el-select v-model="singleForm.rightSymbol" placeholder="閫夋嫨绗﹀彿" @change="changeOption($event)">
+                      <el-option
+                        v-for="dict in rightOption"
+                        :key="dict.value"
+                        :value="dict.value"
+                        :label="dict.label.replace('澶т簬', '>')
+                    .replace('灏忎簬', '<')
+                    .replace('澶х瓑浜�', '>=')
+                    .replace('绛変簬', '=')
+                    .replace('灏忎簬绛変簬', '<=')"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="鍙冲��" :label-width="formLabelWidth" prop="rightValue">
+                    <el-input v-model="singleForm.rightValue" autocomplete="off" type="number" :min="0"></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+
+            </el-form>
+
+            <div slot="footer" class="dialog-footer">
+              <el-button @click="closeDialog">鍙� 娑�</el-button>
+              <el-button type="primary" @click="addOrEditCodingRuler">纭� 瀹�</el-button>
+            </div>
+          </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  addCodingRuler,
+  changeCodingRulerStatus,
+  deleteCodingRulerById,
+  editCodingRuler,
+  getCodingRulers
+} from '@/api/codingRuler/codingRuler.js'
+
+export default {
+  dicts: ['sys_coding_operator','coding_type','interval_type'],
+  name: "CodingRulerDialog",
+  data() {
+    return {
+      rules2:{
+        rightSymbol:[{ required: true, message: '璇疯緭鍏ュ彸绗﹀彿', trigger: 'blur' }],
+        rightValue:[{ required: true, message: '璇疯緭鍏ュ彸鍊�', trigger: 'blur' }],
+      },
+      rules:{
+        projectCodeType: [{ required: true, message: '璇疯緭鍏ラ」鐩爜绫诲瀷', trigger: 'blur' }],
+        intervalType: [{ required: true, message: '璇疯緭鍏ュ尯闂寸被鍨�', trigger: 'blur' }],
+        leftSymbol: [{ required: true, message: '璇疯緭鍏ュ乏绗﹀彿', trigger: 'blur' }],
+        leftValue: [{ required: true, message: '璇疯緭鍏ュ乏鍊�', trigger: 'blur' }],
+      },
+      // 鏄惁涓哄崟鍖洪棿
+      isSingleInterval:false,
+      // 寮瑰嚭妗嗘爣棰�
+      dialogTitle:"",
+      //鏄惁鏂板鏉′欢
+      isReserve: true,
+      // 鑳藉惁淇敼鏉′欢
+      editShow:true,
+      // 鑳藉惁鍒犻櫎鏉′欢
+      delShow:true,
+      // 鎬绘潯鏁�
+      total:0,
+      // 琛ㄦ牸鍐呭
+      tableData:[],
+      // 鏄惁寮�鍚悳绱㈡潯浠�
+      showSearch:true,
+      queryParams:{
+        intervalType:'',
+        currentPage: 1,
+        pageSize: 10,
+        projectCodeType:'',
+      },
+      formLabelWidth: '120px',
+      // 琛ㄥ崟鍙傛暟
+      codingRulerForm:{
+        projectCodeType:'',
+        intervalType:'',
+        leftSymbol:'',
+        leftValue:'',
+
+      },
+      singleForm:{
+        rightSymbol:'',
+        rightValue:'',
+      },
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      // 閫変腑鏁扮粍
+      ids: [],
+      loading:false,
+    }
+  },
+  computed:{
+    leftOption(){
+      if (this.codingRulerForm.intervalType === null || this.codingRulerForm.intervalType === ''){
+        return  this.dict.type.sys_coding_operator
+      }else {
+        if (this.codingRulerForm.intervalType === 'interval'){
+          return this.dict.type.sys_coding_operator.filter(item => item.value <= 2);
+        }else {
+          return  this.dict.type.sys_coding_operator;
+
+        }
+      }
+    },
+    rightOption(){
+        return this.dict.type.sys_coding_operator.filter(item => item.value >= 2);
+    }
+  },
+  created(){
+
+  },
+  mounted() {
+    // 鍒濆鍖栬〃鍗曟暟鎹�
+    this.getList();
+  },
+  watch:{
+    'codingRulerForm.intervalType'(val){
+      if (val && val === 'single_interval'){
+        this.isSingleInterval = false;
+      }else if (val === 'interval'){
+        this.isSingleInterval =true;
+      }else {
+        this.isSingleInterval =false;
+      }
+    }
+  },
+  methods: {
+    // 娓呴櫎楠岃瘉鏍峰紡浠ュ強鍗曞尯闂村彸绗﹀彿鐨勫��
+    changeOption(e){
+      if (e === 'single_interval'){
+        this.singleForm.rightValue = null;
+        this.singleForm.rightSymbol = null;
+      }
+    },
+    // 鑾峰彇琛ㄦ牸鏁版嵁
+    getList(){
+      this.loading = true;
+      getCodingRulers(this.queryParams).then(res =>{
+        this.tableData = res.data;
+        this.total = res.total;
+        this.loading = false;
+      })
+
+    },
+    // 淇敼
+    editCodingRuler(row){
+      this.open = true;
+      this.dialogTitle = "缂栬緫";
+      // 琛ㄥ崟璧嬪��
+      // 鎷疯礉
+      this.codingRulerForm = {...row};
+      this.singleForm =  {...row};
+    },
+    // 鍒犻櫎
+    deleteCodingRuler(row){
+      this.$modal.confirm('鏄惁鍒犻櫎閫変腑缂栫爜瑙勫垯?').then(function(){
+        return deleteCodingRulerById(row.id);
+      }).then(() =>{
+        this.getList();
+        this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+      }).catch(() => {});
+    },
+    // 鏂板
+    add(){
+      this.open = true;
+      this.dialogTitle = "鏂板";
+    },
+    // 鍙栨秷
+    closeDialog() {
+      this.open = false;
+      this.clearForm();
+    },
+    // 娓呯┖琛ㄥ崟
+    clearForm() {
+      this.codingRulerForm = {
+        id :null,
+        projectCodeType:null,
+        intervalType:null,
+        leftSymbol:null,
+        leftValue:null,
+      }
+      this.singleForm ={
+        rightSymbol:null,
+        rightValue:null,
+      }
+      this.resetForm("codingRulerForm");
+      this.resetForm("singleForm");
+      this.isSingleInterval = false;
+    },
+
+    handleSelectionChange(val) {
+      this.ids = val.map(item => item.id)
+      console.log(ids)
+    },
+    // 鎼滅储鎸夐挳鎿嶄綔
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    // 閲嶇疆鎼滅储
+    resetQuery(){
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 鐘舵�佸垏鎹�
+    changeStatus(row){
+      changeCodingRulerStatus(row.id).then(res =>{
+        this.getList();
+        this.$message.info(res.msg)
+      })
+    },
+    async addOrEditCodingRuler() {
+
+      // 榛樿
+      let intervalState = false;
+
+      if(this.codingRulerForm.intervalType && this.codingRulerForm.intervalType === "interval"){
+        // 鍖洪棿鎯呭喌
+        intervalState = true;
+      }else {
+        intervalState = false;
+      }
+      if (intervalState){
+        let need1 = false;
+        let need2 = false;
+        let warning = false;
+         await this.$refs["singleForm"].validate((valid) =>{
+          if (valid){
+            need1 = true;
+          }
+        })
+          await this.$refs["codingRulerForm"].validate((valid) => {
+          if (valid) {
+            need2 = true;
+            if(this.codingRulerForm.leftValue >= this.singleForm.rightValue){
+              warning = true;
+            }
+          }
+        });
+         if (warning){
+           this.$message.warning("鍙冲�煎簲璇ュぇ浜庡乏鍊�")
+           return
+         }
+        if (need1 && need2){
+          this.addOrEdit();
+        }
+      }else {
+        this.$refs["codingRulerForm"].validate((valid) => {
+          if (valid) {
+            this.addOrEdit();
+          }
+        });
+      }
+    },
+    async addOrEdit(){
+      const form = this.codingRulerForm;
+      form.rightSymbol = this.singleForm.rightSymbol;
+      form.rightValue = this.singleForm.rightValue;
+      if (this.dialogTitle === "鏂板") {
+        await addCodingRuler(form).then((res) => {
+          this.$message.success(res.msg);
+          this.open = false;
+          this.getList();
+        })
+      } else if (this.dialogTitle === "缂栬緫" && this.codingRulerForm.id){
+        await editCodingRuler(form).then((res) => {
+          this.$message.success(res.msg);
+          this.open = false;
+          this.getList()
+        })
+      }
+      this.isSingleInterval = false;
+    }
+
+
+  }
+}
+</script>
+
+<style scoped>
+.right-section {
+  display: flex;
+
+
+  .add-btn {
+    margin: 0 10px;
+  }
+}
+.slot {
+  display: flex;
+}
+</style>
diff --git a/src/views/components/Map/index.vue b/src/views/components/Map/index.vue
index 2b838fd..f59eef7 100644
--- a/src/views/components/Map/index.vue
+++ b/src/views/components/Map/index.vue
@@ -281,17 +281,10 @@
     },
     showProjectStatusStr(status) {
       switch (status) {
-        case "1":
-          return "鍌ㄥ椤圭洰";
-        case "2":
-          return "鍓嶆湡椤圭洰";
-        case "3":
-          return "瀹炴柦椤圭洰";
-        case "4":
-          return "绔e伐椤圭洰";
-        case "5":
-          return "寮傚父椤圭洰";
-
+        case "pendding":
+          return "鏈紑宸�";
+        case "working":
+          return "宸插紑宸�";
         default:
           return "寮傚父椤圭洰";
       }
@@ -410,11 +403,11 @@
             ? item.yearInvestAmount + "鍏�"
             : "鏆傛棤鏁版嵁",
           projectAddr: item.projectAddress,
-          projectStatus: item.usedStatus,
+          projectStatus: item.projectStatus,
         };
-       
+
         _this.makeMask(item.longitude, item.latitude, config);
-        
+
         if (item.longitude && item.longitude > maxX) {
           maxX = item.longitude;
         }
@@ -428,7 +421,7 @@
           minY = item.latitude;
         }
       });
-      
+
       this.moveTo(
         (parseFloat(maxX) + parseFloat(minX)) / 2,
         (parseFloat(maxY) + parseFloat(minY)) / 2
diff --git a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
index 26a9ed0..72aa0c8 100644
--- a/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
+++ b/src/views/projectEngineering/projectLibrary/component/legalPerson.vue
@@ -246,7 +246,7 @@
     }
 
     this.legalPersonForm.projectId = this.projectForm.id;
-    this.handleBlur();
+
   },
   beforeDestroy() {
     if(Object.keys(this.legalPersonForm).length !==0)  localStorage.setItem("legalPersonForm", JSON.stringify(this.legalPersonForm));
@@ -258,6 +258,7 @@
         this.options.forEach(item => {
           if (item.id === row) {
             this.legalPersonForm = item;
+            this.legalPersonForm.id = null;
           }
         })
       }
@@ -265,7 +266,7 @@
     },
     //椤圭洰鍗曚綅杈撳叆鏃惰Е鍙�
     handleBlur(query){
-      console.log(query)
+
       this.legalPersonForm.projectUnit = query;
       if (this.legalPersonForm.projectUnit !== null && this.legalPersonForm.projectUnit !== '' && this.legalPersonForm.projectUnit !== undefined){
         getUnitRegistrationInfoByName(this.legalPersonForm).then(res =>{
diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index 2698103..4e15aeb 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -205,7 +205,6 @@
       <!-- 鍔ㄦ�佸垪 -->
       <el-table-column
         v-for="item in columnsNew"
-        :key="item.columns"
         v-if="item.visible"
         :prop="item.columns"
         :label="item.label"
@@ -242,15 +241,21 @@
             <template v-if="item.slotName === 'importanceType'">
               <dict-tag :options="dict.type.sys_key_categories" :value="scope.row.importanceType"/>
             </template>
-            <!-- planStartTime -->
-            <template v-if="item.slotName === 'planStartTime'">
-              {{ scope.row.planStartTime ? scope.row.planStartTime.split('-')[0] + '骞�' : '' }}
+            <!-- plannedStartDate -->
+            <template v-if="item.slotName === 'plannedStartDate'">
+              {{ scope.row.plannedStartDate ? scope.row.plannedStartDate.split('-')[0] + '骞�' : '' }}
             </template>
             <!-- usedStatus鎻掓Ы -->
             <template v-if="item.slotName === 'usedStatus'">
               <dict-tag :options="dict.type.sys_used_status" :value="scope.row.usedStatus"/>
             </template>
+            <!-- planStartTime -->
+            <template v-else-if="item.slotName === 'planStartTime'">
+              {{ scope.row.planStartTime ? scope.row.planStartTime.split(' ')[0] : '' }}
+            </template>
           </template>
+          <!-- 杞崲璁″垝寮�宸ユ牱寮� 绌烘牸鍒囧壊鏁扮粍 -->
+
           <!-- 榛樿鏄剧ず -->
           <span v-else>{{ scope.row[item.columns] }}</span>
         </template>
@@ -442,8 +447,8 @@
         //杞崲
          res.data.forEach((item,index)=>{
            item.index = index + 1;
-           item.key = index;
            item.label = item.name;
+
           if(item.display === '0'){
             item.visible = false
           }else {
@@ -478,9 +483,7 @@
       //杞崲
       data.forEach((item,index)=>{
         item.index = index + 1;
-        item.key = index;
         item.label = item.name;
-        // item.slotName = item.columns;
         if(item.display === '0'){
           item.visible = false
         }else {
@@ -540,28 +543,28 @@
       localStorage.removeItem("documentsInfoForm")
     },
 
-    save(){
-      const list =current.map((item, index) => {
-            item.name = item.label;
-            item.sort = index + 1;
-            item.columns = item.id;
-            item.id = 0;
-            if(item.slotName === undefined){
-              item.slotName = null;
-            }
-            if(item.visible){
-              item.display = "1";
-            }else {
-              item.display ="0";
-            }
-            return item;
-          });
-      console.log(list)
-      addList(list).then(res=>{
-        console.log(res.msg)
-      })
-
-    },
+    // save(){
+    //   const list =current.map((item, index) => {
+    //         item.name = item.label;
+    //         item.sort = index + 1;
+    //         item.columns = item.id;
+    //         item.id = 0;
+    //         if(item.slotName === undefined){
+    //           item.slotName = null;
+    //         }
+    //         if(item.visible){
+    //           item.display = "1";
+    //         }else {
+    //           item.display ="0";
+    //         }
+    //         return item;
+    //       });
+    //   console.log(list)
+    //   addList(list).then(res=>{
+    //     console.log(res.msg)
+    //   })
+    //
+    // },
     // 閲嶇疆鎺掑簭鐨勬柟娉�
     handleResetSort() {
       this.hiddenColumnsList();
@@ -579,22 +582,25 @@
       });
 
     },
+    //鐐瑰嚮鎺掑簭鍔犲噺鏇存柊
     handleUpdateSort(row) {
       //鏇挎崲琛ㄥご鍏冪礌
       this.columnsNew = this.columnsNew.map(item => {
-        if (item.columns === row.columns) {
+        if (item.id === row.id) {
           return row;
         }
         return item;
       });
       //鏇挎崲浼犲叆鏄鹃殣缁勪欢鏁版嵁
       this.defaultColumns = this.defaultColumns.map(item => {
-        if (item.columns === row.columns) {
+        if (item.id === row.id) {
           return row;
         }
         return item;
       });
-      this.defaultColumns = this.defaultColumns.sort((a, b) => a.sort - b.sort);
+      //鏄鹃殣鎺掑簭
+      this.defaultColumns.sort((a, b) => a.sort - b.sort);
+      //涓婚〉琛ㄥご鏁版嵁鎺掑簭
       this.columnsNew.sort((a, b) => a.sort - b.sort);
 
       //寮哄埗table娓叉煋

--
Gitblit v1.8.0