From e2b3ff7e1f71a5ff5c9ffb86a759a040b7206b51 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 12 十月 2022 13:28:06 +0800
Subject: [PATCH] 1.物料清单开发同步

---
 src/views/scgl/scdd.vue |    4 
 src/api/zzmx.js         |    3 
 src/views/zzmx/wlqd.vue |  172 +++++++++++++++++++++++++++++++++++++-------------------
 3 files changed, 117 insertions(+), 62 deletions(-)

diff --git a/src/api/zzmx.js b/src/api/zzmx.js
index df47042..e9154a7 100644
--- a/src/api/zzmx.js
+++ b/src/api/zzmx.js
@@ -339,6 +339,7 @@
 export function DeleteBoIventory(data) {
   return request({
     url: 'ProductModel/DeleteBoIventory',
-    method: 'post'
+    method: 'post',
+    params: data
   })
 }
diff --git a/src/views/scgl/scdd.vue b/src/views/scgl/scdd.vue
index 36bd953..a744515 100644
--- a/src/views/scgl/scdd.vue
+++ b/src/views/scgl/scdd.vue
@@ -55,7 +55,7 @@
             <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
               <el-input v-model="form.creatuser" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="棰勮寮�宸ユ椂闂�" label-width="100px" style=" line-height: 40px;;display: flex;font-size: 14px;">
+            <el-form-item v-show="isExpandForm" label="棰勮寮�宸ユ椂闂�" label-width="100px" style="display: flex;font-size: 14px;align-items: center">
               <el-date-picker
                 v-model="form.paystartdate"
                 type="daterange"
@@ -71,7 +71,7 @@
               <!--              :picker-options="expireTimeOption"-->
 
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="棰勮瀹屽伐鏃堕棿" label-width="100px" style=" display: flex;font-size: 14px;">
+            <el-form-item v-show="isExpandForm" label="棰勮瀹屽伐鏃堕棿" label-width="100px" style=" display: flex;font-size: 14px;align-items: center">
               <el-date-picker
                 v-model="form.payenddate"
                 type="daterange"
diff --git a/src/views/zzmx/wlqd.vue b/src/views/zzmx/wlqd.vue
index 420982a..ff35bc9 100644
--- a/src/views/zzmx/wlqd.vue
+++ b/src/views/zzmx/wlqd.vue
@@ -40,21 +40,26 @@
             <el-form-item v-show="isExpandForm" label="鍒涘缓浜哄憳" style=" display: flex;">
               <el-input v-model="form.createusername" style="width: 200px" placeholder="璇疯緭鍏�" />
             </el-form-item>
-            <el-form-item v-show="isExpandForm" label="鍒涘缓鏃ユ湡" style=" display: flex;">
+            <el-form-item v-show="isExpandForm" label="鍒涘缓鏃ユ湡" style=" display: flex;align-items: center">
               <el-date-picker
                 v-model="form.createdate"
-                style="width: 200px"
-                type="date"
-                placeholder="閫夋嫨鏃ユ湡"
+                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-select v-model="form.status" style="width: 200px" placeholder="璇烽�夋嫨">
                 <el-option
                   v-for="item in openTypeArr"
-                  :key="item.code"
-                  :label="item.name"
-                  :value="item.code"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
                 />
               </el-select>
             </el-form-item>
@@ -106,7 +111,7 @@
           <el-table-column
             prop="partcode"
             label="姣嶄欢缂栫爜"
-            width="160"
+            min-width="160"
             show-tooltip-when-overflow
             sortable="custom"
           />
@@ -120,7 +125,7 @@
           <el-table-column
             prop="partspec"
             label="姣嶄欢瑙勬牸"
-            width="160"
+            min-width="160"
             show-tooltip-when-overflow
             sortable="custom"
           />
@@ -155,20 +160,25 @@
             <template slot-scope="{row}">
               <div v-if="row.status==='Y'">
                 <svg-icon icon-class="circleYes" style="margin-right: 2px" />
