zhangh 2 anni fa
parent
commit
4a928d24cd

+ 1 - 1
src/views/AssessmentArea/index.vue

@@ -21,7 +21,7 @@
         align="right"
         start-placeholder="开始日期"
         end-placeholder="结束日期"
-        value-format='yyyy-MM-dd hh:mm'
+        value-format='yyyy-MM-dd HH:mm:ss'
         :default-time="['00:00:00', '23:59:59']"
       >
         >

+ 5 - 3
src/views/exctab/excelmodel/excelmodel.vue

@@ -37,7 +37,7 @@
                 <span v-show="data.moreShow">
                   <i
                     class="el-icon-circle-plus-outline marleft10"
-                    @click.stop="addExcel(data,node)"
+                    @click.stop="addExcel(data)"
                     v-if="data.fileType!=3"
                   ></i>
                   <!-- 编辑 -->
@@ -473,6 +473,9 @@ export default {
         } else {
           this.$refs.trees.updateKeyChildren(this.treeNode.id, das)
         }
+        let node = this.$refs.trees.getNode(ids);
+        node.isLeaf = false;
+        node.isLeafByUser = false;
         this.dialogTap = false
       }
     },
@@ -591,7 +594,7 @@ export default {
         this.dialogTap = true
       }
     },
-    async addExcel (data, node) {//添加
+    async addExcel (data) {//添加
       this.dialogTapType = '新增'
       console.log(data);
       if (data.fileType == 3) {
@@ -748,7 +751,6 @@ export default {
     //#region 树结构拉事件
     mousedown1 () {//鼠标按下事件
       document.onmousemove = (va) => {
-        console.log(1000 > va.clientX - 240 && va.clientX - 240 > 200);
         if (1000 > va.clientX - 240 && va.clientX - 240 > 200) {
           this.threessW = va.clientX - 240
         }

+ 73 - 5
src/views/manager/archivetree.vue

@@ -13,11 +13,16 @@
       >
         <div>
           <h2>归档目录树</h2>
+          <el-input
+            placeholder="输入关键字进行过滤"
+            v-model="filterText"
+          >
+          </el-input>
           <el-tree
+            v-show="!filterText"
             ref="trees1"
             :props="props"
             :load="loadNode"
-            :data="data"
             node-key="id"
             lazy
           >
@@ -34,13 +39,54 @@
                 v-show="data.moreShow"
               >
                 <i
-                  @click.stop='addtree(data)'
+                  @click.stop='addtree(data,node)'
                   class="el-icon-circle-plus-outline"
                   style="fontSize:18px;"
                   v-if="data.isStorageNode!=1"
                 ></i>
                 <i
-                  @click.stop='edittree(data)'
+                  @click.stop='edittree(data,node)'
+                  class="el-icon-edit-outline marleft5"
+                  style="fontSize:18px;"
+                  v-if="node.level!=1"
+                ></i>
+                <i
+                  @click.stop='deletetree(node)'
+                  class="el-icon-delete marleft5"
+                  style="fontSize:18px;"
+                  v-if="node.level!=1"
+                ></i>
+              </span>
+            </span>
+          </el-tree>
+          <el-tree
+            v-show="filterText"
+            ref="trees1"
+            :props="props"
+            :data="data"
+            node-key="id"
+            :filter-node-method="filterNode"
+          >
+            <span
+              class=" flexStar"
+              slot-scope="{ node, data }"
+              @mouseover="mouseOver(data)"
+              @mouseleave="mouseLeave(data)"
+              style="box-sizing: border-box;width:100%;"
+            >
+              <span>{{ data.title }}</span>
+              <span
+                class="marleft10"
+                v-show="data.moreShow"
+              >
+                <i
+                  @click.stop='addtree(data,node)'
+                  class="el-icon-circle-plus-outline"
+                  style="fontSize:18px;"
+                  v-if="data.isStorageNode!=1"
+                ></i>
+                <i
+                  @click.stop='edittree(data,node)'
                   class="el-icon-edit-outline marleft5"
                   style="fontSize:18px;"
                   v-if="node.level!=1"
@@ -319,6 +365,7 @@ export default {
   data () {
     return {
       //#region 左侧树
+      filterText: '',//筛选条件
       treeNode: {},
       nodeNames: '',
       token: '',
@@ -488,7 +535,7 @@ export default {
         this.$set(data, 'moreShow', true)
       }
     },
-    addtree (data) {//添加树
+    addtree (data, node) {//添加树
       console.log(data);
       if (this.JobTypeList.length == 0) {
         this.roletree()
@@ -563,6 +610,19 @@ export default {
         this.form.displayHierarchy = res.data.displayHierarchy   //显示层级
       }
     },
+    async archiveTreetree4 () {//全加载左侧树
+      const { data: res } = await archiveTreetree({
+        token: this.token
+      })
+      console.log(res);
+      if (res.code == 200 && res.msg == "操作成功") {
+        this.data = res.data
+      }
+    },
+    filterNode (value, data) {//筛选条件
+      if (!value) return true;
+      return data.title.indexOf(value) !== -1;
+    },
     //#endregion
 
     //#region 新增编辑节点弹框
@@ -699,7 +759,9 @@ export default {
         this.treeTap = false
         let das = await this.lazyTree(da.parentId)
         this.$refs.trees1.updateKeyChildren(da.parentId, das)
-
+        let node = this.$refs.trees1.getNode(da.parentId);
+        node.isLeaf = false;
+        node.isLeafByUser = false;
       }
     },
     async archiveTreeUpdate (da) {//编辑
@@ -805,6 +867,11 @@ export default {
     },
     //#endregion
   },
+  watch: {
+    filterText (val) {
+      this.$refs.trees1.filter(val);
+    }
+  },
   created () {
     this.token = 'bearer ' + getToken()
     this.archiveTreetree({
@@ -812,6 +879,7 @@ export default {
       disPlayTree: 1,
       nodeType: 2,
     })
+    this.archiveTreetree4()
   },
   mounted () {
     this.heights = this.$refs.container.$el.offsetHeight

+ 167 - 162
src/views/manager/projectinfo/editElement/editElement.vue

@@ -1,140 +1,145 @@
 <template>
-  <basic-container class="editElement">
-    <div class="header">
-      提示:鼠标右键功能:更换匹配元素字段、新增元素字段、删除匹配元素字段、公式配置&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 红色:代表匹配不成功、蓝色代表推荐匹配元素字段、绿色代表匹配成功
-    </div>
-    <el-row
-      :gutter="20"
-      class="martop20"
-    >
-      <el-col :span="16">
-        <div
-          class='parent'
-          id='parent'
-        >
-        </div>
-
-      </el-col>
-      <el-col
-        :span="8"
-        v-show="AddNewElementField == '替换元素'"
+  <div
+    style="height:100%;"
+    ref="heights"
+  >
+    <basic-container class="editElement">
+      <div
+        class="header"
+        style="padding-bottom:20px;"
       >
-        <el-select
-          style="width:400px;"
-          v-model="value"
-          filterable
-          placeholder="请选择"
+        提示:鼠标右键功能:更换匹配元素字段、新增元素字段、删除匹配元素字段、公式配置&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 红色:代表匹配不成功、蓝色代表推荐匹配元素字段、绿色代表匹配成功
+      </div>
+      <el-row
+        :gutter="20"
+        :style="{height:heights-150+'px',}"
+      >
+        <el-col :span="16">
+          <div
+            class='parent'
+            id='parent'
+          >
+          </div>
+
+        </el-col>
+        <el-col
+          :span="8"
+          v-show="AddNewElementField == '替换元素'"
         >
-          <el-option
-            v-for="item in options"
-            :key="item.id"
-            :label="item.eName"
-            :value="item.id"
+          <el-select
+            style="width:400px;"
+            v-model="value"
+            filterable
+            placeholder="请选择"
+          >
+            <el-option
+              v-for="item in options"
+              :key="item.id"
+              :label="item.eName"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+          <div class="tihuan">替换为:</div>
+          <el-input
+            :disabled="true"
+            type="textarea"
+            :rows="4"
+            placeholder="请输入内容"
+            v-model="value"
           >
-          </el-option>
-        </el-select>
-        <div class="tihuan">替换为:</div>
-        <el-input
-          :disabled="true"
-          type="textarea"
-          :rows="4"
-          placeholder="请输入内容"
-          v-model="value"
+          </el-input>
+          <div class="martop20">
+            <el-button
+              type="info"
+              @click="cancelReplace()"
+            >取消</el-button>
+            <el-button
+              type="primary"
+              :disabled="tag"
+              @click="saveReplace()"
+            >保存</el-button>
+          </div>
+        </el-col>
+        <el-col
+          :span="8"
+          v-show="AddNewElementField == ''"
         >
-        </el-input>
-        <div class="martop20">
-          <el-button
-            type="info"
-            @click="cancelReplace()"
-          >取消</el-button>
-          <el-button
-            type="primary"
-            :disabled="tag"
-            @click="saveReplace()"
-          >保存</el-button>
-        </div>
-      </el-col>
-      <el-col
-        :span="8"
-        v-show="AddNewElementField == ''"
+          <div style="position: absolute;bottom: 0px;right:0px;">
+            <el-button
+              type="info"
+              @click="returns()"
+            >返回</el-button>
+            <el-button type="primary">保存</el-button>
+          </div>
+
+        </el-col>
+      </el-row>
+      <!-- 弹框 -->
+      <div
+        @mouseout="mouseout22"
+        @mousemove="mousemove22"
+        v-if="cascaderPanel"
       >
-        <div
-          class="flexEnd"
-          style="margin-top:120%;"
-        >
-          <el-button
-            type="info"
-            @click="returns()"
-          >返回</el-button>
-          <el-button type="primary">保存</el-button>
-        </div>
-      </el-col>
-    </el-row>
-    <!-- 弹框 -->
-    <div
-      @mouseout="mouseout22"
-      @mousemove="mousemove22"
-      v-if="cascaderPanel"
-    >
-      <el-cascader-panel
-        :style="{width:'360px',position: 'absolute',top:top+'px',left:left+'px','background-color':'#fff',margin:'40px',}"
-        :props="{ expandTrigger: 'hover' }"
-        :options="options2"
-        @change="takuangchangge"
-      ></el-cascader-panel>
-    </div>
+        <el-cascader-panel
+          :style="{width:'360px',position: 'absolute',top:top+'px',left:left+'px','background-color':'#fff',margin:'40px',}"
+          :props="{ expandTrigger: 'hover' }"
+          :options="options2"
+          @change="takuangchangge"
+        ></el-cascader-panel>
+      </div>
 
-    <el-dialog
-      title="添加新元素字段"
-      :visible="AddNewElementField=='新增元素'"
-      width="60%"
-      :before-close="handleClose"
-      :modal-append-to-body="false"
-      style="z-index: 999999;"
-    >
-      <div>
-        <i
-          @click="addyuansu"
-          class="el-icon-circle-plus marbottom10"
-          style="color:red; font-size:24px; float: right;cursor: pointer;"
-        ></i>
-        <el-table
-          :data="tableData"
-          height="250"
-          border
-          style="width: 100%"
-        >
-          <el-table-column
-            prop="date"
-            label="清表元素名称"
-          >
-            <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.eName"
-                placeholder="请输入内容"
-              ></el-input>
-            </template>
-          </el-table-column>
-          <el-table-column
-            prop="date"
-            label="元素数据类型"
+      <el-dialog
+        title="添加新元素字段"
+        :visible="AddNewElementField=='新增元素'"
+        width="60%"
+        :before-close="handleClose"
+        :modal-append-to-body="false"
+        style="z-index: 999999;"
+      >
+        <div>
+          <i
+            @click="addyuansu"
+            class="el-icon-circle-plus marbottom10"
+            style="color:red; font-size:24px; float: right;cursor: pointer;"
+          ></i>
+          <el-table
+            :data="tableData"
+            height="250"
+            border
+            style="width: 100%"
           >
-            <template slot-scope="scope">
-              <el-select
-                v-model="scope.row.eType"
-                placeholder="请选择"
-              >
-                <el-option
-                  v-for="item in dataType"
-                  :key="item.dictKey"
-                  :label="item.dictValue"
-                  :value="item.dictKey"
+            <el-table-column
+              prop="date"
+              label="清表元素名称"
+            >
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.eName"
+                  placeholder="请输入内容"
+                ></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column
+              prop="date"
+              label="元素数据类型"
+            >
+              <template slot-scope="scope">
+                <el-select
+                  v-model="scope.row.eType"
+                  placeholder="请选择"
                 >
-                </el-option>
-              </el-select>
-            </template>
-          </el-table-column>
-          <!-- <el-table-column
+                  <el-option
+                    v-for="item in dataType"
+                    :key="item.dictKey"
+                    :label="item.dictValue"
+                    :value="item.dictKey"
+                  >
+                  </el-option>
+                </el-select>
+              </template>
+            </el-table-column>
+            <!-- <el-table-column
             prop="date"
             label="长度"
             align="center"
@@ -146,35 +151,36 @@
               ></el-input>
             </template>
           </el-table-column> -->
-          <el-table-column
-            prop="date"
-            align="center"
-            width="120"
-            label="操作"
-          >
-            <template slot-scope="scope">
-              <el-button
-                type="danger"
-                size="mini"
-                @click="deleteziduan(scope.$index)"
-              >删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
-      </div>
-      <span
-        slot="footer"
-        class="dialog-footer"
-      >
-        <el-button @click="handleClose()">取 消</el-button>
-        <el-button
-          type="primary"
-          :disabled="tableData.length===0"
-          @click="pushNewElementField()"
-        >确 定</el-button>
-      </span>
-    </el-dialog>
-  </basic-container>
+            <el-table-column
+              prop="date"
+              align="center"
+              width="120"
+              label="操作"
+            >
+              <template slot-scope="scope">
+                <el-button
+                  type="danger"
+                  size="mini"
+                  @click="deleteziduan(scope.$index)"
+                >删除</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </div>
+        <span
+          slot="footer"
+          class="dialog-footer"
+        >
+          <el-button @click="handleClose()">取 消</el-button>
+          <el-button
+            type="primary"
+            :disabled="tableData.length===0"
+            @click="pushNewElementField()"
+          >确 定</el-button>
+        </span>
+      </el-dialog>
+    </basic-container>
+  </div>
 </template>
 
 <script>
@@ -184,9 +190,7 @@ import Vue from 'vue'
 export default {
   data () {
     return {
-      formData: {
-
-      },
+      heights: '',
       dataType: [],//数据类型
       tag: false,
       table: {
@@ -221,6 +225,7 @@ export default {
   },
   mounted () {
     this.cop()
+    this.heights = this.$refs.heights.clientHeight
   },
   created () {
     this.getElementInfoByTabId()
@@ -311,7 +316,7 @@ export default {
         }
       })
       var component = new MyComponent().$mount()
-      console.log(component.$el);
+
       document.getElementById('parent').appendChild(component.$el);
     },
     async copss () {
@@ -480,7 +485,7 @@ export default {
 
 <style lang="scss" scoped>
 .editElement {
-  padding-bottom: 40px !important;
+  // padding-bottom: 40px !important;
   .header {
     color: rgb(240, 114, 10);
   }

+ 41 - 15
src/views/system/user.vue

@@ -42,13 +42,6 @@
             slot-scope="{row,index}"
             slot="menu"
           >
-            <!-- <el-link
-              :underline="false"
-              type="primary"
-              icon="el-icon-edit"
-              size="small"
-              @click="$refs.crud.rowView(row,index)"
-            >查看</el-link> -->
             <el-link
               class="marleft10"
               :underline="false"
@@ -105,6 +98,7 @@
                 class="marleft10"
                 type="danger"
                 icon="el-icon-delete"
+                :disabled='deletexiangmu'
                 circle
               ></el-button>
             </div>
@@ -415,7 +409,26 @@ export default {
         callback();
       }
     };
+    const phoneRules = (rule, value, callback) => {
+      if (!/^1[345789]\d{9}$/.test(value)) {
+        callback(new Error('请输入正确的手机号'));
+      } else {
+        callback();
+      }
+    };
+    const idNumberRules = (rule, value, callback) => {
+      if (!value) {
+        callback();
+      } else {
+        if (!/^(\d{18,18}|\d{15,15}|\d{17,17}x)/.test(value)) {
+          callback(new Error('请输入正确的身份证号'));
+        } else {
+          callback();
+        }
+      }
+    };
     return {
+      deletexiangmu: false,
       addData: {
         tenantId: '',
         deptId: ''
@@ -530,7 +543,8 @@ export default {
             label: "所属部门",
             prop: "deptName",
             slot: true,
-            display: false
+            display: false,
+            value: '',
           },
           {
             label: "用户平台",
@@ -634,14 +648,18 @@ export default {
                 prop: "phone",
                 rules: [{
                   required: true,
-                  message: "请输入手机号",
+                  validator: phoneRules,
                   trigger: "blur",
                 }],
               },
               {
                 label: "身份证号",
                 prop: "idNumber",
-
+                rules: [{
+                  required: false,
+                  validator: idNumberRules,
+                  trigger: "blur",
+                }],
               },
               {
                 label: "所属部门",
@@ -649,6 +667,7 @@ export default {
                 type: "tree",
                 // multiple: true,
                 dicData: [],
+                value: '',
                 props: {
                   label: "title",
                   value: 'value',
@@ -912,6 +931,8 @@ export default {
       this.fromss.roleIds = ''  //合同段Id
       this.contractData = []       //合同段枚举
       this.form.deptName = this.addData.deptId
+      const column = this.findObject(this.option.group, 'deptId')
+      column.value = this.addData.deptId
       this.$refs.crud.rowAdd()
     },
     addProject (type) {//确定添加参建项目
@@ -1084,7 +1105,6 @@ export default {
     },
     deleteProject (key, type) {//删除参建项目按钮
       if (type == 'add') {
-        console.log(key, type);
         this.fromss.projectAndUserList[key].dataInfo.forEach(val => {
           if (val.id == this.fromss.projectAndUserList[key].contractId) {
             if (this.fromss.projectAndUserList[key].dataInfo.length == 1) {
@@ -1114,10 +1134,16 @@ export default {
       done()
     },
     async removeUsersByIds (ids) {//删除参建项目
-      const { data: res } = await removeUsersByIds(ids)
-      console.log(res);
-      if (res.code == 200) {
-        this.findProjectAndContractList(this.fromss.userId)
+      this.deletexiangmu = true
+      try {
+        const { data: res } = await removeUsersByIds(ids)
+        console.log(res);
+        if (res.code == 200) {
+          await this.findProjectAndContractList(this.fromss.userId)
+        }
+        this.deletexiangmu = false
+      } catch (error) {
+        this.deletexiangmu = false
       }
     },
     async getProjectList () {//项目类型

+ 2 - 2
vue.config.js

@@ -28,9 +28,9 @@ module.exports = {
                 //本地服务接口地址
                 // target: 'http://localhost',
                 // target: 'http://192.168.4.6',
-                // target: 'http://47.110.251.215:8090',
+                target: 'http://47.110.251.215:8090',
                 // target: 'http://192.168.4.12',
-                target: 'http://192.168.4.44',
+                // target: 'http://192.168.4.44',
                 //远程演示服务地址,可用于直接启动项目
                 //target: 'https://saber.bladex.vip/api',
                 ws: true,