Sfoglia il codice sorgente

元素库-编辑元素修改

duy 2 anni fa
parent
commit
c0e9c9f80a
1 ha cambiato i file con 111 aggiunte e 8 eliminazioni
  1. 111 8
      src/views/manager/wbsinfo/element.vue

+ 111 - 8
src/views/manager/wbsinfo/element.vue

@@ -238,7 +238,7 @@
     <PublicWbs  ref="PublicWbs" :from="from"/>
     <!-- 编辑元素 -->
      <el-dialog
-      :title="(curEleTable.tableName?curEleTable.tableName:'')+'  元素编辑'"
+      :title="(curEleTable.title?curEleTable.title:'')+'  元素编辑'"
       :visible.sync="editEleVisible"
       width="80%"
       append-to-body
@@ -445,6 +445,7 @@
 import { detailExcel, excelType, tabLazytree,  wbstree, getWbsTypeList,} from '@/api/exctab/excelmodel';
 import {updateBatchNodeTableInfo,selectByNodeTable,selectFormElements} from "@/api/manager/wbstree";
 import {tabTypeLazyTreeAll,delTabInfoAll} from "@/api/manager/wbsprivate";
+import {saveElement, remove as removeElement, updateBatchElements, getTemplate,importWbsElement} from "@/api/manager/wbsformelement";
 import FormulaEdit from "@/views/formula/edit.vue";
 import PublicWbs from './PublicWbs.vue'
 import { searchNodeTables, } from "@/api/exctab/excelmodel";
@@ -462,6 +463,17 @@ export default {
       selectionList:[],
       tableTypelist:[],
       ownerTypeList:[],
+      dataTypeList:[],
+           //数据类型的默认长度
+      dataTypeDefaultMap: {
+        1: 250,//字符串
+        2: 50,//整数
+        3: 50,//小数
+        4: 50,//日期
+        5: 50,//数值
+        6: 50,//签名
+        7: 100,//文件
+      },
       page: {
         size: 10,
         current: 1,
@@ -651,6 +663,34 @@ export default {
     }
   },
   methods: {
+     addEleRow (list) {
+      list.push({});
+    },
+    delEleRow (index, list) {
+      list.splice(index, 1);
+    },
+    delEleRowHandle (index, list) {
+      let row = list[index];
+      if (row.id) {
+        //有id需要请求删除
+        this.$confirm('是否确认删除?', '删除元素', {
+          distinguishCancelAndClose: true,
+          confirmButtonText: '删除',
+          cancelButtonText: '取消'
+        }).then(() => {
+          // removeElement(row.id, this.curEleTable.initTableName, row.ekey).then(() => {
+          //   list.splice(index, 1);
+          // })
+          // this.curEleTable.elementTotal --;
+             removeElement(row.id, this.curEleTable.initTableName, row.ekey).then(() => {
+            list.splice(index, 1);
+          })
+          this.curEleTable.elementTotal --;
+        })
+      } else {
+        list.splice(index, 1);
+      }
+    },
      formatTableType(row, column, cellValue) {
       for (let i = 0; i < this.tableTypelist.length; i++) {
         if (this.tableTypelist[i].dictKey == cellValue) {
@@ -762,7 +802,8 @@ export default {
     editElement (row) {
       console.log(row,'row');
       this.curEleTable = row;
-      selectFormElements(this.curEleTable.initTableId).then((res) => {
+      // selectFormElements(this.curEleTable.initTableId).then((res) => {
+         selectFormElements(this.curEleTable.id).then((res) => {
         res.data.data.forEach((element) => {
           this.eleReg.exec(element.eAllowDeviation);
           //console.log(RegExp.$1)
@@ -773,6 +814,10 @@ export default {
         this.editEleList = res.data.data;
       })
       this.editEleVisible = true;
+    },
+      //修改数据类型,给个默认值
+    setDefaultLength (row) {
+      this.$set(row, 'eLength', this.dataTypeDefaultMap[row.eType]);
     },
     //分配节点
     distribution(row){
@@ -782,13 +827,57 @@ export default {
       
       // this.AssociatedPublicTap = true;
     },
-     handleEditFormula (index, row) {
-      // this.curEleTable = row;
-      // selectFormElements(this.curEleTable.initTableId).then((res) => {
+    
+    saveNewEle (row) {
+      if (!row.eName) {
+        this.$message({
+          type: "warning",
+          message: "请填写元素名称"
+        });
+        return;
+      }
+      if (!row.eType) {
+        this.$message({
+          type: "warning",
+          message: "请选择数据类型"
+        });
+        return;
+      }
 
-      //   this.editEleListFilter = res.data.data;
-      //   this.editEleListAll = [].concat(this.editEleListFilter);
-      // })
+      row.eAllowDeviation = (row.allow ? row.allow : '') + (row.deviation ? row.deviation : '');
+      row.fId = this.curEleTable.id;
+      row.initTableName = this.curEleTable.initTableName;
+      // if (row.eType == 4) {
+      //   this.$set(row, 'eLength', 0);
+      //   //row.eLength = 0;
+      // } else
+      if (!row.eLength) {
+        this.$message({
+          type: "warning",
+          message: "请填写长度"
+        });
+        return;
+      }
+
+      saveElement(row).then((res) => {
+        if (res.data.data) {
+          this.$set(row, 'id', res.data.data.id);
+          this.$set(row, 'ekey', res.data.data.ekey);
+          this.$message({
+            type: "success",
+            message: "保存成功!"
+          });
+        }
+      })
+    },
+     handleEditFormula ( row) {
+       console.log(row,'row');
+      this.curEleTable = row;
+      selectFormElements(this.curEleTable.id).then((res) => {
+
+        this.editEleListFilter = res.data.data;
+        this.editEleListAll = [].concat(this.editEleListFilter);
+      })
       this.editEleFormulaVisible = true;
     },
      //搜索 筛选
@@ -866,6 +955,19 @@ export default {
         this.ownerTypeList = res.data.data;
       });
     },
+    getDataTypelist() {
+      if (this.dataTypeList.length > 1) {
+        return;
+      }
+      getDictionary({
+        code: "data_type",
+      }).then((res) => {
+        res.data.data.forEach((element) => {
+          element.dictKey = Number(element.dictKey);
+        });
+        this.dataTypeList = res.data.data;
+      });
+    },
     getTableTypelist() {
       if (this.tableTypelist.length > 1) {
         return;
@@ -997,6 +1099,7 @@ export default {
         });
      this.getTableTypelist();
      this.getOwnerTypelist();
+     this.getDataTypelist();
   },
   mounted () {
     // this.heightss = this.$refs.rulesss.clientHeight