-                鍦ㄨ亴
+                鏄�
               </div>
               <div v-if="row.status==='N'">
                 <svg-icon icon-class="circleNo" style="margin-right: 2px" />
-                绂昏亴
+                鍚�
               </div>
             </template>
           </el-table-column>
           <el-table-column
             prop="startdate"
             label="鍚敤鏃ユ湡"
-            width="160"
+            width="110"
             sortable="custom"
-          />
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.startdate">{{ row.startdate.substring(0, 11) }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
           <el-table-column
             prop="version"
             label="鐗堟湰鍙�"
@@ -186,7 +196,7 @@
           <el-table-column
             prop="lm_date"
             label="鍒涘缓鏃堕棿"
-            width="160"
+            width="110"
             sortable="custom"
           >
             <template slot-scope="{row}">
@@ -258,6 +268,7 @@
               style="width: 200px"
               placeholder="璇烽�夋嫨"
               :popper-append-to-body="false"
+              :disabled="operation!=='add'"
               @change="partSelectChange"
             >
               <el-option
@@ -273,6 +284,7 @@
               v-model="dialogForm.parentpartname"
               style="width: 200px"
               placeholder="璇烽�夋嫨"
+              :disabled="operation!=='add'"
               :popper-append-to-body="false"
               @change="partSelectChange"
             >
@@ -321,13 +333,19 @@
           <!--            <el-input v-model="dialogForm.chlx" readonly style="width: 200px" />-->
           <!--          </el-form-item>-->
           <el-form-item label="鍩虹鏁伴噺" prop="quantity">
-            <el-input v-model="dialogForm.quantity" oninput="value=value.replace(/[^0-9.]/g,'')" style="width: 200px" />
+            <el-input
+              v-model="dialogForm.quantity"
+              :disabled="operation==='preview'"
+              oninput="value=value.replace(/[^0-9.]/g,'')"
+              style="width: 200px"
+            />
           </el-form-item>
           <el-form-item prop="status" label="鍚敤鐘舵��">
             <el-select
               v-model="dialogForm.status"
               style="width: 200px"
               placeholder="璇烽�夋嫨"
+              :disabled="operation==='preview'"
               :popper-append-to-body="false"
             >
               <el-option
@@ -343,6 +361,7 @@
               v-model="dialogForm.startdate"
               style="width: 200px"
               type="date"
+              :disabled="operation!=='add'"
               value-format="yyyy-MM-dd"
               :clearable="false"
               placeholder="閫夋嫨鏃ユ湡"
