Parcourir la source

Merge remote-tracking branch 'origin/V0.0.2' into V0.0.2

jingyuanchao il y a 2 ans
Parent
commit
45ae705286

+ 1 - 0
src/api/system/check.js

@@ -56,3 +56,4 @@ export function delCheck(id) {
     method: 'delete'
   })
 }
+

+ 1 - 0
src/api/system/device.js

@@ -16,6 +16,7 @@ export function getDevice(id) {
     method: 'get'
   })
 }
+
 // 查询主机
 export function getHostByOrgId(orgId) {
   return request({

+ 7 - 1
src/api/system/dict/data.js

@@ -24,7 +24,13 @@ export function getDicts(dictType) {
     method: 'get'
   })
 }
-
+// 根据资产类别查询设备分类
+export function getDeviceType(assetType) {
+  return request({
+    url: '/system/dict/data/deviceType/' + assetType,
+    method: 'get'
+  })
+}
 // 新增字典数据
 export function addData(data) {
   return request({

+ 39 - 45
src/views/system/device/index.vue

@@ -63,8 +63,6 @@
         <el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="所属机构" align="center" prop="orgName" />
-          <el-table-column label="设备名称" align="center" prop="deviceName" />
-
 
           <el-table-column label="资产类别" align="center" key="assetType" prop="assetType" width="80">
             <template slot-scope="scope">
@@ -78,11 +76,10 @@
             </template>
           </el-table-column>
 
-
           <el-table-column label="设备品牌" align="center" prop="deviceBrand" />
-          <el-table-column label="验收日期" align="center" prop="checkTime" width="160">
+          <el-table-column label="有效期至" align="center" prop="checkTime" width="160">
           </el-table-column>
-          <el-table-column label="保修期限" align="center" prop="maintenanceTerm" />
+          <!--    <el-table-column label="保修期限" align="center" prop="maintenanceTerm" /> -->
           <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
             <template slot-scope="scope">
               <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
@@ -105,39 +102,40 @@
 
 
     <!-- 添加或修改【请填写功能名称】对话框 -->
-    <DialogCom :title="title" :visible.sync="open"  width="800px" append-to-body>
+    <el-dialog :title="title" :visible="open" width="800px" append-to-body @close="cancel">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="10">
-            <el-form-item label="设备名称" prop="deviceName">
-              <el-input v-model="form.deviceName" placeholder="请输入" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="10">
             <el-form-item label="所属机构" prop="orgId">
               <tree-select v-model="form.orgId" :options="deptOptions" :show-count="true" :normalizer="tenantIdnormalizer"
-                :props="{ checkStrictly: true, label: 'name' }" placeholder="请选择归属机构" @select="changeSelect">
+                placeholder="请选择归属机构" @select="changeSelect">
               </tree-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
+
           <el-col :span="10">
             <el-form-item label="资产类别" prop="assetType">
-              <el-select style="width: 100%;" v-model="form.assetType" placeholder="请选择">
+              <el-select style="width: 100%;" v-model="form.assetType" placeholder="请选择" @change="changeSelectDevice">
                 <el-option v-for="dict in dict.type.sys_asset_type" :key="dict.value" :label="dict.label"
                   :value="`${dict.value}`"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
+
           <el-col :span="10">
             <el-form-item label="设备分类" prop="deviceType">
-              <el-select style="width: 100%;" v-model="form.deviceType" placeholder="请选择">
-                <el-option v-for="dict in dict.type.sys_device_type" :key="dict.value" :label="dict.label"
-                  :value="`${dict.value}`"></el-option>
+              <el-select v-model="form.deviceType" placeholder="请选择">
+                <el-option v-for="item in devices" :key="item.id" :label="item.dictLabel" :value="item.id"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="10">
+            <el-form-item label="设备名称" prop="deviceName">
+              <el-input v-model="form.deviceName" placeholder="请输入" />
+            </el-form-item>
+          </el-col>
         </el-row>
 
         <el-row>
@@ -166,30 +164,21 @@
           </el-col>
 
           <el-col :span="10">
-            <el-form-item style="width: 517px;" label="验收日期" prop="checkTime">
+            <el-form-item style="width: 517px;" v-if="form.assetType == 0" label="有效期至" prop="checkTime">
               <el-date-picker clearable v-model="form.checkTime" type="date" value-format="yyyy-MM-dd HH:mm:ss"
                 placeholder="请选择时间">
               </el-date-picker>
             </el-form-item>
           </el-col>
-
         </el-row>
         <el-row>
-
-          <el-col :span="10">
-            <el-form-item label="保修期限" prop="maintenanceTerm">
-              <el-input v-model="form.maintenanceTerm" placeholder="请输入" maxlength="11" />
-            </el-form-item>
-          </el-col>
-
         </el-row>
-
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
-    </DialogCom>
+    </el-dialog>
 
   </div>
 </template>
@@ -199,7 +188,7 @@ import tableList from '@/mixins/tableList'
 import treeselect from '@riophae/vue-treeselect'
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { deptTreeSelect } from "@/api/system/public";
-
+import { getDeviceType } from "@/api/system/dict/data";
 import { listDevice, getDevice, delDevice, addDevice, updateDevice, getHostByOrgId } from "@/api/system/device";
 export default {
   /** 引入基础minxins*/
@@ -234,7 +223,9 @@ export default {
           { required: true, message: '请选择设备分类', trigger: 'blur' },
 
         ],
-
+        checkTime: [
+          { required: true, message: '请选择有效期', trigger: 'blur' },
+        ]
 
 
       },
@@ -254,6 +245,7 @@ export default {
       total: 0,
       // 【请填写功能名称】表格数据
       deviceList: [],
+      devices: null,
       //主机集合
       hostList: [],
       deviceType: 0,
@@ -293,11 +285,12 @@ export default {
 
       //修改新增中的机构树
       deptOptions: [],
+      selectOrgId: null,
     };
   },
   created() {
     this.getDeptTree();
-    this.getList();
+    //this.getList();
   },
   watch: {
     // 根据名称筛选部门树
@@ -305,8 +298,9 @@ export default {
       this.$refs.tree.filter(val);
     }
   },
+
   methods: {
-   
+
     /** 下穿状态改变*/
     changeCheckBox() {
       this.getList();
@@ -319,16 +313,7 @@ export default {
     },
     /** 查询机构树数据 */
 
-    /** 查询部门下拉树结构 */
-    getDeptTree() {
-      deptTreeSelect().then(response => {
-        this.deptOptions = response.data;
-        console.log(this.deptOptions, ' this.deptOptions')
-        this.defaultKeys.push(response.data[0].id);
-        this.queryParams.orgId = response.data[0].id;
-        this.handleQuery();
-      });
-    },
+
     /** treeSelect组件自定义数据*/
     tenantIdnormalizer(node, instanceId) {
       if (node.children && !node.children.length) {
@@ -343,6 +328,7 @@ export default {
     // 节点单击事件
     handleNodeClick(data) {
       this.queryParams.orgId = data.id;
+      this.selectOrgId = data.id;
       this.handleQuery();
     },
     changeSelect(val) {
@@ -359,8 +345,10 @@ export default {
         this.deviceList = response.rows;
         this.total = response.total;
         this.loading = false;
+        console.log(this.form, '66666')
       });
     },
+
     /** 查询部门下拉树结构 */
     getDeptTree() {
       deptTreeSelect().then(response => {
@@ -368,6 +356,8 @@ export default {
         console.log(this.deptOptions, ' this.deptOptions')
         this.defaultKeys.push(response.data[0].id);
         this.queryParams.orgId = response.data[0].id;
+        this.selectOrgId = response.data[0].id;
+        console.log(this.form, '5555555')
         this.handleQuery();
       });
     },
@@ -427,10 +417,14 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
-
-      this.reset();
       this.open = true;
       this.title = "新增";
+      this.form.orgId = this.selectOrgId;
+    },
+    changeSelectDevice(val) {
+      getDeviceType(val).then(response => {
+        this.devices = response.data;
+      })
     },
     /** 修改按钮操作 */
     handleUpdate(row) {