Forráskód Böngészése

规范参数管理

duy 2 hónapja
szülő
commit
cc21e31e54

+ 11 - 1
src/router/views/index.js

@@ -101,7 +101,17 @@ export default [{
             component: () =>
                 import ( /* webpackChunkName: "views" */'@/views/digital/signer.vue')
             },
-          
+                //电签角色库
+            {
+            path: '/rule/manager',
+            name: '规范参数管理',
+            meta: {
+                i18n: 'ruleManager',
+                menu: false,
+            },
+            component: () =>
+                import ( /* webpackChunkName: "views" */'@/views/codeRule/ruleManage.vue')
+            },
         ]
     }, {
         path: '/test',

+ 3 - 0
src/views/codeRule/ruleManage.vue

@@ -0,0 +1,3 @@
+<template>
+    <div>5555555555</div>
+</template>

+ 227 - 0
src/views/manager/projectinfo/codeSet.vue

@@ -0,0 +1,227 @@
+<template>
+  <el-dialog
+    title="编号配置" 
+    :visible.sync="dialogVisible"
+    width="70%"
+    append-to-body
+  >
+
+   <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+    <el-tab-pane  v-for="item in activeOptions"  :label="item.label" :name="item.value">
+    <div class="file-rule-container">
+         
+     <div class="header-box">
+       <div class="preview-box">
+        <span>生成预览</span>
+        <el-input v-model="dataNumber" placeholder="请输入生成的预览编号" style="width: 300px; margin-left: 10px;" disabled size="small"></el-input>
+      </div>
+        <div class="header-tools">
+            
+            <el-button type="text" icon="el-icon-plus" @click="addRow">新增</el-button>
+            <el-button type="text" icon="el-icon-sort" @click="refreshData">排序</el-button>
+            <el-button type="text" icon="el-icon-delete" @click="refreshData" style="color: #F56C6C;">删除</el-button>
+        </div>
+     </div>
+      
+      <el-table
+        :data="tableData"
+        style="width: 100%"
+        v-loading="loading"
+      >
+        <el-table-column label="序号" type="index" width="50"></el-table-column>
+        
+        <el-table-column label="流水号">
+          <template slot-scope="scope">
+            <el-select 
+              v-if="scope.row.isEdit"
+              v-model="scope.row.number" 
+              @change="handleNumberChange($event,scope.row)"
+              placeholder="请选择"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in numberOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+            <span v-else>{{ scope.row.numberName }}</span>
+           
+          </template>
+        </el-table-column>
+
+        <el-table-column label="数据填充">
+          <template slot-scope="scope">
+           <div  v-if="scope.row.isEdit">
+             <el-input v-model="scope.row.data" placeholder="输入生成编号时包含的固定字符" v-if="scope.row.number==='1'"></el-input>
+            <el-input v-model="scope.row.data" placeholder="*自动获取当前合同段编号" v-if="scope.row.number==='2'" disabled></el-input>
+            <el-input v-model="scope.row.data" placeholder="*自动获取各试验参数掩码" v-if="scope.row.number==='3'" disabled></el-input>
+            <el-input v-model="scope.row.data" placeholder="*自动获取当前年份" v-if="scope.row.number==='4'" disabled></el-input>
+             <el-input v-model="scope.row.data" placeholder="*自动获取当前月份" v-if="scope.row.number==='5'" disabled></el-input>
+            <el-input v-model="scope.row.data" placeholder="输入子增长的起始值和位数" v-if="scope.row.number==='6'"></el-input>
+           </div>
+            <span v-else>{{ scope.row.data }}</span>
+          </template>
+        </el-table-column>
+
+        <el-table-column label="是否自增">
+          <template slot-scope="scope">
+             <el-checkbox v-model="scope.row.isAutoAdd" v-if="scope.row.number==='6'"></el-checkbox>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="150">
+          <template slot-scope="scope">
+            <el-button
+              type="text"
+              @click="handleEdit(scope.$index, scope.row)"
+              v-if="!scope.row.isEdit"
+            >
+              编辑
+            </el-button>
+            <el-button
+              type="text"
+              @click="handleSave(scope.$index, scope.row)"
+              v-else
+            >
+              保存
+            </el-button>
+            <el-button
+              type="text"
+              @click="handleDelete(scope.$index, scope.row)"
+            >
+              删除
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    </el-tab-pane>
+    
+  </el-tabs>
+   
+
+    <span slot="footer" class="dialog-footer">
+      <el-button @click="dialogVisible = false">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit">保 存</el-button>
+    </span>
+  </el-dialog>
+</template>
+
+<script>
+export default {
+  name: 'FileRuleDialog',
+  
+  data() {
+    return {
+      dialogVisible: false,
+      loading: false,
+      tableData: [],
+      numberOptions: [
+        { value: '1', label: '固定字符' },
+        { value: '2', label: '合同段编号' },
+        { value: '3', label: '参数掩码' },
+        { value: '4', label: '年份' },
+        { value: '5', label: '月份' },
+        { value: '6', label: '流水号' },
+      ],
+      dataNumber: 'BG-20243W-00001',
+      activeName:'1',
+      activeOptions: [
+        { value: '1', label: '材料编号' },
+        { value: '2', label: '样品编号' },
+        { value: '3', label: '委托单编号' },
+        { value: '4', label: '记录表编号' },
+        { value: '5', label: '报告表编号' }
+      ]
+      
+    }
+  },
+
+  methods: {
+    show() {
+      this.dialogVisible = true
+      // this.loadData()
+    },
+    addRow() {
+      this.tableData.unshift({
+        isEdit: true,
+
+      
+      })
+    },
+
+    refreshData() {
+      this.loading = true
+      // TODO: 调用接口刷新数据
+      setTimeout(() => {
+        this.loading = false 
+      }, 500)
+    },
+
+    handleEdit(index, row) {
+      this.$set(row, 'isEdit', true)
+    },
+
+    handleSave(index, row) {
+   
+      row.isEdit = false
+    },
+
+    handleDelete(index, row) {
+      this.$confirm('确认删除该规则?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        this.tableData.splice(index, 1)
+      })
+    },
+
+    handleNumberChange(data,row) {
+      console.log(data,'data');
+      console.log(row,'row');
+      this.numberOptions.forEach(item => {
+        if (item.value === data) {
+          row.numberName = item.label
+        }
+      })
+      // 处理节点选择变化
+      // row.numberName=
+    },
+
+
+
+    handleSubmit() {
+      // TODO: 提交保存
+      this.dialogVisible = false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.file-rule-container {
+  .header-box{
+    display: flex;
+    justify-content: flex-end;
+    align-items: center;
+    margin-bottom: 20px;
+     margin-right: 10px;
+  }
+  .header-tools {
+    // display: flex;
+    
+    text-align: right;
+  }
+
+  .node-tree {
+    margin-top: 10px;
+    max-height: 200px;
+    overflow-y: auto;
+    border: 1px solid #EBEEF5;
+    padding: 10px;
+  }
+}
+</style>

+ 35 - 3
src/views/manager/projectinfo/tree.vue

@@ -14,6 +14,16 @@
               @click="fileTitleHandle"
               >文件题名(全局)
             </el-button>
+
+            <el-dropdown   style="margin-right: 10px"  @command	="handleBasicClick">
+              <el-button  size="medium">
+                基础数据管理<i class="el-icon-arrow-down el-icon--right"></i>
+              </el-button>
+              <el-dropdown-menu slot="dropdown">
+                <el-dropdown-item command="code">编号管理</el-dropdown-item>
+                <el-dropdown-item command="rule">规范参数管理</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
             <!-- 同步按钮 -->
             <el-button
               size="medium"
@@ -21,9 +31,9 @@
               @click="proSyncbtn"
               >项目数据同步
             </el-button>
-           
-          
     
+          
+                
 
             <el-button
               size="medium"
@@ -2141,7 +2151,8 @@
         <el-button type="primary" @click="saveTableSync" :loading="saveTableSyncLoad">确 定</el-button>
       </span>
     </el-dialog>
-
+    <!-- 编号设置弹窗 -->
+     <CodeSet ref="codeSetRef"  ></CodeSet>
   </div>
 </template>
 
@@ -2151,6 +2162,7 @@ import dynamicExcel from "./treeTemplate/dynamicExcel.vue";
 import FormulaEdit from "@/views/formula/edit.vue";
 import FormulaEditone from "@/views/formula/edit1.vue";
 import EditElement from "@/views/manager/projectinfo/editElement/editElement.vue";
+import CodeSet from "./codeSet.vue";
 import {
   saveFormAndElement,
   selectFormElements,
@@ -2214,6 +2226,7 @@ import { selectByNodeTable   as findNodeTableByCondition1 } from "@/api/manager/
 
 
 export default {
+
   data() {
     var checkMajorDataType = (rule, value, callback) => {
       //console.log(this.nodeDetail.nodeType)
@@ -2592,6 +2605,9 @@ export default {
       },
       isAdd:'',
       refreshLoading1:false,
+      codeDialog:false,
+ 
+      codeSetRef: null,
       
     };
   },
@@ -5305,6 +5321,21 @@ export default {
                       this.$message.error(res.data.msg)
                     }
         });
+    },
+    //基础数据管理
+    handleBasicClick(command) {
+      console.log(command, 'command');
+      if (command === "code") {
+        this.codeDialog = true;
+      
+        this.$refs.codeSetRef.show()
+      }else if(command === "rule") {
+          this.$router.push({
+            path: "/rule/manager",
+          
+          });
+
+      }
     }
   },
   watch: {
@@ -5386,6 +5417,7 @@ export default {
     FormulaEdit,
     EditElement,
     FormulaEditone,
+    CodeSet
   },
 };
 </script>