From e846eefa54a7a2274a34d43d4601e192a1ada3d9 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 25 六月 2022 13:16:07 +0800
Subject: [PATCH] 1.项目整体样式的配置2.实现工艺设置动态添加的静态样式

---
 src/views/sbgl/sbqd.vue |  270 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 181 insertions(+), 89 deletions(-)

diff --git a/src/views/sbgl/sbqd.vue b/src/views/sbgl/sbqd.vue
index 717a8a9..ad2373f 100644
--- a/src/views/sbgl/sbqd.vue
+++ b/src/views/sbgl/sbqd.vue
@@ -1,7 +1,7 @@
 <template>
   <div>
-    <div class="body" style="background-color: #ffffff;  padding: 20px 10px 0 20px;" :style="{height:mainHeight+'px'}">
-      <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+      <div style="padding: 10px 5px 0 0">
         <el-form
           ref="form"
           :model="form"
@@ -17,7 +17,7 @@
               <el-input v-model="form.DeviceName" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="浣跨敤鐘舵��" style=" display: flex;">
-              <el-select v-model="form.Status" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.Status" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in StatusArr"
                   :key="item.value"
@@ -27,7 +27,7 @@
               </el-select>
             </el-form-item>
             <el-form-item label="鎵�灞炶溅闂�" style=" display: flex;">
-              <el-select v-model="form.WorkShop" filterable style="width: 200px" placeholder="璇烽�夋嫨">
+              <el-select v-model="form.WorkShop" :popper-append-to-body="false" filterable style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in WorkShopArr"
                   :key="item.code"
@@ -37,7 +37,7 @@
               </el-select>
             </el-form-item>
             <el-form-item filterable label="璁惧绫诲瀷" style="display: flex;">
-              <el-select v-model="form.DeviceType" style="width: 200px" placeholder="璇烽�夋嫨" @change="deviceTypeChange">
+              <el-select v-model="form.DeviceType" :popper-append-to-body="false" style="width: 200px" placeholder="璇烽�夋嫨" @change="deviceTypeChange">
                 <el-option
                   v-for="item in DeviceTypeArr"
                   :key="item.code"
@@ -49,6 +49,7 @@
             <el-form-item label="璁惧缁�" style=" display: flex;">
               <el-select
                 v-model="form.DeviceGroup"
+                :popper-append-to-body="false"
                 :disabled="form.DeviceType===''"
                 style="width: 200px"
                 placeholder="璇烽�夋嫨"
@@ -68,20 +69,22 @@
           </div>
         </el-form>
       </div>
-      <div style="margin-bottom: 20px;display: flex">
+      <el-divider />
+      <div style="margin-left: 10px;display: flex">
         <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>
         <el-button type="primary" icon="el-icon-c-scale-to-original" @click="deviceTypeButton">璁惧绫诲瀷</el-button>
         <el-button type="primary" icon="el-icon-document-copy" @click="deviceGroupButton">璁惧缁�</el-button>
         <el-button type="primary" icon="el-icon-upload2" @click="upload">瀵煎叆</el-button>
       </div>
-
-      <div style="display: flex;border: 1px solid #eee">
+      <el-divider />
+      <div class="elTableDiv">
         <el-table
           :data="tableData"
           border
+          :height="tableHeight"
           stripe
           highlight-current-row
-          :style="{width: 100+'%',height:tableHeight+'px'}"
+          :style="{width: 100+'%',height:(tableHeight-50)+'px'}"
           :header-cell-style="this.$headerCellStyle"
           :cell-style="this.$cellStyle"
           @sort-change="sortChange"
@@ -128,7 +131,7 @@
           </el-table-column>
           <el-table-column
             prop="input_date"
-            label="鎶曞叆鏃堕棿"
+            label="鎶曞叆鏃ユ湡"
             sortable="custom"
             width="120"
           >
@@ -174,7 +177,7 @@
             <template slot-scope="{row}">
               <div class="operationClass">
                 <el-button type="text" @click="edit('edit',row)">淇敼</el-button>
-                <el-button type="text" @click="del(row.id)">鍒犻櫎</el-button>
+                <el-button type="text" @click="del(row)">鍒犻櫎</el-button>
               </div>
             </template>
           </el-table-column>
@@ -194,7 +197,7 @@
     </div>
     <!--璁惧娓呭崟鏂板缂栬緫-->
     <el-dialog
-      :title="operation==='add'?'娣诲姞':'淇敼'"
+      :title="operation==='add'?'鏂板':'淇敼'"
       :visible.sync="dialogVisible"
       width="50%"
       top="15vh"