@@ -665,7 +684,28 @@
       })
     },
     async getBoIventorySelect() {
-      const res = await BoIventorySelect(this.form)
+      let tempDate = this.form.createdate
+      if (tempDate.length > 0) {
+        tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
+      }
+
+      const data = {
+        parentpartcode: this.form.parentpartcode,
+        parentpartname: this.form.parentpartname,
+        parentpartspec: this.form.parentpartspec,
+        parttype: this.form.parttype,
+        status: this.form.status,
+        version: this.form.version,
+        createusername: this.form.createusername,
+        createdate: tempDate,
+
+        prop: this.form.prop, // 鎺掑簭瀛楁
+        order: this.form.order, // 鎺掑簭瀛楁
+        page: this.form.page, // 绗嚑椤�
+        rows: this.form.rows // 姣忛〉澶氬皯鏉�
+      }
+
+      const res = await BoIventorySelect(data)
       this.tableData = res.data
       this.total = res.count
       return { code: res.code }
@@ -754,52 +794,51 @@
     },
     // 淇敼鎸夐挳
     async edit(operation, row) {
-      this.operation = operation
-      this.dialogVisible = true
-      await this.getPartSelect()
+      const res = await BoIventorySelectView({ bomid: row.id })
+      if (res.code === '200') {
+        this.operation = operation
+        this.dialogVisible = true
+        await this.getPartSelect()
 
-      this.$nextTick(() => {
-        this.dialogForm.parentpartcode = row.partcode
-        this.dialogForm.parentpartname = row.partname
-        this.dialogForm.parentpartspec = row.partspec
-        this.dialogForm.uomcode = row.uom_code
-        // this.dialogForm.startdate = row.startdate
-        this.dialogForm.startdate = '2022-10-12'
-        this.dialogForm.status = row.status
-        this.dialogForm.quantity = row.quantity
-        this.dialogForm.version = row.version
-      })
+        const childrenArr = [] // 瀛愰泦鏁扮粍partcode
 
-      const { data: res } = await BoIventorySelectView({ bomid: row.id })
-      res.forEach((item, index) => {
-        let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
-        number = number === 0 ? (10 + Math.random()) : number
+        res.data.forEach((item, index) => {
+          let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
+          number = number === 0 ? (10 + Math.random()) : number
 
-        // item.SEQ = (index + 1) + '0'
-        // item.isVisible = 0
-        // item.number = number
-        this.dialogTableDataArr.push({
-          SEQ: item.seq,
-          isVisible: 0,
-          number,
-          SMATERIRL_CODE: item.partcode,
-          SMATERIRL_NAME: item.partname,
-          SMATERIRL_SPEC: item.partspec,
-          uomcode: item.uom_name,
-          BASE_QUANTITY: item.base_quantity,
-          LOSS_QUANTITY: item.loss_quantity,
-          TOTAL_QUANTITY: item.total_quantity,
-          PN_TYPE: item.pn_type
+          // item.SEQ = (index + 1) + '0'
+          // item.isVisible = 0
+          // item.number = number
+          this.dialogTableDataArr.push({
+            SEQ: item.seq,
+            isVisible: 0,
+            number,
+            SMATERIRL_CODE: item.partcode,
+            SMATERIRL_NAME: item.partname,
+            SMATERIRL_SPEC: item.partspec,
+            uomcode: item.uom_name,
+            BASE_QUANTITY: item.base_quantity,
+            LOSS_QUANTITY: item.loss_quantity,
+            TOTAL_QUANTITY: item.total_quantity,
+            PN_TYPE: item.pn_type
+          })
+          childrenArr.push(item.partcode)
         })
-      })
-      // this.dialogTableDataArr.forEach((item, index) => {
-      //   let number = Math.random() * Math.random()// 浣滀负鍒犻櫎鏃剁殑鏍囪瘑绗�
-      //   number = number === 0 ? (10 + Math.random()) : number
-      //
-      //   item.SEQ = (index + 1) + '0'
-      //   item.isVisible = 0
-      //   item.number = number
-      // })
+
+        this.$nextTick(() => {
+          this.dialogForm.bomid = row.id
+          this.dialogForm.parentpartcode = row.partcode
+          this.dialogForm.parentpartname = row.partname
+          this.dialogForm.parentpartspec = row.partspec
+          this.dialogForm.uomcode = row.uom_code
+          this.dialogForm.startdate = row.startdate
+          this.dialogForm.status = row.status
+          this.dialogForm.quantity = row.quantity
+          this.dialogForm.version = row.version
+
+          this.PartSelectArr = this.PartSelectArr.filter(item => !childrenArr.includes(item.partcode) && item.partcode !== this.dialogForm.parentpartcode)
+        })
+      }
     },
     // 杈撳叆妗嗗�兼敼鍙樻椂瑙﹀彂
     inputChange(val, row) {
@@ -888,7 +927,7 @@
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        DeleteBoIventory({ orgid: row.code }).then(res => {
+        DeleteBoIventory({ bomid: row.id }).then(res => {
           if (res.code === '200') {
             this.$message.success('鍒犻櫎鎴愬姛!')
             if (this.form.page > 1 && this.tableData.length === 1) {
@@ -1087,6 +1126,21 @@
     height: 100% !important;
   }
 }
+
+::v-deep .el-range__icon{
+  line-height: 28px !important;
+}
+::v-deep .el-range-separator{
+  line-height: 28px !important;
+}
+::v-deep .el-range-input{
+  font-size: 14px;
+}
+::v-deep .el-range-separator{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
 </style>
 <style>
 

--
Gitblit v1.9.3