From 1082b0cdff025ca64edb130faf3cef527bd0241c Mon Sep 17 00:00:00 2001
From: chenhc <2369838784@qq.com>
Date: Tue, 14 May 2024 18:08:20 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E5=A4=87=E7=AE=A1=E7=90=86?=
 =?UTF-8?q?=E4=BC=98=E5=8C=96-0514-=E8=AE=BE=E5=A4=87=E5=8D=A1=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/api/purchase/purOrder.js                  |   8 +-
 src/views/basic/busType/bussinessType.vue     |   5 +-
 .../basic/busType/bussinessTypeModify.vue     |  46 +++-
 src/views/dev/DeptDeviceDetail.vue            |  28 +-
 src/views/dev/invDevicePurApplyDialog.vue     |   4 +-
 src/views/dev/invDevicePurContractDialog.vue  |   3 +
 src/views/dev/invDevicePurOrderDialog.vue     | 239 ++++++++++++++----
 7 files changed, 272 insertions(+), 61 deletions(-)

diff --git a/src/api/purchase/purOrder.js b/src/api/purchase/purOrder.js
index 579b78ed..4965e9a2 100644
--- a/src/api/purchase/purOrder.js
+++ b/src/api/purchase/purOrder.js
@@ -174,7 +174,13 @@ export function printOrder(data) {
   });
 }
 
-
+// 删除pur
+export function orderByBillNo(billNo) {
+  return axios({
+    url: '/purchase/orderByBillNo/' + billNo,
+    method: 'get'
+  })
+}
 
 
 
