From ab263c5fb0e0b273563391bd0c2d7b3710b03d4c Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 15 十月 2022 15:26:14 +0800
Subject: [PATCH] 1.维修记录接口接入完成2.工单列表新增、派发增加参数

---
 src/views/sbgl/wxjl.vue             |  155 ++++++++++++++++++++----------
 src/views/scgl/gd.vue               |   63 +++++++++++-
 src/views/zzmx/wlqd.vue             |    4 
 src/components/DatePicker/index.vue |   22 +--
 4 files changed, 172 insertions(+), 72 deletions(-)

diff --git a/src/components/DatePicker/index.vue b/src/components/DatePicker/index.vue
index 475fa71..53eb8eb 100644
--- a/src/components/DatePicker/index.vue
+++ b/src/components/DatePicker/index.vue
@@ -443,19 +443,15 @@
     // 宸ヤ綔鏃ュ巻鎻愪氦
     CapacityPlanningGivePlanSubmit() {
       const formData = new FormData()
-      formData.append('CaptPlanId', this.rowData.CaptPlanId)// 浜ц兘璧勬簮id
-      formData.append('WkshopCode', this.rowData.CaptPlanWorkShopid)// 杞﹂棿缂栫爜
-      formData.append('CapUnitCode', this.rowData.CaptPlanDeviceTypeid)// 鐢熶骇鍗曞厓锛堜骇绾跨紪鐮侊級
-      formData.append('CaptSetupCode', '')
-      formData.append('CaptPlanType', this.rowData.CaptPlanType)// 浜ц兘绫诲瀷
-      console.log(this.defArr, 555)
-      formData.append('WorkList', JSON.stringify(this.defArr))
-      console.log(formData, 666)
-
-      for (const [a, b] of formData.entries()) {
-        console.log(a, ':', b)
-      }
-
+      formData.append('wkshopcode', this.rowData.CaptPlanWorkShopid)// 杞﹂棿缂栫爜
+      formData.append('capunitcode', this.rowData.CaptPlanDeviceTypeid)// 鐢熶骇鍗曞厓缂栫爜锛堜骇绾跨紪鐮侊級
+      formData.append('captplanid', this.rowData.CaptPlanId)// 浜ц兘璧勬簮id
+      formData.append('capsetupcode', this.rowData.CaptPlanWorkShiftCode) // 榛樿鏂规缂栫爜
+      formData.append('captplantype', this.rowData.CaptPlanType)// 璧勬簮绫诲瀷
+      formData.append('worklist', JSON.stringify(this.defArr))// 宸ヤ綔鏃ュ巻鏁版嵁闆�
+      // for (const [a, b] of formData.entries()) {
+      //   console.log(a, ':', b)
+      // }
       CapacityPlanningGivePlanSubmit(formData).then(res => {
         if (res.code === '200') {
           this.$message.success('淇濆瓨鎴愬姛锛�')
diff --git a/src/views/sbgl/wxjl.vue b/src/views/sbgl/wxjl.vue
index d24301a..8fd105b 100644
--- a/src/views/sbgl/wxjl.vue
+++ b/src/views/sbgl/wxjl.vue
@@ -2,8 +2,6 @@
   <div>
     <div class="body" :style="{height:mainHeight+'px'}">
       <div class="bodyTopButtonGroup" style="justify-content: space-between">
-        <!--        <el-button type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>-->
-        <!--        <el-button icon="el-icon-download" @click="upload">瀵煎叆</el-button>-->
         <el-button type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button>
       </div>
 
@@ -16,13 +14,7 @@
           style="display: flex;justify-content: space-between"
         >
           <div class="elForm">
-            <el-form-item label="璁惧缂栫爜" label-width="70px" style=" display: flex;">
-              <el-input v-model="form.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" />
-            </el-form-item>
-            <el-form-item label="璁惧鍚嶇О" style=" display: flex;">
-              <el-input v-model="form.eqpname" placeholder="璇疯緭鍏�" style="width: 200px" />
-            </el-form-item>
-            <el-form-item label="鐢熶骇杞﹂棿" style=" display: flex;">
+            <el-form-item label="鐢熶骇杞﹂棿" label-width="70px" style=" display: flex;">
               <el-select v-model="form.wkshopcode" style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in wkshopSelectArr"
@@ -32,20 +24,46 @@
                 />
               </el-select>
             </el-form-item>
+            <el-form-item label="璁惧缂栫爜" style=" display: flex;">
+              <el-input v-model="form.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="璁惧鍚嶇О" style=" display: flex;">
+              <el-input v-model="form.eqpname" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
             <el-form-item label="鎶ヤ慨浜哄憳" style=" display: flex;">
               <el-input v-model="form.reportuser" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label-width="70px" label="鎶ヤ慨鏃堕棿" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label-width="70px" label="缁翠慨浜哄憳" style=" display: flex;">
               <el-input v-model="form.repairuser" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="缁翠慨浜哄憳" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label="楠岃瘉浜哄憳" style=" display: flex;">
               <el-input v-model="form.vrifcatuser" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="缁翠慨鏃堕棿" style=" display: flex;">
-              <el-input v-model="form.reportdate" placeholder="璇疯緭鍏�" style="width: 200px" />
+            <el-form-item v-show="isExpandForm" label="鎶ヤ慨鏃堕棿" style=" display: flex;align-items: center">
+              <el-date-picker
+                v-model="form.reportdate"
+                type="daterange"
+                :clearable="false"
+                class="timeMini"
+                range-separator="~"
+                start-placeholder="寮�濮嬫棩鏈�"
+                style="width: 200px;display: flex;line-height: 34px ;height: 34px ;"
+                end-placeholder="缁撴潫鏃ユ湡"
+                size="mini"
+              />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="楠岃瘉浜哄憳" style=" display: flex;">
-              <el-input v-model="form.repairdate" placeholder="璇疯緭鍏�" style="width: 200px" />
+            <el-form-item v-show="isExpandForm" label="缁翠慨鏃堕棿" style=" display: flex;align-items: center">
+              <el-date-picker
+                v-model="form.repairdate"
+                type="daterange"
+                :clearable="false"
+                class="timeMini"
+                range-separator="~"
+                start-placeholder="寮�濮嬫棩鏈�"
+                style="width: 200px;display: flex;line-height: 34px ;height: 34px ;"
+                end-placeholder="缁撴潫鏃ユ湡"
+                size="mini"
+              />
             </el-form-item>
             <el-form-item
               v-show="isExpandForm"
@@ -228,7 +246,7 @@
     </div>
 
     <el-dialog
-      :title="operation==='add'?'鏂板':'缁翠慨鏄庣粏'"
+      title="缁翠慨鏄庣粏"
       :visible.sync="dialogVisible"
       width="800px"
       :close-on-click-modal="false"
@@ -246,7 +264,7 @@
           <div v-if="dialogData1.faultimage" style="display: flex;margin-bottom: 10px">鏁呴殰鍥剧墖锛�
             <div v-for="item in dialogData1.faultimage">
               <img
-                style="width: 100px;margin-left: 10px"
+                style="width: 100px;margin-right: 10px"
                 :src="baseUrl+item.img1url"
                 alt=""
                 @click="handlePictureCardPreview(baseUrl+item.img1url)"
@@ -260,9 +278,9 @@
         <div style="display: flex;flex-direction: column;margin-left: 40px">
           <div style="margin-bottom: 10px">鏁呴殰鎻忚堪锛歿{ dialogData2.faultdescr }}</div>
           <div v-if="dialogData2.repairimage" style="display: flex;margin-bottom: 10px">鏁呴殰鍥剧墖锛�
-            <div v-for="item in dialogData2.repairimage">
+            <div v-for="item in dialogData2.repairimage" v-if="item.img1url!==''">
               <img
-                style="width: 100px;margin-left: 10px"
+                style="width: 100px;margin-right: 10px"
                 :src="baseUrl+item.img1url"
                 alt=""
                 @click="handlePictureCardPreview(baseUrl+item.img1url)"
@@ -273,9 +291,9 @@
           <div v-if="dialogData2.repaircontent" style="margin-bottom: 10px">缁翠慨鍐呭锛歿{ dialogData2.repaircontent }}</div>
           <div v-if="dialogData2.repairpart" style="margin-bottom: 10px">鏇存崲澶囦欢锛歿{ dialogData2.repairpart }}</div>
           <div v-if="dialogData2.repairimage" style="display: flex;margin-bottom: 10px">澶囦欢鍥剧墖锛�
-            <div v-for="item in dialogData2.repairimage">
+            <div v-for="item in dialogData2.repairimage" v-if="item.img2url!==''">
               <img
-                style="width: 100px;margin-left: 10px"
+                style="width: 100px;margin-right: 10px"
                 :src="baseUrl+item.img2url"
                 alt=""
                 @click="handlePictureCardPreview(baseUrl+item.img2url)"
@@ -287,7 +305,7 @@
           <i class="el-icon-s-operation" style="color:#42b983;" /> 璁惧缁翠慨楠岃瘉淇℃伅锛�
         </div>
         <div style="display: flex;flex-direction: column;margin-left: 40px">
-          <div style="margin-bottom: 10px">楠岃瘉缁撴灉锛歺xx</div>
+          <div style="margin-bottom: 10px">楠岃瘉缁撴灉锛歿{ isResult }}</div>
         </div>
       </div>
       <!--      鍥剧墖棰勮瀵硅瘽妗�-->
