ysy 1 год назад
Родитель
Сommit
e09496c18f

+ 141 - 0
src/views/inspectionPoint/components/newEdit.vue

@@ -0,0 +1,141 @@
+<!-- 用户编辑弹窗 -->
+<template>
+  <el-dialog
+    :title="type == 'add' ? '新增' : type == 'edit' ? '编辑' : '详情'"
+    :visible.sync="visible"
+    :before-close="handleClose"
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+    width="70%"
+    append-to-body
+    class="ele-dialog-form"
+  >
+    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+      <el-row>
+        <el-col :span="12">
+          <el-form-item label="名称:" prop="pointName">
+            <el-input
+              :disabled="type == 'detail'"
+              clearable
+              v-model="form.pointName"
+              placeholder="请输入"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="区域:" prop="areaName">
+            <el-input
+              :disabled="type == 'detail'"
+              clearable
+              v-model="form.areaName"
+              placeholder="请输入"
+            />
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="12">
+          <el-form-item label="附件:" prop="files">
+            <fileUpload
+              v-model="form.files"
+              module="main"
+              :showLib="false"
+              :limit="1"
+              :disabled="type == 'detail'"
+            />
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row> 444 </el-row>
+    </el-form>
+    <template v-slot:footer>
+      <el-button @click="handleClose">取消</el-button>
+
+      <el-button
+        type="primary"
+        :loading="loading"
+        @click="save"
+        :disabled="type == 'detail'"
+      >
+        保存
+      </el-button>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+  import { save, update } from '@/api/inspectionPoint';
+  import fileUpload from '@/components/upload/fileUpload';
+  import EquipmentDialog from './EquipmentDialog';
+  import inspectionProjectList from './newInspectionProjectList';
+
+  export default {
+    components: {
+      fileUpload,
+      EquipmentDialog,
+      inspectionProjectList
+    },
+
+    props: {
+      type: {},
+
+      editObj: {
+        type: Object,
+        default: () => {}
+      }
+    },
+
+    data() {
+      return {
+        form: {
+          pointName: '',
+          areaName: '',
+          files: [],
+          qualityLevelList: []
+        },
+
+        rules: {
+          pointName: [{ required: true, message: '请输入', trigger: 'blur' }]
+        },
+        visible: true,
+        loading: false
+      };
+    },
+
+    created() {
+      if (this.type == 'edit') {
+        this.form = this.editObj;
+      }
+    },
+    methods: {
+      /* 保存编辑 */
+      save() {
+        this.$refs.form.validate((valid) => {
+          if (!valid) {
+            return false;
+          }
+
+          if (this.type == 'add') {
+            delete this.form.id;
+          }
+          delete this.form.createTime;
+
+          let URL = this.type == 'add' ? save : update;
+          URL(this.form)
+            .then((msg) => {
+              this.loading = false;
+              this.$message.success(msg);
+            })
+            .catch((e) => {
+              this.loading = false;
+            });
+        });
+      },
+
+      handleClose() {
+        this.$emit('close');
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped></style>

+ 34 - 0
src/views/inspectionPoint/components/newInspectionProjectList.vue

@@ -0,0 +1,34 @@
+<template>
+    <div>
+
+
+    </div>
+  </template>
+  
+  <script>
+
+  export default {
+    components: {  },
+    props: {
+
+    },
+  
+    data() {
+      return {
+        listPage: []
+      };
+    },
+  
+    created() {
+
+    },
+    methods: {
+
+    }
+  };
+  </script>
+  
+  <style lang="scss" scoped>
+
+  </style>
+  

+ 110 - 105
src/views/inspectionPoint/index.vue

@@ -2,11 +2,7 @@
   <div class="ele-body">
     <el-card shadow="never">
       <search ref="search" @search="search"></search>
-      <ele-pro-table
-        ref="table"
-        :columns="columns"
-        :datasource="datasource"
-      >
+      <ele-pro-table ref="table" :columns="columns" :datasource="datasource">
         <!-- 表头工具栏 -->
         <template v-slot:toolbar>
           <el-button
@@ -28,10 +24,8 @@
             @click="downloadFile(link)"
           >
             {{ link.name }}
-          </el-link
-          >
-     
-      </template>
+          </el-link>
+        </template>
 
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
@@ -57,109 +51,120 @@
         </template>
       </ele-pro-table>
     </el-card>
-    <edit ref="edit" @done="done"></edit>
+    <newEdit
+      v-if="showEdit"
+      :type="editType"
+      :editObj="editObj"
+      @close="close"
+    ></newEdit>
   </div>
 </template>
 <script>
-import search from './components/search.vue';
-import edit from './components/edit.vue';
-import { getList, removeItem } from '@/api/inspectionPoint';
-import dictMixins from '@/mixins/dictMixins';
-import {getFile} from "@/api/system/file";
+  import search from './components/search.vue';
+  import newEdit from './components/newEdit.vue';
+  import { getList, removeItem } from '@/api/inspectionPoint';
+  import dictMixins from '@/mixins/dictMixins';
+  import { getFile } from '@/api/system/file';
 
-export default {
-  mixins: [dictMixins],
-  components: {
-    search,
-    edit
-  },
-  data() {
-    return {
-      columns: [
-        {
-          width: 45,
-          type: 'index',
-          columnKey: 'index',
-          align: 'center'
-        },
+  export default {
+    mixins: [dictMixins],
+    components: {
+      search,
+      newEdit
+    },
+    data() {
+      return {
+        columns: [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center'
+          },
 
-        {
-          prop: 'pointCode',
-          label: '编码'
-        },
-        {
-          label: '名称',
-          prop: 'pointName'
-        },
-        {
-          label: '区域',
-          prop: 'areaName'
-        },
-        
-        {
-          label: '附件',
-          slot: 'files'
-        },
-        {
-          prop: 'createUserName',
-          label: '创建人',
-          align: 'center'
-        },
+          {
+            prop: 'pointCode',
+            label: '编码'
+          },
+          {
+            label: '名称',
+            prop: 'pointName'
+          },
+          {
+            label: '区域',
+            prop: 'areaName'
+          },
 
-        {
-          prop: 'createTime',
-          label: '创建时间',
-          align: 'center',
-          showOverflowTooltip: true,
-          minWidth: 110
-        },
-        {
-          columnKey: 'action',
-          label: '操作',
-          width: 220,
-          align: 'center',
-          resizable: false,
-          slot: 'action',
-          showOverflowTooltip: true
-        }
-      ]
-    };
-  },
-  created() {
-    // this.requestDict('质检标准类型');
-  },
-  methods: {
-    datasource({ page, where, limit }) {
-      return getList({
-        ...where,
-        pageNum: page,
-        size: limit
-      });
-    },
-    search(where) {
-      this.$refs.table.reload({
-        where: where,
-        page: 1
-      });
-    },
-    openEdit(type, row) {
-      this.$refs.edit.open(type, row);
-    },
-    downloadFile(file) {
-      getFile({objectName: file.storePath}, file.name);
+          {
+            label: '附件',
+            slot: 'files'
+          },
+          {
+            prop: 'createUserName',
+            label: '创建人',
+            align: 'center'
+          },
+
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 220,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+
+        editType: null,
+        editObj: {},
+        showEdit: false
+      };
     },
-    remove(row) {
-      removeItem([row.id])
-        .then((message) => {
-          this.$message.success(message);
-          this.done();
-        })
-        .catch((e) => {});
+    created() {
+      
     },
-    done() {
-      this.$refs.search.search();
+    methods: {
+      datasource({ page, where, limit }) {
+        return getList({
+          ...where,
+          pageNum: page,
+          size: limit
+        });
+      },
+      search(where) {
+        this.$refs.table.reload({
+          where: where,
+          page: 1
+        });
+      },
+      openEdit(type, row) {
+        this.editType = type;
+        this.editObj = row || {};
+        this.showEdit = true;
+      },
+      close() {
+        this.showEdit = false;
+      },
+
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      remove(row) {
+        removeItem([row.id])
+          .then((message) => {
+            this.$message.success(message);
+            this.done();
+          })
+          .catch((e) => {});
+      }
     }
-  }
-};
+  };
 </script>
-