@@ -202,33 +205,63 @@
       @close="handleClose"
     >
       <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
-        <el-form-item label="璁惧缂栫爜" prop="OrgCode">
-          <el-input v-model="dialogForm.OrgCode" :disabled="operation!=='add'" style="width: 220px" />
+        <el-form-item label="璁惧缂栫爜" prop="devicecode">
+          <el-input v-model="dialogForm.devicecode" :disabled="operation!=='add'" style="width: 220px" />
         </el-form-item>
-        <el-form-item label="璁惧鍚嶇О" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="璁惧鍚嶇О" prop="devicename">
+          <el-input v-model="dialogForm.devicename" style="width: 220px" />
         </el-form-item>
-        <el-form-item label="璁惧绫诲瀷" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="璁惧绫诲瀷" prop="devicetypecode">
+          <el-select v-model="dialogForm.devicetypecode" :popper-append-to-body="false" style="width: 220px" placeholder="璇烽�夋嫨" @change="devicetypecodeChange">
+            <el-option
+              v-for="item in DeviceTypeArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
         </el-form-item>
-        <el-form-item label="璁惧缁�" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="璁惧缁�" prop="devicegroupcode">
+          <el-select v-model="dialogForm.devicegroupcode" :popper-append-to-body="false" :disabled="dialogForm.devicetypecode===''" style="width: 220px" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in DeviceGroupArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
         </el-form-item>
-        <el-form-item label="鎶曞叆鏃ユ湡" prop="OrgName">
+        <el-form-item label="鎶曞叆鏃ユ湡" prop="importdate">
           <el-date-picker
-            v-model="dialogForm.OrgCode"
+            v-model="dialogForm.importdate"
+            style="width: 220px"
             type="date"
             placeholder="閫夋嫨鏃ユ湡"
+            popper-class="dateStyle"
           />
         </el-form-item>
-        <el-form-item label="鎵�灞炶溅闂�" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="鎵�灞炶溅闂�" prop="workshopcode">
+          <el-select v-model="dialogForm.workshopcode" :popper-append-to-body="false" style="width: 220px" placeholder="璇烽�夋嫨" @change="workshopcodeChange">
+            <el-option
+              v-for="item in WorkShopArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
         </el-form-item>
-        <el-form-item label="鎵�灞炰骇绾�" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="鎵�灞炰骇绾�" prop="linecode">
+          <el-select v-model="dialogForm.linecode" :popper-append-to-body="false" :disabled="dialogForm.workshopcode===''" style="width: 220px" placeholder="璇烽�夋嫨">
+            <el-option
+              v-for="item in WorkLineArr"
+              :key="item.linecode"
+              :label="item.linename"
+              :value="item.linecode"
+            />
+          </el-select>
         </el-form-item>
-        <el-form-item label="浣跨敤鐘舵��" prop="OrgName">
-          <el-select v-model="form.Status" placeholder="璇烽�夋嫨">
+        <el-form-item label="浣跨敤鐘舵��" prop="status">
+          <el-select v-model="dialogForm.status" :popper-append-to-body="false" style="width: 220px" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in StatusArr"
               :key="item.value"
@@ -237,8 +270,8 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="绋煎姩鐜�" prop="OrgName">
-          <el-input v-model="dialogForm.OrgName" style="width: 220px" />
+        <el-form-item label="绋煎姩鐜�" prop="ratio">
+          <el-input v-model="dialogForm.ratio" style="width: 195px" /><span style="margin-left: 10px">%</span>
         </el-form-item>
 
       </el-form>
@@ -257,7 +290,6 @@
       width="50%"
       top="15vh"
       class="DeviceTypeDialogVisible"
-      @closed="handleCloseDeviceType"
       @close="handleCloseDeviceType"
     >
       <div style="margin-bottom: 20px;display: flex">
@@ -389,8 +421,7 @@
           sortable="custom"
         >
           <template slot-scope="{row}">
-            <!--            <el-input v-if="row.isVisible===1" v-model="row.eqptype_code" placeholder="璇疯緭鍏�" />-->
-            <el-select v-if="row.isVisible===1" v-model="row.eqptype_code" placeholder="璇烽�夋嫨">
+            <el-select v-if="row.isVisible===1" v-model="row.eqptype_code" :popper-append-to-body="false" placeholder="璇烽�夋嫨">
               <el-option
                 v-for="item in DeviceTypeArr"
                 :key="item.code"