@@ -329,11 +347,9 @@
 
 <script>
 import Pagination from '@/components/Pagination'
-import { AddUpdateOrganization, DeleteOrganization, OrganizationSearch, PrentOrganization } from '@/api/jcsz'
-import { getCookie } from '@/utils/auth'
 import ImportPicker from '@/components/ImportPicker'
-import { handleDatetime, validateCode } from '@/utils/global'
-import { DeviceRepairTakeOutExcel, DeviceUpdateSearch, DeviceUpdateSubSearch } from '@/api/sbgl'
+import { handleDatetime } from '@/utils/global'
+import { DeviceUpdateOutExcel, DeviceUpdateSearch, DeviceUpdateSubSearch } from '@/api/sbgl'
 import { ShopSearch } from '@/api/dzkb'
 
 export default {
@@ -352,10 +368,10 @@
         eqpcode: '', // 璁惧缂栫爜
         eqpname: '', // 璁惧鍚嶇О
         reportuser: '', // 鎶ヤ慨浜哄憳
-        repairuser: '', // 鎶ヤ慨鏃堕棿
-        vrifcatuser: '', // 缁翠慨浜哄憳
-        reportdate: '', // 缁翠慨鏃堕棿
-        repairdate: '', // 楠岃瘉浜哄憳
+        repairuser: '', // 缁翠慨浜哄憳
+        vrifcatuser: '', // 楠岃瘉浜哄憳
+        reportdate: '', // 鎶ヤ慨鏃堕棿
+        repairdate: '', // 缁翠慨鏃堕棿
         vrifcatdate: '', // 楠岃瘉鏃堕棿
         prop: 'repair_code', // 鎺掑簭瀛楁
         order: 'desc', // 鎺掑簭瀛楁
@@ -368,6 +384,7 @@
       dialogVisible: false,
       dialogData1: {},
       dialogData2: {},
+      isResult: '', // 楠岃瘉缁撴灉
       operation: '',
 
       baseUrl: 'http://121.196.36.24:8001/', // 鍥剧墖棰勮鍦板潃鍓嶇紑
@@ -404,7 +421,35 @@
       })
     },
     async getDeviceUpdateSearch() {
-      const res = await DeviceUpdateSearch(this.form)
+      let reportdate = this.form.reportdate
+      if (reportdate.length > 0) {
+        reportdate = handleDatetime(reportdate[0]) + '~' + handleDatetime(reportdate[1])
+      }
+      let repairdate = this.form.repairdate
+      if (repairdate.length > 0) {
+        repairdate = handleDatetime(repairdate[0]) + '~' + handleDatetime(repairdate[1])
+      }
+      let vrifcatdate = this.form.vrifcatdate
+      if (vrifcatdate.length > 0) {
+        vrifcatdate = handleDatetime(vrifcatdate[0]) + '~' + handleDatetime(vrifcatdate[1])
+      }
+      const data = {
+        wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜
+        eqpcode: this.form.eqpcode, // 璁惧缂栫爜
+        eqpname: this.form.eqpname, // 璁惧鍚嶇О
+        reportuser: this.form.reportuser, // 鎶ヤ慨浜哄憳
+        repairuser: this.form.repairuser, // 缁翠慨浜哄憳
+        vrifcatuser: this.form.vrifcatuser, // 楠岃瘉浜哄憳
+        reportdate, // 鎶ヤ慨鏃堕棿
+        repairdate, // 缁翠慨鏃堕棿
+        vrifcatdate, // 楠岃瘉鏃堕棿
+        prop: 'repair_code', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      }
+
+      const res = await DeviceUpdateSearch(data)
       this.tableData = res.data
       this.total = res.count
       return { code: res.code }
@@ -452,12 +497,6 @@
       this.form.vrifcatdate = ''
       this.getDeviceUpdateSearch()
     },