diff --git a/src/views/basic/busType/bussinessType.vue b/src/views/basic/busType/bussinessType.vue
index 5badcd6c..ebf3a7cc 100644
--- a/src/views/basic/busType/bussinessType.vue
+++ b/src/views/basic/busType/bussinessType.vue
@@ -196,6 +196,7 @@ export default {
         enable: null,
         remark: '',
         mainAction: '',
+        devInType: 0,
         thirdSysFk: '',
         id: '',
         checkEnable: false,
@@ -443,7 +444,9 @@ export default {
       //   this.$message.error("请选择特定页面!");
       //   return;
       // }
-
+      if(!(this.inputQuery.mainAction =='WareHouseIn' && this.inputQuery.actionType == 1)){
+        this.inputQuery.devInType = 0;
+      }
       updateBusType(this.inputQuery)
         .then((response) => {
           if (response.code == 20000) {
diff --git a/src/views/basic/busType/bussinessTypeModify.vue b/src/views/basic/busType/bussinessTypeModify.vue
index d7e51803..97b1b769 100644
--- a/src/views/basic/busType/bussinessTypeModify.vue
+++ b/src/views/basic/busType/bussinessTypeModify.vue
@@ -361,6 +361,45 @@
           <el-divider></el-divider>
         </el-collapse-item>
 
+        <el-collapse-item title="入库单据设置" v-if="inputQuery.mainAction=='WareHouseIn'">
+          <div style="width: 100%;margin-top: 15px">
+            <el-row>
+              <el-col span="5">
+                <span class="spanHeader">参数</span>
+              </el-col>
+              <el-divider direction="vertical"></el-divider>
+              <el-col span="5">
+                <span class="spanHeader">设置</span>
+              </el-col>
+              <el-divider direction="vertical"></el-divider>
+              <el-col span="13">
+                <span class="spanHeader">参数设置说明</span>
+              </el-col>
+            </el-row>
+            <el-divider direction="horizontal"></el-divider>
+          </div>
+          <el-row>
+            <el-col span="5">
+              <span class="sptext">是否设备入库</span>
+            </el-col>
+            <el-divider direction="vertical"></el-divider>
+            <el-col span="5">
+              <el-select v-model="inputQuery.devInType" style="width: 65%"
+                         :disabled="!(inputQuery.mainAction =='WareHouseIn' && inputQuery.actionType == 1)"
+                         placeholder="是否启用"
+              >
+                <el-option label="未启用" :value=0></el-option>
+                <el-option label="启用" :value=1></el-option>
+              </el-select>
+            </el-col>
+            <el-divider direction="vertical"></el-divider>
+            <el-col span="13">
+              <span class="sptext">设置是否设备入库</span>
+            </el-col>
+          </el-row>
+          <el-divider></el-divider>
+
+        </el-collapse-item>
         <el-collapse-item title="出库单据设置" v-if="inputQuery.mainAction!='WareHouseIn'">
           <div style="width: 100%;margin-top: 15px">
             <el-row>
@@ -1636,7 +1675,12 @@ export default {
       } else {
         this.inputQuery.orderTypeEnable = false
       }
-    }
+    },
+    actionType: function (val) {
+      if (val != 1) {
+        this.inputQuery.devInType = 0
+      }
+    },
   }
   ,
 
diff --git a/src/views/dev/DeptDeviceDetail.vue b/src/views/dev/DeptDeviceDetail.vue
index b9adefad..4871156b 100644
--- a/src/views/dev/DeptDeviceDetail.vue
+++ b/src/views/dev/DeptDeviceDetail.vue
@@ -65,13 +65,13 @@
         </invDeviceUsageEditDialog>
       </el-tab-pane>
 
-      <el-tab-pane label="采购合同" v-if="this.visibleFull">
-        <invDevicePurContractDialog v-if="viewCheckVisible "
-                                  :idQuery="filterQuery"
-                                  :rowData="this.rowData"
-        >
-        </invDevicePurContractDialog>
-      </el-tab-pane>
+<!--      <el-tab-pane label="采购合同" v-if="this.visibleFull">-->
+<!--        <invDevicePurContractDialog v-if="viewCheckVisible "-->
+<!--                                  :idQuery="filterQuery"-->
+<!--                                  :rowData="this.rowData"-->
+<!--        >-->
+<!--        </invDevicePurContractDialog>-->
+<!--      </el-tab-pane>-->
       <el-tab-pane label="采购订单" v-if="this.visibleFull">
         <invDevicePurOrderDialog v-if="viewCheckVisible "
                                   :idQuery="filterQuery"
@@ -80,13 +80,13 @@
         </invDevicePurOrderDialog>
       </el-tab-pane>
 
-      <el-tab-pane label="申购记录" v-if="this.visibleFull">
-        <invDevicePurApplyDialog v-if="viewCheckVisible "
-                                  :idQuery="filterQuery"
-                                  :rowData="this.rowData"
-        >
-        </invDevicePurApplyDialog>
-      </el-tab-pane>
+<!--      <el-tab-pane label="申购记录" v-if="this.visibleFull">-->
+<!--        <invDevicePurApplyDialog v-if="viewCheckVisible "-->
+<!--                                  :idQuery="filterQuery"-->
+<!--                                  :rowData="this.rowData"-->
+<!--        >-->
+<!--        </invDevicePurApplyDialog>-->
+<!--      </el-tab-pane>-->
 
     </el-tabs>
     <el-dialog
diff --git a/src/views/dev/invDevicePurApplyDialog.vue b/src/views/dev/invDevicePurApplyDialog.vue
index b482be77..45a789c0 100644
--- a/src/views/dev/invDevicePurApplyDialog.vue
+++ b/src/views/dev/invDevicePurApplyDialog.vue
@@ -82,7 +82,9 @@ export default {
   }
   ,
   created() {
-
+    /**
+     * 如果采购申领号外键 不为 空 触发 获取 订单 和 明细
+     */
   },
   components: {
 
diff --git a/src/views/dev/invDevicePurContractDialog.vue b/src/views/dev/invDevicePurContractDialog.vue
index 1df5b412..b07f3235 100644
--- a/src/views/dev/invDevicePurContractDialog.vue
+++ b/src/views/dev/invDevicePurContractDialog.vue
@@ -79,6 +79,9 @@ export default {
   }
   ,
   created() {
+    /**
+     * 如果采购合同号外键 不为 空 触发 获取 订单 和 明细
+     */
 
   },
   components: {
diff --git a/src/views/dev/invDevicePurOrderDialog.vue b/src/views/dev/invDevicePurOrderDialog.vue
index dcea4c78..ed3a4fbb 100644
--- a/src/views/dev/invDevicePurOrderDialog.vue
+++ b/src/views/dev/invDevicePurOrderDialog.vue
@@ -1,49 +1,181 @@
 <template>
   <div>
-    <el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row
-              :default-sort="defaultSort"
-    >
-      <el-table-column label="序号" type="index" width="60"></el-table-column>
-      <el-table-column label="采购单号" prop="billNo" width="160"></el-table-column>
-      <el-table-column label="采购部门" prop="deptName" width="120"></el-table-column>
-      <el-table-column label="采购仓库" prop="invName" width="120"></el-table-column>
-      <el-table-column label="申购仓库" prop="applyInvName" width="120"></el-table-column>
-      <el-table-column label="申购人" prop="applyCreateBy" width="120"></el-table-column>
-      <el-table-column label="供应商" prop="supName" width="180"></el-table-column>
-      <el-table-column label="紧急程度" prop="emergency" width="120">
-        <template slot-scope="scope">
-          {{ emergencyMap[scope.row.emergency] }}
-        </template>
-      </el-table-column>
-      <el-table-column label="到货截止" prop="arrivalTime" width="160"></el-table-column>
-      <el-table-column label="单据状态" prop="status" width="120">
-        <template slot-scope="scope">
-          <el-tag :type="(scope.row.status) | statusFilterType">
-            {{ statusMap[scope.row.status] }}
-          </el-tag>
-        </template>
-      </el-table-column>
-      <el-table-column label="创建时间" prop="createTime"></el-table-column>
-      <el-table-column label="操作" width="120">
-        <template slot-scope="scope">
-          <el-button type="text" size="small">详情</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-
-
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="filterQuery.page"
-      :limit.sync="filterQuery.limit"
-      @pagination="handleCurrentChange"
-
-    ></pagination>
+    <el-form :model="formData" :rules="formRules" ref="dataForm" label-width="120px" disabled>
+      <el-row type="flex" justify="end" v-if="editType == 1">
+        <el-button-group style="display: flex;margin-bottom: 15px; margin-right: 50px">
+          <el-button
+            v-show="!this.sysApprovalFlowConfig"
+            type="primary"
+            @click.native="saveOrder('3')"
+            :loading="loading"
+          >审核通过
+          </el-button
+          >
+          <el-button
+            v-show="!this.sysApprovalFlowConfig"
+            type="primary"
+            @click.native="saveOrder('4')"
+            :loading="loading"
+          >审核拒绝
+          </el-button
+          >
+          <el-button
+            v-show="this.sysApprovalFlowConfig"
+            type="primary"
+            @click.native="showApprovalFlowDetail()"
+          >审核过程
+          </el-button>
+        </el-button-group>
+      </el-row>
+
+      <el-card style="margin-top: -5px;">
+        <el-row>
+          <el-col :span="11">
+            <el-form-item label="采购单号:" prop="billNo">
+              <el-input v-model="formData.billNo" style="width: 90%" auto-complete="off" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="创建时间:" prop="createTime">
+              <el-date-picker
+                :disabled="true"
+                v-model="formData.createTime"
+                type="datetime"
+                placeholder="选择日期"
+                style="width: 90%"
+                :clearable="false"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row style="margin-top: -10px">
+          <el-col :span="11">
+            <el-form-item label="紧急程度:" prop="emergency">
+              <el-select v-model="formData.emergency" :disabled="true" placeholder="请选择紧急程度" style="width: 90%"
+                         clearable>
+                <el-option label="正常" :value=1></el-option>
+                <el-option label="较急" :value=2></el-option>
+                <el-option label="特急" :value=3></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="到货截止:" prop="arrivalTime">
+              <el-date-picker
+                :disabled="true"
+                v-model="formData.arrivalTime"
+                type="datetime"
+                placeholder="选择日期"
+                style="width: 90%"
+                :clearable="false"
+                value-format="yyyy-MM-dd HH:mm:ss"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="11">
+            <el-form-item label="采购仓库:" prop="locStorageCode">
+              <el-select v-model="formData.invName" placeholder="采购仓库信息" style="width: 90%"
+                         :disabled="true" clearable>
+                <el-option
+                  v-for="item in subInvList"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.code">
+                  <span style="float: left">{{ item.name }}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="审核说明:" prop="billNo">
+              <el-input v-model="formData.auditRemark" style="width: 90%" auto-complete="off" type="textarea"
+                        autosize></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row>
+          <el-col :span="11">
+            <el-form-item label="采购说明:" prop="billNo">
+              <el-input v-model="formData.remark" style="width: 90%" :disabled="true" auto-complete="off"
+                        type="textarea" autosize></el-input>
+            </el-form-item>
+          </el-col>
+          <!--                    <el-col :span="11">-->
+          <!--                        <el-form-item>-->
+          <!--                            <el-checkbox v-model="formData.autoPurchase">是否生成采购入库单</el-checkbox>-->
+          <!--                        </el-form-item>-->
+          <!--                    </el-col>-->
+
+        </el-row>
+        <el-row v-show="formData.autoPurchase">
+          <el-col :span="11">
+            <el-form-item label="入库仓库:" prop="locStorageCode">
+              <el-select v-model="formData.targetSubInv" placeholder="入库仓库信息" style="width: 90%"
+                         @change="targetInvChange" clearable>
+                <el-option
+                  v-for="item in tarSubList"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.code">
+                  <span style="float: left">{{ item.name }}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="11">
+            <el-form-item label="入库单据类型:" class="query-form-item" prop="targetBillAction">
+              <el-select v-model="formData.targetBillAction" placeholder="请选择单据类型" style="width: 90%">
+                <el-option
+                  v-for="item in busTypes"
+                  :key="item.name"
+                  :label="item.name"
+                  :value="item.action">
+                  <span style="float: left">{{ item.name }}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+
+
+        </el-row>
+      </el-card>
+
+      <el-card>
+        <el-table v-loading="loading" :data="codeArray" style="width: 100%;" :row-class-name="tableRowClassName" border
+                  highlight-current-row max-height="300" height="300" ref="multipleTable">
+          <el-table-column label="序号" type="index" width="60"></el-table-column>
+          <el-table-column label="DI/物资编码" prop="nameCode"></el-table-column>
+          <el-table-column label="物资名称" prop="productName" show-overflow-tooltip="true"></el-table-column>
+          <el-table-column label="规格型号" prop="spec" show-overflow-tooltip="true"></el-table-column>
+          <el-table-column label="计量单位" prop="measname" show-overflow-tooltip="true" width="100"></el-table-column>
+          <el-table-column label="价格" prop="price" show-overflow-tooltip="true" width="100"></el-table-column>
+          <el-table-column width="150" label="采购数量">
+            <template slot-scope="scope">
+              <el-input size="small" v-model="scope.row.count"
+                        placeholder="请输入数量" style="width: 80%"
+                        type='number'
+                        @change="tableCountChange(scope.row)"
+                        :disabled="scope.row.index !== selectedIndex"
+                        oninput="value=value.replace(/[^\d]/g,'')"></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column>
+          <el-table-column label="生产厂家" prop="manufactory"></el-table-column>
+          <el-table-column label="供应商" prop="supName"></el-table-column>
+        </el-table>
+      </el-card>
+    </el-form>
   </div>
 </template>
 
 <script>
+import {orderByBillNo} from "@/api/purchase/purOrder.js"
 
 export default {
 
@@ -68,12 +200,15 @@ export default {
   ,
   data() {
     return {
+      formData:{},
       loading: false,
-      list: [],
+      codeArray: [],
       total: 0,
       filterQuery: {
         limit: 1,
-        page: 10
+        page: 10,
+        // status: 12,
+        // billNo:null
       }
 
     }
@@ -82,7 +217,25 @@ export default {
   methods: {}
   ,
   created() {
-
+    /**
+     * 如果采购订单号外键 不为 空 触发 获取 订单 和 明细
+     */
+    if (this.rowData.purOrderBillNo != null && this.rowData.purOrderBillNo != ''){
+      // this.filterQuery.billNo = this.rowData.purOrderBillNo
+      orderByBillNo(this.rowData.purOrderBillNo)
+        .then((response) => {
+          if (response.code == 20000) {
+            this.formData = response.data;
+            this.codeArray = response.data.items || [];
+          } else {
+            this.$message.error(response.message);
+          }
+          this.loading = false;
+        })
+        .catch(() => {
+          this.loading = false;
+        });
+    }
   },
   components: {}
 }