GuoYuFu123 6 年 前
コミット
4a7de14bc2

+ 35 - 34
package.json

@@ -1,36 +1,37 @@
 {
-    "name": "point-standard",
-    "version": "0.1.0",
-    "private": true,
-    "scripts": {
-        "serve": "vue-cli-service serve",
-        "build": "vue-cli-service build"
-    },
-    "dependencies": {
-        "axios": "^0.18.0",
-        "echarts": "^4.1.0",
-        "element-ui": "^2.5.4",
-        "handsontable-pro": "^3.0.0",
-        "vue": "^2.5.22",
-        "vue-router": "^3.0.1",
-        "vuex": "^3.0.1"
-    },
-    "devDependencies": {
-        "@vue/cli-plugin-babel": "^3.4.0",
-        "@vue/cli-service": "^3.4.0",
-        "babel-plugin-component": "^1.1.1",
-        "node-sass": "^4.9.0",
-        "sass-loader": "^7.1.0",
-        "vue-template-compiler": "^2.5.21"
-    },
-    "postcss": {
-        "plugins": {
-            "autoprefixer": {}
-        }
-    },
-    "browserslist": [
-        "> 1%",
-        "last 2 versions",
-        "not ie <= 8"
-    ]
+  "name": "point-standard",
+  "version": "0.1.0",
+  "private": true,
+  "scripts": {
+    "serve": "vue-cli-service serve",
+    "build": "vue-cli-service build"
+  },
+  "dependencies": {
+    "axios": "^0.18.0",
+    "core-js": "^2.6.5",
+    "echarts": "^4.1.0",
+    "element-ui": "^2.5.4",
+    "handsontable-pro": "^3.0.0",
+    "vue": "^2.5.22",
+    "vue-router": "^3.0.1",
+    "vuex": "^3.0.1"
+  },
+  "devDependencies": {
+    "@vue/cli-plugin-babel": "^3.4.0",
+    "@vue/cli-service": "^3.4.0",
+    "babel-plugin-component": "^1.1.1",
+    "node-sass": "^4.9.0",
+    "sass-loader": "^7.1.0",
+    "vue-template-compiler": "^2.5.21"
+  },
+  "postcss": {
+    "plugins": {
+      "autoprefixer": {}
+    }
+  },
+  "browserslist": [
+    "> 1%",
+    "last 2 versions",
+    "not ie <= 8"
+  ]
 }

+ 67 - 22
src/components/config_point/step3_edit/index.vue

@@ -33,8 +33,8 @@
             </ul>
         </div>
         <div class='right'>
-            <el-form class='form' ref='form' :model='form' label-width='120px'>
-                <el-form-item label='对应数据字典'>
+            <el-form class='form' :rules='rules' ref='form' :model='form' label-width='120px'>
+                <el-form-item label='对应数据字典' prop='name'>
                     <el-input v-model='form.name'></el-input>
                     <div class='dict'>
                         <p class='top'>
@@ -46,25 +46,32 @@
                         </p>
                     </div>
                 </el-form-item>
-                <el-form-item label='值处理方式'>
-                    <el-select v-model='form.type' placeholder='请选择'>
-                        <el-option v-for='item in handleTypeArr' :key='item.value' :label='item.label' :value='item.value'></el-option>
+                <el-form-item label='值处理方式' prop='DataRuleType'>
+                    <el-select v-model='form.DataRuleType' placeholder='请选择'>
+                        <el-option
+                            v-for='item in handleTypeArr'
+                            :key='item.value'
+                            :label='item.label'
+                            :value='item.value'
+                        ></el-option>
                     </el-select>
                 </el-form-item>
-                 <!-- components -->
-                <no-handle v-if='form.type == 0'></no-handle>
-                <auto-handle v-else-if='form.type == 1'></auto-handle>
-                <enum-handle v-else-if='form.type == 2'></enum-handle>
-                <formula-handle v-else-if='form.type == 3'></formula-handle>
+                <!-- components -->
+                <no-handle v-if='form.DataRuleType == "无需处理,直接使用"'></no-handle>
+                <auto-handle v-else-if='form.DataRuleType == "需自动单位转换"'></auto-handle>
+                <enum-handle v-else-if='form.DataRuleType == "需按设置枚举转换"'></enum-handle>
+                <formula-handle v-else-if='form.DataRuleType == "需按公式转换"'></formula-handle>
                 <split-handle v-else></split-handle>
             </el-form>
-           
+            <div class='btn-box'>
+                <el-button type='primary' @click='save'>保存</el-button>
+            </div>
         </div>
     </div>
 </template>
 
 <script>
-import noHandle from './no_handle';
+import noHandle from './no_handle'
 import autoHandle from './auto_handle'
 import enumHandle from './enum_handle'
 import formulaHandle from './formula_handle'