-
-    // 鏂板鎸夐挳
-    add(operation) {
-      this.operation = operation
-      this.dialogVisible = true
-    },
     // 淇敼鎸夐挳
     async edit(operation, row) {
       this.operation = operation
@@ -466,6 +505,7 @@
       const { data: res } = await DeviceUpdateSubSearch({ repair_code: row.repair_code })
       this.dialogData1 = res.data1
       this.dialogData2 = res.data2
+      this.isResult = row.verify_result
     },
     handlePictureCardPreview(url) {
       this.pictureVisible = true
@@ -478,23 +518,34 @@
     handleClose() {
       this.dialogData1 = {}
       this.dialogData2 = {}
+      this.isResult = ''
     },
     async download() {
-      // let tempDate = this.form.repairdate
-      // if (tempDate.length > 0) {
-      //   tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
-      // }
-      // const data = {
-      //   wkshopcode: this.form.wkshopcode,
-      //   eqpcode: this.form.eqpcode,
-      //   eqpname: this.form.eqpname,
-      //   stanedname: this.form.stanedname,
-      //   repairuser: this.form.repairuser,
-      //   repairdate: tempDate,
-      //   repairresult: this.form.repairresult
-      // }
-      // const { data: res } = await DeviceUpdateOutExcel(data)
-      // window.location.href = res
+      let reportdate = this.form.reportdate
+      if (reportdate.length > 0) {
+        reportdate = handleDatetime(reportdate[0]) + '~' + handleDatetime(reportdate[1])
+      }
+      let repairdate = this.form.repairdate
+      if (repairdate.length > 0) {
+        repairdate = handleDatetime(repairdate[0]) + '~' + handleDatetime(repairdate[1])
+      }
+      let vrifcatdate = this.form.vrifcatdate
+      if (vrifcatdate.length > 0) {
+        vrifcatdate = handleDatetime(vrifcatdate[0]) + '~' + handleDatetime(vrifcatdate[1])
+      }
+      const data = {
+        wkshopcode: this.form.wkshopcode, // 杞﹂棿缂栫爜
+        eqpcode: this.form.eqpcode, // 璁惧缂栫爜
+        eqpname: this.form.eqpname, // 璁惧鍚嶇О
+        reportuser: this.form.reportuser, // 鎶ヤ慨浜哄憳
+        repairuser: this.form.repairuser, // 缁翠慨浜哄憳
+        vrifcatuser: this.form.vrifcatuser, // 楠岃瘉浜哄憳
+        reportdate, // 鎶ヤ慨鏃堕棿
+        repairdate, // 缁翠慨鏃堕棿
+        vrifcatdate // 楠岃瘉鏃堕棿
+      }
+      const { data: res } = await DeviceUpdateOutExcel(data)
+      window.location.href = res
     },
     // 瀵硅瘽妗嗗彇娑�
     dialogVisibleCancel() {
diff --git a/src/views/scgl/gd.vue b/src/views/scgl/gd.vue
index 3cfd626..66409b9 100644
--- a/src/views/scgl/gd.vue
+++ b/src/views/scgl/gd.vue
@@ -588,6 +588,22 @@
             </el-select>
           </el-form-item>
         </div>
+        <el-form-item label="鐗╂枡娓呭崟" prop="bomId">
+          <el-select
+            v-model="dialogForm.bomId"
+            filterable
+            :popper-append-to-body="false"
+            style="width: 200px;"
+            placeholder="璇烽�夋嫨"
+          >
+            <el-option
+              v-for="item in bomIdArr"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="璁″垝寮�濮嬫椂闂�" prop="planstartdate">
           <el-date-picker
             v-model="dialogForm.planstartdate"
@@ -623,6 +639,12 @@
               :value="item.code"
             />
           </el-select>
+        </el-form-item>
+        <el-form-item label="鏄惁鎺掔▼" prop="isAps">
+          <el-radio-group v-model="dialogForm.isAps">
+            <el-radio key="Y" label="Y" value="Y">鏄�</el-radio>
+            <el-radio key="N" label="N" value="N">鍚�</el-radio>
+          </el-radio-group>
         </el-form-item>
       </el-form>
 
@@ -1630,9 +1652,16 @@
         planstartdate: '', // 璁″垝寮�濮嬫椂闂�
         planenddate: '', // 璁″垝瀹屾垚鏃堕棿
         orderlev: '', // 宸ュ崟绛夌骇
-
+        isAps: 'N', // 鏄惁鎺掔▼
+        bomId: '', // 鐗╂枡娓呭崟id
         OperType: '' // 鎿嶄綔绫诲瀷
       },
+      bomIdArr: [// 鐗╂枡娓呭崟涓嬫媺  鍥犱负鎺ュ彛杩樻病鍐欙紝鏆傛椂鐢ㄥ啓姝荤殑鍊�
+        { code: 15, name: 'V5' },
+        { code: 14, name: 'V1' },
+        { code: 17, name: 'V7' },
+        { code: 16, name: 'V6' }
+      ],
       ordertypeArr: [// 宸ュ崟绫诲瀷
         { code: 'PO', name: '鏍囧噯宸ュ崟' },
         { code: 'FO', name: '鎶ュ簾琛ュ崟' }
@@ -1673,6 +1702,12 @@
         ],
         orderlev: [
           { required: true, message: '璇烽�夋嫨宸ュ崟绛夌骇', trigger: ['blur', 'change'] }
+        ],
+        isAps: [
+          { required: true, message: '璇烽�夋嫨鏄惁鎺掔▼', trigger: ['blur', 'change'] }
+        ],
+        bomId: [
+          { required: true, message: '璇烽�夋嫨鐗╂枡娓呭崟', trigger: ['blur', 'change'] }
         ]
 
       },