@@ -448,24 +479,18 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import {
-  AddUpdateOrganization,
-  DeleteOrganization,
-  OrganizationSearch,
-  PrentOrganization,
-  RoleTypeDelete
-} from '@/api/jcsz'
 import { getCookie } from '@/utils/auth'
 import {
-  AddUpdateDeviceGroup,
-  AddUpdateDeviceType, DeleteDeviceType,
+  AddUpdateDeviceGroup, AddUpdateDeviceManger,
+  AddUpdateDeviceType, DeleteDeviceManger, DeleteDeviceType,
   DeviceGroupSearch,
   DeviceMangerSearch,
   DeviceTypeSearch,
   DeviceTypeSelect,
   DeviceTypeSelectGroup,
-  WorkShopSelect
+  WorkShopSelect, WorkShopSelectLine
 } from '@/api/sbgl'
+import { handleDatatime } from '@/utils/global'
 
 const SER_HZ = /^[\u4e00-\u9fa5]+$/
 export default {
@@ -483,13 +508,6 @@
         } else {
           callback()
         }
-      }
-    }
-    const validateTypeCode = (rule, value, callback) => {
-      if (!value) {
-        return callback(new Error('璇烽�夋嫨涓婄骇'))
-      } else {
-        callback()
       }
     }
     return {
@@ -518,24 +536,43 @@
       tableData: [],
       dialogVisible: false,
       dialogForm: {
-        OrgType: '',
-        OrgCode: '',
-        OrgName: '',
-        SupUnit: ''// 涓婄骇鍗曚綅
+        id: '',
+        devicecode: '',
+        devicename: '',
+        devicetypecode: '',
+        devicegroupcode: '',
+        importdate: '',
+        workshopcode: '',
+        linecode: '',
+        status: '',
+        ratio: ''
       },
+      WorkLineArr: [], // 鎵�灞炰骇绾挎暟缁�
       operation: '',
       dialogFormRules: {
-        OrgType: [
-          { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] }
-        ],
-        OrgCode: [
+        devicecode: [
           { required: true, validator: validateName, trigger: ['blur', 'change'] }
         ],
-        OrgName: [
+        devicename: [
           { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] }
         ],
-        SupUnit: [
-          { required: true, validator: validateTypeCode, trigger: ['blur', 'change'] }
+        devicetypecode: [
+          { required: true, message: '璇烽�夋嫨璁惧绫诲瀷', trigger: ['blur', 'change'] }
+        ],
+        devicegroupcode: [
+          { required: true, message: '璇烽�夋嫨璁惧缁�', trigger: ['blur', 'change'] }
+        ],
+        importdate: [
+          { required: true, message: '璇烽�夋嫨鎶曞叆鏃ユ湡', trigger: ['blur', 'change'] }
+        ],
+        workshopcode: [
+          { required: true, message: '璇烽�夋嫨鎵�灞炶溅闂�', trigger: ['blur', 'change'] }
+        ],
+        linecode: [
+          { required: true, message: '璇烽�夋嫨鎵�灞炰骇绾�', trigger: ['blur', 'change'] }
+        ],
+        status: [
+          { required: true, message: '璇烽�夋嫨浣跨敤鐘舵��', trigger: ['blur', 'change'] }
         ]
       },
       DeviceTypeDialogVisible: false,
@@ -636,37 +673,62 @@
     edit(operation, row) {
       this.operation = operation
       this.dialogVisible = true
-
+      // console.log(row)
       this.$nextTick(() => {
-        this.dialogForm.OrgCode = row.org_code
-        this.dialogForm.OrgName = row.org_name
-        this.dialogForm.SupUnit = row.parent_id
+        this.dialogForm.id = row.id
+        this.dialogForm.devicecode = row.code
+        this.dialogForm.devicename = row.name
+        this.dialogForm.devicetypecode = row.eqptype_code
+        this.dialogForm.devicegroupcode = row.eqpgroup_code
+        this.dialogForm.importdate = row.input_date
+        this.dialogForm.workshopcode = row.wksp_code
+        this.dialogForm.linecode = row.Line_code
+        this.dialogForm.status = row.enable
+        this.dialogForm.ratio = row.operation_ration
       })
     },
     // 鍒犻櫎鎸夐挳
-    async del(id) {
+    async del(row) {
       this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        // DeleteOrganization({ orgid: id }).then(res => {
-        //   if (res.code === '200') {
-        //     this.$message.success('鍒犻櫎鎴愬姛!')
-        //     this.getDeviceMangerSearch()
-        //   }
-        // })
+        DeleteDeviceManger({ devicecode: row.code }).then(res => {
+          if (res.code === '200') {
+            this.$message.success('鍒犻櫎鎴愬姛!')
+            this.getDeviceMangerSearch()
+          }
+        })
       }).catch(() => {
         this.$message.info('宸插彇娑堝垹闄�')
       })
     },
     // 瀵硅瘽妗嗗叧闂簨浠�
     handleClose() {
-      this.dialogForm.OrgType = ''
-      this.dialogForm.OrgCode = ''
-      this.dialogForm.OrgName = ''
-      this.dialogForm.SupUnit = ''
+      this.dialogForm.id = ''
+      this.dialogForm.devicecode = ''
+      this.dialogForm.devicename = ''
+      this.dialogForm.devicetypecode = ''
+      this.dialogForm.devicegroupcode = ''
+      this.dialogForm.importdate = ''
+      this.dialogForm.workshopcode = ''
+      this.dialogForm.linecode = ''
+      this.dialogForm.status = ''
+      this.dialogForm.ratio = ''
       this.$refs.dialogForm.clearValidate()
+    },
+    // 瀵硅瘽妗嗘墍灞炶溅闂翠笅鎷夐�夋嫨鏀瑰彉鏃�
+    async   workshopcodeChange(val) {
+      const { data: res } = await WorkShopSelectLine({ workshopcode: val })
+      this.WorkLineArr = res
+      this.dialogForm.linecode = ''
+    },
+    // 瀵硅瘽妗嗚澶囩被鍨嬩笅鎷夐�夋嫨鏀瑰彉鏃�
+    async devicetypecodeChange(val) {
+      const { data: res } = await DeviceTypeSelectGroup({ eqptypecode: val })
+      this.DeviceGroupArr = res
+      this.dialogForm.devicegroupcode = ''
     },
     // 瀵硅瘽妗嗗彇娑�
     dialogVisibleCancel() {
@@ -677,12 +739,19 @@
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
           const data = {
-            OrganCode: this.dialogForm.OrgCode,
-            OrganName: this.dialogForm.OrgName,
-            OperType: this.operation === 'add' ? 'Add' : 'Update',
-            Operator: getCookie('admin')
+            id: this.dialogForm.id,
+            devicecode: this.dialogForm.devicecode,
+            devicename: this.dialogForm.devicename,
+            devicetypecode: this.dialogForm.devicetypecode,
+            devicegroupcode: this.dialogForm.devicegroupcode,
+            importdate: handleDatatime(this.dialogForm.importdate),
+            workshopcode: this.dialogForm.workshopcode,
+            linecode: this.dialogForm.linecode,
+            status: this.dialogForm.status,
+            ratio: this.dialogForm.ratio,
+            OperType: this.operation === 'add' ? 'Add' : 'Update'
           }
-          AddUpdateOrganization(data).then(res => {
+          AddUpdateDeviceManger(data).then(res => {
             if (res.code === '200') {
               this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
@@ -697,7 +766,7 @@
     // 鑾峰彇椤甸潰楂樺害
     getHeight() {
       this.$nextTick(() => {
-        this.mainHeight = window.innerHeight - 200
+        this.mainHeight = window.innerHeight - 250
         this.tableHeight = this.mainHeight - 100
       })
     },
@@ -905,10 +974,13 @@
   height: 30px;
   display: flex;
   align-items: center;
-  border: 1px solid $main_color;
+  //border: 1px solid $main_color;
+  border: none;
   padding: 0 20px;
 }
-
+::v-deep .el-button--primary:hover {
+  border: none;
+}
 ::v-deep .el-button--info {
   //background-color: $main_color !important;
   height: 30px;
@@ -1037,10 +1109,30 @@
   margin: 10px 30px 0px 0;
 }
 
-.elForm {
-  display: flex;
-  justify-content: flex-start;
-  width: 100%;
-  flex-wrap: wrap;
+.body ::v-deep .el-divider{
+  border: 1px solid #eee;
+  width: 99%;
+  margin: 10px auto;
+}
+.body ::v-deep .el-form-item{
+  margin-bottom: 0;
+}
+::v-deep .el-input__inner:focus {
+  border-color: $main_color;
+}
+
+::v-deep .el-select .el-input__inner:focus{
+  border-color: $main_color;
+}
+
+::v-deep .el-select-dropdown__item.selected{
+  color: $main_color;
+}
+</style>
+<style lang="scss">
+.dateStyle{
+  .el-date-table td.today span{
+    color: #42b983;
+  }
 }
 </style>

--
Gitblit v1.9.3