@@ -75,35 +82,69 @@ export default {
         return {
             form: {
                 name: '',
-                type: ''
+                DataRuleType: '无需处理,直接使用'
+            },
+            rules: {
+                name: [{ required: true, message: '请输入对应数据字典', trigger: 'blur' }],
+                DataRuleType: [{ required: true, message: '请选择值处理方式', trigger: 'change' }]
             },
             textarea: '',
             handleTypeArr: [
                 {
                     label: '无需处理,直接使用',
-                    value: '0'
-                },{
+                    value: '无需处理,直接使用'
+                },
+                {
                     label: '需自动单位转换',
-                    value: '1',
-                },{
+                    value: '需自动单位转换'
+                },
+                {
                     label: '需按设置枚举转换',
-                    value: '2'
-                },{
+                    value: '需按设置枚举转换'
+                },
+                {
                     label: '需按公式转换',
-                    value: '3'
-                },{
+                    value: '需按公式转换'
+                },
+                {
                     label: '需按拆分枚举转换',
-                    value: '4'
+                    value: '需按拆分枚举转换'
                 }
             ]
         }
     },
+    props: {
+        editData: {
+            type: Object,
+            default: {}
+        }
+    },
     components: {
         noHandle,
         autoHandle,
         enumHandle,
         formulaHandle,
         splitHandle
+    },
+    methods: {
+        //保存
+        save() {
+            console.log('save-----')
+            console.log(this.form)
+            this.$refs['form'].validate(valid => {
+                if (valid) {
+                    alert('submit!')
+                } else {
+                    console.log('error submit!!')
+                    return false
+                }
+            })
+        }
+    },
+    mounted() {
+        console.log('edit')
+        console.log(this.editData || '')
+        console.log(this.postJson)
     }
 }
 </script>
@@ -136,6 +177,10 @@ export default {
                 }
             }
         }
+        .btn-box {
+            margin-top: 20px;
+            text-align: center;
+        }
     }
 }
 </style>

+ 18 - 4
src/components/config_point/step3_edit/no_handle.vue

@@ -1,7 +1,7 @@
 <template>
-    <el-form ref='form' :model='form' label-width='120px'>
-        <el-form-item label='设备标识'>
-            <el-input v-model='form.name'></el-input>
+    <el-form ref='form' :model='form' :rules='rules' label-width='120px'>
+        <el-form-item label='设备标识' prop="EquipmentMark">
+            <el-input v-model='form.EquipmentMark'></el-input>
         </el-form-item>
     </el-form>
 </template>
@@ -12,9 +12,23 @@ export default {
     data() {
         return {
             form: {
-                name: ''
+                EquipmentMark: ''
+            },
+            rules: {
+                EquipmentMark: [{ required: true, message: '请输入设备标识', trigger: 'blur' }],
             }
         }
+    },
+    methods: {
+        getForm(cb) {
+            this.$refs["form"].validate((valid) => {
+                if(valid){
+                    cb(this.form)
+                } else {
+                    cb(false)
+                }
+            })
+        }
     }
 }
 </script>

+ 20 - 3
src/views/config_point/steps/step3.vue

@@ -10,6 +10,9 @@
         </div>
         <own-dialog :width="'1000px'" :dialogVisible="isDialogShow" @cancel="close">
             <dialog-main></dialog-main>
+        </own-dialog>        
+        <own-dialog :width="'80%'" :dialogVisible="isEditDialogShow" @cancel="closeEdit">
+            <step3-edit :editData='editData'></step3-edit>
         </own-dialog>
     </div>
 </template>
@@ -29,15 +32,21 @@
     import {
         queryPoint
     } from "fetch/point_http"
+    import step3Edit from 'components/config_point/step3_edit/index'
     export default {
         data() {
             return {
                 checked: false,
                 settings: {},
                 isDialogShow: false,
-                hot: null
+                hot: null,
+
+
+                /************point3_step_edit*********************** */
+                isEditDialogShow: false,                          
+                editData:{},                                  //编辑数据
             }
-        },
+        }, 
         computed: {
             ...mapGetters("project", [
                 "projectId",
@@ -77,6 +86,13 @@
              */
             clickEdit(rowData,row){
                 console.log(rowData,row)
+                if(row.row >= 0 && row.col == 7) {
+                    this.isEditDialogShow = true;
+                    this.editData = rowData;
+                }                
+            },
+            closeEdit() {
+                this.isEditDialogShow = false;
             },
             //初始化表格实例
             getData() {
@@ -110,7 +126,8 @@
         components: {
             handsontableComponent,
             ownDialog,
-            dialogMain
+            dialogMain,
+            step3Edit
         }
     }
 </script>