@@ -1902,8 +1937,21 @@
       this.dialogForm.planstartdate = handleDatetime(new Date())
       this.dialogForm.planenddate = handleDatetime(new Date())
       this.dialogForm.orderlev = 3
-    },
 
+      this.dialogForm.bomId = this.getMaxBomId()
+    },
+    // 鏌ユ壘鐗╂枡娓呭崟閲岄潰鐗堟湰鏈�澶х殑鍊�
+    getMaxBomId() {
+      let max = 0// 鏈�澶у��
+      let code = ''// 鏈�澶у�煎搴旂殑code
+      this.bomIdArr.forEach(item => {
+        if (parseFloat(item.name.substring(1)) > max) {
+          max = parseFloat(item.name.substring(1))
+          code = item.code
+        }
+      })
+      return code
+    },
     // 浜у搧淇℃伅鍊兼敼鍙�
     async partcodeChange(val) {
       console.log(val, 22)
@@ -1978,6 +2026,8 @@
         this.dialogForm.planstartdate = row.plan_startdate !== null ? row.plan_startdate : handleDatetime(new Date())
         this.dialogForm.planenddate = row.plan_enddate !== null ? row.plan_enddate : handleDatetime(new Date())
         this.dialogForm.orderlev = row.piroque !== null ? row.piroque : 3 // 绛夌骇
+
+        this.dialogForm.bomId = this.getMaxBomId() // 鏆傛椂鍐欐
       })
     },
     // 鍒犻櫎鎸夐挳
@@ -2077,7 +2127,8 @@
       this.dialogForm.planstartdate = '' // 璁″垝寮�濮嬫椂闂�
       this.dialogForm.planenddate = '' // 璁″垝瀹屾垚鏃堕棿
       this.dialogForm.orderlev = '' // 宸ュ崟绛夌骇
-
+      this.dialogForm.isAps = 'N' // 鏄惁鎺掔▼
+      this.dialogForm.bomId = this.getMaxBomId()
       this.$refs.dialogForm.clearValidate()
     },
     // 瀵硅瘽妗嗗彇娑�
@@ -2109,6 +2160,8 @@
             planstartdate: this.dialogForm.planstartdate, // 璁″垝寮�濮嬫椂闂�
             planenddate: this.dialogForm.planenddate, // 璁″垝瀹屾垚鏃堕棿
             orderlev: this.dialogForm.orderlev, // 宸ュ崟绛夌骇
+            is_aps: this.dialogForm.isAps, // 鏄惁鎺掔▼
+            bom_id: this.dialogForm.bomId, // 鏄惁鎺掔▼
             OperType: this.operation === 'add' ? 'Add' : 'Update'
           }
           this.$store.state.app.buttonIsDisabled = true
@@ -2673,12 +2726,12 @@
   margin-bottom: 0;
 }
 
-//.elTableDiv {
+.elTableDiv {
 ::v-deep .el-radio__label {
   display: none;
 }
 
-//}
+}
 
 .el-table::before {
   height: 0;
diff --git a/src/views/zzmx/wlqd.vue b/src/views/zzmx/wlqd.vue
index cb763d8..5d127fd 100644
--- a/src/views/zzmx/wlqd.vue
+++ b/src/views/zzmx/wlqd.vue
@@ -15,7 +15,7 @@
           style="display: flex;justify-content: space-between"
         >
           <div class="elForm">
-            <el-form-item label="姣嶄欢缂栫爜" style=" display: flex;">
+            <el-form-item label="姣嶄欢缂栫爜" label-width="70px" style=" display: flex;">
               <el-input v-model="form.parentpartcode" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item label="姣嶄欢鍚嶇О" style=" display: flex;">
@@ -34,7 +34,7 @@
                 />
               </el-select>
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="鐗堟湰缂栧彿" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label-width="70px" label="鐗堟湰缂栧彿" style=" display: flex;">
               <el-input v-model="form.version" placeholder="璇疯緭鍏�" style="width: 200px" />
             </el-form-item>
             <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">

--
Gitblit v1.9.3