瀏覽代碼

bug修改 包装单位修改

liumy 1 年之前
父節點
當前提交
ad419e902e

+ 1 - 1
src/components/yl-pagination/index.vue

@@ -97,7 +97,7 @@ export default {
   padding: 20px 0;
   margin: 0 auto; /* 居中 这个是必须的,,其它的属性非必须 */
   width: 100%; /* 给个宽度 顶到浏览器的两边就看不出居中效果了 */
-  text-align: center; /* 文字等内容居中 */
+  text-align: right; /* 文字等内容居中 */
 }
 .pagination-container.hidden {
   display: none;

+ 8 - 0
src/router/modules/order.js

@@ -34,6 +34,14 @@ const orderRouter = {
       meta: { title: "采购订单-待出库详情", icon: "" },
       hidden: true
     },
+    // {
+    //   // 采购订单-待出库详情
+    //   path: "udiDetail",
+    //   component: () => import("@/views/page/orderManage-sup/purOrderDelivery/udiDetail.vue"),
+    //   name: "udiDetail",
+    //   meta: { title: "采购订单-待出库详情", icon: "" },
+    //   hidden: true
+    // },
     {
       // 采购订单-已出库详情
       path: "alreadyDetail",

+ 175 - 92
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -1,19 +1,17 @@
 <template>
   <div>
     <el-form :model="infoData" ref="planForm" label-width="150px" class="grid-form-class">
-    <div class="common-card" v-if="reaDiv">
-      <!-- <h3>审批状态</h3> -->
-      <!-- <yl-step></yl-step> -->
-      <div class="form-body">
-            <div class="flex-css">
-                <el-form-item label="驳回原因" prop="rejtRea">
-                    <el-input
-                        v-model="infoData.rejtRea"
-                    ></el-input>
-                </el-form-item>
-            </div>
-            </div>
-    </div>
+      <div class="common-card" v-if="reaDiv">
+        <!-- <h3>审批状态</h3> -->
+        <!-- <yl-step></yl-step> -->
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="驳回原因" prop="rejtRea">
+              <el-input v-model="infoData.rejtRea"></el-input>
+            </el-form-item>
+          </div>
+        </div>
+      </div>
       <div class="common-card">
         <h3>商品基本资料</h3>
         <!-- <div class="right-type" style="color: #3c64dc; font-weight: 800">
@@ -23,7 +21,7 @@
           <div class="flex-css">
             <el-form-item label="耗材名称" prop="prodName">
               <div class="content" v-if="isShow">
-                {{infoData.prodName}}
+                {{ infoData.prodName }}
               </div>
               <el-input
                 v-else
@@ -48,7 +46,11 @@
           </div>
           <div class="flex-css">
             <el-form-item label="品牌" prop="brad">
-              <el-input  v-model="infoData.brad" maxlength="50" placeholder="请输入品牌"></el-input>
+              <el-input
+                v-model="infoData.brad"
+                maxlength="50"
+                placeholder="请输入品牌"
+              ></el-input>
             </el-form-item>
             <el-form-item label="生产来源" prop="prodSouc" :rules="rules.selectRequired">
               <el-select
@@ -66,7 +68,7 @@
             </el-form-item>
             <el-form-item label="生产企业" prop="prodEntp">
               <div class="content" v-if="isShow">
-                {{infoData.prodEntp}}
+                {{ infoData.prodEntp }}
               </div>
               <el-input
                 v-else
@@ -78,7 +80,7 @@
           <div class="flex-css">
             <el-form-item label="代理企业" prop="agnt">
               <div class="content" v-if="isShow">
-                {{infoData.agnt}}
+                {{ infoData.agnt }}
               </div>
               <el-input
                 v-else
@@ -88,7 +90,7 @@
             </el-form-item>
             <el-form-item label="挂网价格" prop="pubonlnPric">
               <div class="content" v-if="isShow">
-                {{infoData.pubonlnPric}}
+                {{ infoData.pubonlnPric }}
               </div>
               <el-input
                 v-else
@@ -97,9 +99,9 @@
               ></el-input>
             </el-form-item>
 
-            <el-form-item label="规格" prop="spec" >
+            <el-form-item label="规格" prop="spec">
               <div class="content" v-if="isShow">
-                {{infoData.spec}}
+                {{ infoData.spec }}
               </div>
               <el-input
                 v-else
@@ -111,17 +113,13 @@
           <div class="flex-css">
             <el-form-item label="型号" prop="mol">
               <div class="content" v-if="isShow">
-                {{infoData.mol}}
+                {{ infoData.mol }}
               </div>
-              <el-input
-                v-else
-                v-model="infoData.mol"
-                placeholder="请输入型号"
-              ></el-input>
+              <el-input v-else v-model="infoData.mol" placeholder="请输入型号"></el-input>
             </el-form-item>
             <el-form-item label="材质" prop="matl">
               <div class="content" v-if="isShow">
-                {{infoData.matl}}
+                {{ infoData.matl }}
               </div>
               <el-input
                 v-else
@@ -131,7 +129,7 @@
             </el-form-item>
             <el-form-item label="包装材质" prop="pacmatl">
               <div class="content" v-if="isShow">
-                {{infoData.pacmatl}}
+                {{ infoData.pacmatl }}
               </div>
               <el-input
                 v-else
@@ -143,7 +141,7 @@
           <div class="flex-css">
             <el-form-item label="注册证号" prop="regcertno">
               <div class="content" v-if="isShow">
-                {{infoData.regcertno}}
+                {{ infoData.regcertno }}
               </div>
               <el-input
                 v-else
@@ -167,7 +165,7 @@
               </el-select> -->
               <div class="content">
                 <span v-if="infoData.isPub == '1'">挂网</span>
-                <span v-if="infoData.isPub =='0'">非挂网</span>
+                <span v-if="infoData.isPub == '0'">非挂网</span>
               </div>
             </el-form-item>
             <el-form-item label="  " prop="regcertno">
@@ -206,10 +204,10 @@
                 ></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="是否集采" prop="isFas" >
+            <el-form-item label="是否集采" prop="isFas">
               <div class="content" v-if="isShow">
                 <span v-if="infoData.isFas == '1'">是</span>
-                <span v-if="infoData.isFas =='0'">否</span>
+                <span v-if="infoData.isFas == '0'">否</span>
               </div>
               <el-select
                 v-else
@@ -229,7 +227,7 @@
           <div class="flex-css">
             <el-form-item label="带量批次" prop="fasBtch">
               <div class="content" v-if="isShow">
-                {{infoData.fasBtch}}
+                {{ infoData.fasBtch }}
               </div>
               <el-input
                 v-else
@@ -266,7 +264,7 @@
           <div class="flex-css">
             <el-form-item label="医保编码" prop="hiCode">
               <div class="content" v-if="isShow">
-                {{infoData.hiCode}}
+                {{ infoData.hiCode }}
               </div>
               <el-input
                 v-else
@@ -286,25 +284,31 @@
                 <el-option
                   v-for="item in purcUntData"
                   :key="item.value"
-                  :label="item.name"
-                  :value="item.name"
+                  :label="item.label"
+                  :value="item.label"
                 ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
-                
-              <el-input maxlength="50" v-model="infoData.purcPric" placeholder="请输入采购价"></el-input>
+              <el-input
+                maxlength="50"
+                v-model="infoData.purcPric"
+                placeholder="请输入采购价"
+              ></el-input>
             </el-form-item>
           </div>
           <div class="flex-css">
             <el-form-item label="采购单位" prop="purcUnt" :rules="rules.selectRequired">
-                
-              <el-select v-model="infoData.purcUnt" placeholder="请选择采购单位" clearable>
+              <el-select
+                v-model="infoData.purcUnt"
+                placeholder="请选择采购单位"
+                clearable
+              >
                 <el-option
                   v-for="item in prcUntData"
                   :key="item.value"
-                  :label="item.name"
-                  :value="item.name"
+                  :label="item.label"
+                  :value="item.label"
                 ></el-option>
               </el-select>
             </el-form-item>
@@ -335,7 +339,11 @@
         <div class="form-body">
           <div class="flex-css">
             <el-form-item label="存储方式" prop="stogType" :rules="rules.selectRequired">
-              <el-select v-model="infoData.stogType" placeholder="请选择存储方式" clearable>
+              <el-select
+                v-model="infoData.stogType"
+                placeholder="请选择存储方式"
+                clearable
+              >
                 <el-option
                   v-for="item in stogTypeData"
                   :key="item.value"
@@ -345,7 +353,11 @@
               </el-select>
             </el-form-item>
             <el-form-item label="存储温度" prop="stogTemp" :rules="rules.selectRequired">
-              <el-select v-model="infoData.stogTemp" placeholder="请选择存储温度" clearable>
+              <el-select
+                v-model="infoData.stogTemp"
+                placeholder="请选择存储温度"
+                clearable
+              >
                 <el-option
                   v-for="item in stogTempData"
                   :key="item.value"
@@ -368,23 +380,28 @@
         </div>
       </div>
     </el-form>
-    <div class="foot-button" >
-      <el-button  v-if="btnShow" type="success" @click="handleSave" :loading="saveLoad">保存</el-button>
-      <el-button  v-if="btnShow" type="primary" @click="handleSubmit" :loading="submitLoad"
+    <div class="foot-button">
+      <el-button v-if="btnShow" type="success" @click="handleSave" :loading="saveLoad"
+        >保存</el-button
+      >
+      <el-button v-if="btnShow" type="primary" @click="handleSubmit" :loading="submitLoad"
         >提交</el-button
       >
-    <!-- </div>
+      <!-- </div>
     <div class="foot-button"> -->
       <el-button type="danger" @click="handleBack">返回</el-button>
     </div>
-    
   </div>
 </template>
 
 <script>
 import ylStep from "@/components/yl-step";
 import ylUpload from "@/components/yl-upload";
-import { selectMcsListById,selectMcsListIntfById, insertSplerMcsList } from "@/api/consumCataManage-sup/index";
+import {
+  selectMcsListById,
+  selectMcsListIntfById,
+  insertSplerMcsList,
+} from "@/api/consumCataManage-sup/index";
 import rules from "@/utils/rules";
 export default {
   components: { ylUpload, ylStep },
@@ -431,39 +448,105 @@ export default {
         { value: "1", name: "挂网" },
         { value: "0", name: "非挂网" },
       ],
-      purcUntData:[
-        { value: "包", name: "包" },
-        { value: "盒", name: "盒" },
-        { value: "袋", name: "袋" }
+      purcUntData: [
+        { value: "箱", label: "箱" },
+        { value: "包", label: "包" },
+        { value: "袋", label: "袋" },
+        { value: "盒", label: "盒" },
+        { value: "瓶", label: "瓶" },
+        { value: "根", label: "根" },
+        { value: "片", label: "片" },
+        { value: "贴", label: "贴" },
+        { value: "件", label: "件" },
+        { value: "条", label: "条" },
+        { value: "只", label: "只" },
+        { value: "块", label: "块" },
+        { value: "枚", label: "枚" },
+        { value: "捆", label: "捆" },
+        { value: "束", label: "束" },
+        { value: "斤", label: "斤" },
+        { value: "个", label: "个" },
+        { value: "支", label: "支" },
+        { value: "台", label: "台" },
+        { value: "克", label: "克" },
+        { value: "张", label: "张" },
+        { value: "辆", label: "辆" },
+        { value: "具", label: "具" },
+        { value: "米", label: "米" },
+        { value: "批", label: "批" },
+        { value: "盘", label: "盘" },
+        { value: "把", label: "把" },
+        { value: "对", label: "对" },
+        { value: "盆", label: "盆" },
+        { value: "套", label: "套" },
+        { value: "轴", label: "轴" },
+        { value: "板", label: "板" },
+        { value: "本", label: "本" },
+        { value: "公斤", label: "公斤" },
+        { value: "万只", label: "万只" },
+        { value: "卷", label: "卷" },
+        { value: "付", label: "付" },
+        { value: "桶", label: "桶" },
+        { value: "节", label: "节" },
+        { value: "打", label: "打" },
       ],
-      prcUntData:[
-        { value: "箱", name: "箱" },
-        { value: "盒", name: "盒" },
-        { value: "袋", name: "袋" }
+      prcUntData: [
+        { value: "箱", label: "箱" },
+        { value: "包", label: "包" },
+        { value: "袋", label: "袋" },
+        { value: "盒", label: "盒" },
+        { value: "大包", label: "大包" },
+        { value: "大袋", label: "大袋" },
+        { value: "大盒", label: "大盒" },
+        { value: "中包", label: "中包" },
+        { value: "中袋", label: "中袋" },
+        { value: "中盒", label: "中盒" },
+        { value: "小包", label: "小包" },
+        { value: "小袋", label: "小袋" },
+        { value: "小盒", label: "小盒" },
+        { value: "小盒", label: "小盒" },
+        { value: "瓶", label: "瓶" },
+        { value: "个", label: "个" },
+        { value: "根", label: "根" },
+        { value: "管", label: "管" },
+        { value: "件", label: "件" },
+        { value: "颗", label: "颗" },
+        { value: "支", label: "支" },
+        { value: "只", label: "只" },
+        { value: "把", label: "把" },
+        { value: "罐", label: "罐" },
+        { value: "杯", label: "杯" },
+        { value: "对", label: "对" },
+        { value: "枚", label: "枚" },
+        { value: "套", label: "套" },
+        { value: "条", label: "条" },
+        { value: "桶", label: "桶" },
+        { value: "张", label: "张" },
+        { value: "束", label: "束" },
       ],
       btnShow: true,
-      reaDiv:false,
+      reaDiv: false,
       // 禁用
-      isShow:true,
+      isShow: true,
     };
   },
   created() {
     // this.$nextTick(()=>{
     //   this.$refs['planForm'].resetFields();
     // })
-    if (this.$route.query.status == "B" || this.$route.query.status == "C" ) {
+    if (this.$route.query.status == "B" || this.$route.query.status == "C") {
       this.btnShow = false;
-    }else if(this.$route.query.status=="D"){
-      this.reaDiv = true
+    } else if (this.$route.query.status == "D") {
+      this.reaDiv = true;
     }
-    if(this.$route.query.isPub=='0'){
-      this.isShow =false
-    }else{
-      this.isShow =true
+    if (this.$route.query.isPub == "0") {
+      this.isShow = false;
+    } else {
+      this.isShow = true;
     }
-    if(this.$route.query.type=="modify"){
-      this.getData1()
-    }else{
+    if (this.$route.query.type == "modify") {
+      this.getData1();
+    } else {
       this.getData();
     }
   },
@@ -481,7 +564,7 @@ export default {
       selectMcsListIntfById({ id: this.$route.query.id })
         .then((response) => {
           this.infoData = response.data;
-          this.$refs['planForm'].resetFields();
+          this.$refs["planForm"].resetFields();
         })
         .catch((err) => {
           this.$message.error("获取数据失败");
@@ -491,7 +574,7 @@ export default {
       selectMcsListById({ id: this.$route.query.id })
         .then((response) => {
           this.infoData = response.data;
-          this.$refs['planForm'].resetFields();
+          this.$refs["planForm"].resetFields();
         })
         .catch((err) => {
           this.$message.error("获取数据失败");
@@ -509,9 +592,9 @@ export default {
       })
         .then(() => {
           this.saveLoad = true;
-          this.infoData.isPub=this.$route.query.isPub,
-          this.infoData.opeType=this.$route.query.opeType,
-          this.infoData.status = "A";
+          (this.infoData.isPub = this.$route.query.isPub),
+            (this.infoData.opeType = this.$route.query.opeType),
+            (this.infoData.status = "A");
           // this.infoData.opeType = "修改"
           insertSplerMcsList(this.infoData)
             .then((response) => {
@@ -541,12 +624,12 @@ export default {
           })
             .then(() => {
               this.submitLoad = true;
-              this.infoData.isPub=this.$route.query.isPub,
-              this.infoData.status = "B";
+              (this.infoData.isPub = this.$route.query.isPub),
+                (this.infoData.status = "B");
               // this.infoData.opeType = this.$route.query.opeType;
-              if(!this.$route.query.opeType){
-                this.infoData.opeType = "修改"
-              }else{
+              if (!this.$route.query.opeType) {
+                this.infoData.opeType = "修改";
+              } else {
                 this.infoData.opeType = this.$route.query.opeType;
               }
               insertSplerMcsList(this.infoData)
@@ -558,7 +641,7 @@ export default {
                   this.submitLoad = false;
                   this.$router.push({
                     name: "consumCataManagement-sup",
-                    query:{spdId:this.$route.query.spdId}
+                    query: { spdId: this.$route.query.spdId },
                   });
                 })
                 .catch(() => {
@@ -570,19 +653,19 @@ export default {
       });
     },
     // 返回
-    handleBack(){
-      if(this.$route.query.page=="2"){
-          this.$router.push({
-          name:"consumCataManagement-sup",
-          query:{current:this.$route.query.current,spdId:this.$route.query.spdId}
-        })
-      }else{
+    handleBack() {
+      if (this.$route.query.page == "2") {
         this.$router.push({
-          name:"distributionmanage",
-          query:{current:this.$route.query.current,spdId:this.$route.query.spdId}
-        })
+          name: "consumCataManagement-sup",
+          query: { current: this.$route.query.current, spdId: this.$route.query.spdId },
+        });
+      } else {
+        this.$router.push({
+          name: "distributionmanage",
+          query: { current: this.$route.query.current, spdId: this.$route.query.spdId },
+        });
       }
-    }
+    },
   },
 };
 </script>

+ 122 - 31
src/views/page/consumCataManage-sup/catalogdetailsadd.vue

@@ -33,8 +33,11 @@
           </div>
           <div class="flex-css">
             <el-form-item label="品牌" prop="brad">
-                
-              <el-input v-model="infoData.brad" maxlength="50" placeholder="请输入品牌"></el-input>
+              <el-input
+                v-model="infoData.brad"
+                maxlength="50"
+                placeholder="请输入品牌"
+              ></el-input>
             </el-form-item>
             <el-form-item label="生产来源" prop="prodSouc" :rules="rules.selectRequired">
               <el-select
@@ -161,7 +164,12 @@
             </el-form-item>
           </div>
           <div class="flex-css">
-            <el-form-item label="带量批次" prop="fasBtch"  v-if="infoData.isFas == '1'"  :rules="rules.required">
+            <el-form-item
+              label="带量批次"
+              prop="fasBtch"
+              v-if="infoData.isFas == '1'"
+              :rules="rules.required"
+            >
               <el-input
                 v-model="infoData.fasBtch"
                 placeholder="请输入带量批次"
@@ -214,26 +222,34 @@
                 <el-option
                   v-for="item in purcUntData"
                   :key="item.value"
-                  :label="item.name"
-                  :value="item.name"
+                  :label="item.label"
+                  :value="item.label"
                 ></el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
-              <el-input v-model="infoData.purcPric" maxlength="50" placeholder="请输入采购价"></el-input>
+              <el-input
+                v-model="infoData.purcPric"
+                maxlength="50"
+                placeholder="请输入采购价"
+              ></el-input>
             </el-form-item>
           </div>
           <div class="flex-css">
             <el-form-item label="采购单位" prop="purcUnt" :rules="rules.selectRequired">
-                <el-select v-model="infoData.purcUnt" placeholder="请选择采购单位" clearable>
-                  <el-option
-                    v-for="item in prcUntData"
-                    :key="item.value"
-                    :label="item.name"
-                    :value="item.name"
-                  ></el-option>
-                </el-select>
-              </el-form-item>
+              <el-select
+                v-model="infoData.purcUnt"
+                placeholder="请选择采购单位"
+                clearable
+              >
+                <el-option
+                  v-for="item in prcUntData"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label"
+                ></el-option>
+              </el-select>
+            </el-form-item>
             <el-form-item label="包装内数量" prop="convrat" :rules="rules.InterNum">
               <template slot-scope="{}" slot="label">
                 <span>包装内数量</span>
@@ -261,7 +277,11 @@
         <div class="form-body">
           <div class="flex-css">
             <el-form-item label="存储方式" prop="stogType" :rules="rules.selectRequired">
-              <el-select v-model="infoData.stogType" placeholder="请选择存储方式" clearable>
+              <el-select
+                v-model="infoData.stogType"
+                placeholder="请选择存储方式"
+                clearable
+              >
                 <el-option
                   v-for="item in stogTypeData"
                   :key="item.value"
@@ -271,7 +291,11 @@
               </el-select>
             </el-form-item>
             <el-form-item label="存储温度" prop="stogTemp" :rules="rules.selectRequired">
-              <el-select v-model="infoData.stogTemp" placeholder="请选择存储温度" clearable>
+              <el-select
+                v-model="infoData.stogTemp"
+                placeholder="请选择存储温度"
+                clearable
+              >
                 <el-option
                   v-for="item in stogTempData"
                   :key="item.value"
@@ -315,7 +339,7 @@ export default {
       saveLoad: false,
       submitLoad: false,
       rules,
-      infoData: { 
+      infoData: {
         spdId: "",
         materialId: "",
         prodName: "",
@@ -331,9 +355,9 @@ export default {
         prodentpCode: null,
         prodEntp: "",
         purcPric: null,
-        status:"",
-        isPub:"0",
-       },
+        status: "",
+        isPub: "0",
+      },
       listLoading: false,
       planForm: {},
       sourceData: [
@@ -367,18 +391,85 @@ export default {
         { value: "灭菌", name: "灭菌" },
         { value: "非灭菌", name: "非灭菌" },
       ],
-      purcUntData:[
-        { value: "包", name: "包" },
-        { value: "盒", name: "盒" },
-        { value: "袋", name: "袋" }
+      purcUntData: [
+        // 最小单位
+        { value: "箱", label: "箱" },
+        { value: "包", label: "包" },
+        { value: "袋", label: "袋" },
+        { value: "盒", label: "盒" },
+        { value: "瓶", label: "瓶" },
+        { value: "根", label: "根" },
+        { value: "片", label: "片" },
+        { value: "贴", label: "贴" },
+        { value: "件", label: "件" },
+        { value: "条", label: "条" },
+        { value: "只", label: "只" },
+        { value: "块", label: "块" },
+        { value: "枚", label: "枚" },
+        { value: "捆", label: "捆" },
+        { value: "束", label: "束" },
+        { value: "斤", label: "斤" },
+        { value: "个", label: "个" },
+        { value: "支", label: "支" },
+        { value: "台", label: "台" },
+        { value: "克", label: "克" },
+        { value: "张", label: "张" },
+        { value: "辆", label: "辆" },
+        { value: "具", label: "具" },
+        { value: "米", label: "米" },
+        { value: "批", label: "批" },
+        { value: "盘", label: "盘" },
+        { value: "把", label: "把" },
+        { value: "对", label: "对" },
+        { value: "盆", label: "盆" },
+        { value: "套", label: "套" },
+        { value: "轴", label: "轴" },
+        { value: "板", label: "板" },
+        { value: "本", label: "本" },
+        { value: "公斤", label: "公斤" },
+        { value: "万只", label: "万只" },
+        { value: "卷", label: "卷" },
+        { value: "付", label: "付" },
+        { value: "桶", label: "桶" },
+        { value: "节", label: "节" },
+        { value: "打", label: "打" },
       ],
-      prcUntData:[
-        { value: "箱", name: "箱" },
-        { value: "盒", name: "盒" },
-        { value: "袋", name: "袋" }
+      prcUntData: [
+        { value: "箱", label: "箱" },
+        { value: "包", label: "包" },
+        { value: "袋", label: "袋" },
+        { value: "盒", label: "盒" },
+        { value: "大包", label: "大包" },
+        { value: "大袋", label: "大袋" },
+        { value: "大盒", label: "大盒" },
+        { value: "中包", label: "中包" },
+        { value: "中袋", label: "中袋" },
+        { value: "中盒", label: "中盒" },
+        { value: "小包", label: "小包" },
+        { value: "小袋", label: "小袋" },
+        { value: "小盒", label: "小盒" },
+        { value: "小盒", label: "小盒" },
+        { value: "瓶", label: "瓶" },
+        { value: "个", label: "个" },
+        { value: "根", label: "根" },
+        { value: "管", label: "管" },
+        { value: "件", label: "件" },
+        { value: "颗", label: "颗" },
+        { value: "支", label: "支" },
+        { value: "只", label: "只" },
+        { value: "把", label: "把" },
+        { value: "罐", label: "罐" },
+        { value: "杯", label: "杯" },
+        { value: "对", label: "对" },
+        { value: "枚", label: "枚" },
+        { value: "套", label: "套" },
+        { value: "条", label: "条" },
+        { value: "桶", label: "桶" },
+        { value: "张", label: "张" },
+        { value: "束", label: "束" },
       ],
       btnShow: true,
-      reaDiv:false,
+      reaDiv: false,
     };
   },
   created() {
@@ -451,7 +542,7 @@ export default {
                   this.submitLoad = false;
                   this.$router.push({
                     name: "consumCataManagement-sup",
-                    query:{spdId:this.$route.query.spdId}
+                    query: { spdId: this.$route.query.spdId },
                   });
                 })
                 .catch(() => {

+ 82 - 4
src/views/page/orderManage-sup/alreadyDelivery/alreadyDetail.vue

@@ -131,8 +131,8 @@
                 <el-table-column label="材质" prop="matl" />
                 <el-table-column label="是否集采" prop="isFas" >
             <template #default="{ row }">
-              <span v-if="row.isFas == '1'">否</span>
-              <span v-if="row.isFas == '0'">是</span>
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
           <el-table-column label="包装" prop="convrat" width="120px">
@@ -144,6 +144,8 @@
                 <el-table-column label="生产日期" prop="manuDate"  width="100px"/>
                 <el-table-column label="有效期至" prop="prodExpy" width="100px"/>
                 <el-table-column label="需求数量" prop="purcCnt" />
+                <el-table-column label="UDI码" prop="purcCnt" >
+                </el-table-column>
                 <el-table-column label="剩余出库量" prop="toDelvCnt" width="90px"/>
                 <el-table-column label="本次出库量" prop="delvCnt" width="90px"/>
                 <el-table-column label="客户验收数量" prop="shppCnt" width="100px"/>
@@ -302,6 +304,54 @@
             >
             <iframe :src="pdfSrc" frameborder="0" style="width: 100%; height: 100%"></iframe>
         </el-dialog>
+        <!-- UDI码 -->
+    <el-dialog
+      title="UDI码填写"
+      :visible.sync="udidialog"
+      width="70%"
+    >
+    <el-form :model="udiData" ref="udiData">
+    <el-table
+        element-loading-text="加载中"
+        :data="udiData"
+        fit
+        stripe
+        border
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="耗材信息" width="230">
+            <template slot-scope="scope">
+                <mcs-info :info="scope.row"></mcs-info>
+            </template>
+          </el-table-column>
+          <el-table-column label="规格" prop="spec" />
+          <el-table-column label="型号" prop="mol" />
+          <el-table-column label="材质" prop="matl" />
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="批号" prop="lotNum">
+          </el-table-column>
+          <el-table-column label="生产日期" prop="manuDate">
+          </el-table-column>
+          <el-table-column label="有效期至" prop="prodExpy">
+          </el-table-column>
+          <el-table-column label="包装" prop="convrat" width="120px">
+            <template #default="{ row }">
+              <span>{{row.purcUnt}}  ({{row.convrat}}{{row.prcUnt}}/{{row.purcUnt}})</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="UDI码" prop="udid" width="120"></el-table-column>
+      </el-table>
+    </el-form>
+    </el-dialog>
     </div>
 </template>
 
@@ -372,9 +422,10 @@ import { getOrdDetlList,finishDelvOrd } from "@/api/orderManage-sup/index";
                     regcertno: "",
                 },
                 isFasData: [
-                    { value: "0", name: "是" },
-                    { value: "1", name: "否" },
+                    { value: "1", name: "是" },
+                    { value: "0", name: "否" },
                 ],
+                udidialog:false,
             }
         },
         created() {
@@ -581,6 +632,33 @@ import { getOrdDetlList,finishDelvOrd } from "@/api/orderManage-sup/index";
                     });
                 })
             },
+             // 查看UDI码
+            handleudi(row){
+            this.udidialog = true;
+            let udiObj={
+                spec:row.spec,
+                mol:row.mol,
+                matl:row.matl,
+                isFas:row.isFas,
+                lotNum:row.lotNum,
+                manuDate:row.manuDate,
+                prodExpy:row.prodExpy,
+                convrat:row.convrat,
+                prcUnt:row.prcUnt,
+                purcUnt:row.purcUnt,
+                prodName:row.prodName,
+                regcertno:row.regcertno,
+                prodEntp:row.prodEntp,
+                fasBtch:row.fasBtch,
+            }
+            // const obj = { a: 1, b: 2 };
+            const n = 5;
+            // const copiedObjects = Array.from({ length: n }, () => ({ ...obj }));
+            // const n = row.udid;
+            const copiedObjects = Array.from({ length: n }, () => ({ ...udiObj }));
+            console.log(copiedObjects,"copiedObjects")
+            this.udiData = copiedObjects
+            },
             // 返回
             handleBack() {
             this.$router.push({

+ 16 - 10
src/views/page/orderManage-sup/purOrderAccept/acceptDetail.vue

@@ -122,8 +122,8 @@
 
           <el-table-column label="是否集采" prop="isFas" >
             <template #default="{ row }">
-              <span v-if="row.isFas == '1'">否</span>
-              <span v-if="row.isFas == '0'">是</span>
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
           <!-- <el-table-column label="计价单位" prop="prcUnt" /> -->
@@ -135,7 +135,7 @@
             </template>
           </el-table-column>
           <el-table-column label="采购数量" prop="purcCnt" />
-          <el-table-column label="采购价" prop="purcPric" >
+          <el-table-column label="价" prop="purcPric" >
             <template #default="{ row }">
               <span>{{row.purcPric}}元/{{row.prcUnt}}</span>
             </template>
@@ -157,7 +157,7 @@
                   <el-switch v-model="scope.row.flag" @change="handleSwitch(scope.$index,scope.row)" :disabled="!isShow"></el-switch>
               </template>
           </el-table-column>
-          <el-table-column label="备注" prop="memo" width="200">
+          <!-- <el-table-column label="备注" prop="memo" width="200">
               <template slot-scope="scope">
                   <el-form-item
                       label-width="0"
@@ -167,7 +167,7 @@
                       <el-input placeholder="请输入" v-model="scope.row.memo"></el-input>
                   </el-form-item>
               </template>
-          </el-table-column>
+          </el-table-column> -->
         </el-table>
       </el-form>
 
@@ -223,8 +223,8 @@ export default {
         regcertno: "",
       },
       isFasData: [
-        { value: "0", name: "是" },
-        { value: "1", name: "否" },
+        { value: "1", name: "是" },
+        { value: "0", name: "否" },
       ],
     };
   },
@@ -312,9 +312,9 @@ export default {
         let arr1 =[]
         this.list.forEach((i)=>{
           if (i.flag == true) {
-            arr.push({ id: i.id, rejtRea: i.rejtRea,memo:i.memo, stas:"R" })
+            arr.push({ id: i.id, rejtRea: i.rejtRea, stas:"R" })
             }
-          else{ arr1.push({ id: i.id, stas:"B",memo:i.memo, })
+          else{ arr1.push({ id: i.id, stas:"B" })
           }
         })
         let data2 =  arr.concat(arr1);
@@ -326,11 +326,17 @@ export default {
         this.aaLoad = true;
         acpMcsOrd(data3)
           .then((res) => {
+            this.$message.success("受理成功")
             this.aaLoad = false;
-            this.$router.push("purOrderAccept");
+            // this.$router.push("purOrderAccept");
+            this.$router.push({
+            name: "purOrderAccept",
+            query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
+          });
           })
           .catch((err) => {
             this.aaLoad = false;
+            this.$message.error("受理失败")
           });
       });
     },

+ 4 - 4
src/views/page/orderManage-sup/purOrderAccept/index.vue

@@ -117,7 +117,7 @@
             </el-form-item>
             <el-form-item label="来源部门" prop="deptName" class="long">
               <el-input
-                v-model="listQuery.deptName"
+                v-model="listQueryC.deptName"
                 placeholder="请输入来源部门"
               ></el-input>
             </el-form-item>
@@ -214,13 +214,14 @@ export default {
         current: 1,
         size: 10,
         id: "",
-        // deptName: "",
+        deptName: "",
         docmkDateStart: "",
         docmkDateEnd: "",
         docmkDate: [],
         stas: "",
         branchName: "",
-        spdId:""
+        spdId:"",
+
       },
       listQueryC: {
         current: 1,
@@ -291,7 +292,6 @@ export default {
       // }
     },
     handleClick(tab) {
-      console.log(tab.name, "name");
       if (tab.name == "first") {
         this.getorderData();
       } else {

+ 11 - 5
src/views/page/orderManage-sup/purOrderConfirmed/confirmDetail.vue

@@ -119,8 +119,8 @@
           <el-table-column label="材质" prop="matl" />
           <el-table-column label="是否集采" prop="isFas" >
             <template #default="{ row }">
-              <span v-if="row.isFas == '1'">否</span>
-              <span v-if="row.isFas == '0'">是</span>
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
           <el-table-column label="包装" prop="convrat" width="120px">
@@ -129,7 +129,7 @@
             </template>
           </el-table-column>
           <el-table-column label="采购数量" prop="purcCnt" />
-          <el-table-column label="采购价" prop="purcPric" >
+          <el-table-column label="价" prop="purcPric" >
             <template #default="{ row }">
               <span>{{row.purcPric}}元/{{row.prcUnt}}</span>
             </template>
@@ -207,8 +207,8 @@ export default {
         regcertno: "",
       },
       isFasData: [
-        { value: "0", name: "是" },
-        { value: "1", name: "否" },
+        { value: "1", name: "是" },
+        { value: "0", name: "否" },
       ],
     };
   },
@@ -248,6 +248,12 @@ export default {
               i.flag = true;
             }
             i.essdrugType = this.essdrugOptions[i.essdrugType * 1];
+            // if(i.purcAmt){
+            //   i.purcAmt = i.purcAmt.toFixed(4)
+            // }
+            // if(i.purcPric){
+            //   i.purcPric = i.purcPric.toFixed(4)
+            // }
           });
           this.listLoading = false;
         })

+ 172 - 47
src/views/page/orderManage-sup/purOrderDelivery/deliveryDetail.vue

@@ -1,14 +1,6 @@
 <template>
   <!-- 待出库 -->
   <div>
-    <!-- <div class="common-card">
-            <h3>订单状态</h3>
-            <yl-step></yl-step>
-        </div> -->
-        <!-- <div class="right-button">
-            <el-button class="lake-Blue" @click="handleConfirm">出库</el-button>
-            <el-button type="danger" @click="handleRefuse">关闭订单</el-button>
-        </div> -->
     <div class="common-card">
       <h3>基本信息</h3>
       <el-form
@@ -125,8 +117,8 @@
           <el-table-column label="材质" prop="matl" />
           <el-table-column label="是否集采" prop="isFas" >
             <template #default="{ row }">
-              <span v-if="row.isFas == '1'">否</span>
-              <span v-if="row.isFas == '0'">是</span>
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
           <el-table-column label="包装" prop="convrat" width="120px">
@@ -231,7 +223,11 @@
                   </el-form-item>
               </template>
           </el-table-column>
-          
+          <!-- <el-table-column label="UDI码" prop="udid" >
+            <template slot-scope="scope">
+                <el-button type="text" @click="handleudi(scope.row)">{{scope.row.delvCnt}}</el-button>
+              </template>
+          </el-table-column> -->
           <el-table-column label="报关单" prop="invoFileId" width="200">
             <template slot-scope="scope">
               <yl-upload
@@ -392,15 +388,77 @@
         @pagination="getTongData"
       />
     </el-dialog>
-    <!-- PDF预览 -->
+    <!-- UDI码 -->
     <el-dialog
-      title="PDF预览"
-      class="dd"
-      :visible.sync="dialogVisible"
+      title="UDI码填写"
+      :visible.sync="udidialog"
       width="70%"
-      center
     >
-      <iframe :src="pdfSrc" frameborder="0" style="width: 100%; height: 100%"></iframe>
+    <el-form :model="udiData" ref="udiForm">
+    <el-table
+        element-loading-text="加载中"
+        :data="udiData"
+        fit
+        stripe
+        border
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="耗材信息" width="230">
+            <template slot-scope="scope">
+                <mcs-info :info="scope.row"></mcs-info>
+            </template>
+          </el-table-column>
+          <el-table-column label="规格" prop="spec" />
+          <el-table-column label="型号" prop="mol" />
+          <el-table-column label="材质" prop="matl" />
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="批号" prop="lotNum">
+          </el-table-column>
+          <el-table-column label="生产日期" prop="manuDate">
+          </el-table-column>
+          <el-table-column label="有效期至" prop="prodExpy">
+          </el-table-column>
+          <el-table-column label="包装" prop="convrat" width="120px">
+            <template #default="{ row }">
+              <span>{{row.purcUnt}}  ({{row.convrat}}{{row.prcUnt}}/{{row.purcUnt}})</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="UDI码" prop="udidma" width="150" fixed="right">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.udidma'"
+                :rules="[
+                  {
+                    required: true,
+                    message: '请输入',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input placeholder="请输入" v-model="scope.row.udidma"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+      </el-table>
+    </el-form>
+    <div class="foot-button" style="margin-top: 30px">
+        <el-button
+          type="primary"
+          @click="clickUdi"
+          >确 认</el-button
+        >
+      </div>
     </el-dialog>
     <!-- 出库单预览 -->
     <el-dialog title="出库单预览" :visible.sync="printVisible" width="70%">
@@ -456,6 +514,7 @@
             <th>批号</th>
             <th>生产日期</th>
             <th>有效期至</th>
+            <!-- <th>UDI码</th> -->
             <th>需求数量</th>
             <th>已出库数量</th>
             <th>剩余出库量</th>
@@ -512,7 +571,9 @@
             <td align="center">
               {{ item.prodExpy }}
             </td>
-
+            <!-- <td align="center">
+              {{ item.udid }}
+            </td> -->
             <td align="center">
               {{ item.purcCnt }}
             </td>
@@ -529,7 +590,7 @@
           <tr class="hang">
             <th align="left" :colspan="6" >合计</th>
             <td :colspan="12" align="left">
-              {{ moneySum | toChineseAmount }}
+              {{ moneySum }}
             </td>
             <!-- <td align="center"> -->
               <!-- {{ numSum }} -->
@@ -672,8 +733,8 @@ export default {
           regcertno: "",
       },
       isFasData: [
-          { value: "0", name: "是" },
-          { value: "1", name: "否" },
+          { value: "1", name: "是" },
+          { value: "0", name: "否" },
       ],
       TimeOption: {
         disabledDate(time) {
@@ -685,6 +746,8 @@ export default {
           return time.getTime() > Date.now();
         },
       },
+      udidialog:false,
+      udiData:[],
     };
   },
   created() {
@@ -859,7 +922,6 @@ export default {
     shanchu(row) {
       this.tableData.forEach(async (item) => {
         await this.numAll(row);
-        console.log(this.numAll(row), "he");
         if (item.id == row.id) {
           if (this.numAll(row) > item.purcCnt) {
             this.$message.info("出库数量不能大于订货数");
@@ -876,7 +938,6 @@ export default {
     shanchu2(row, index) {
       this.tableData.forEach(async (item) => {
         await this.numAll(row);
-        console.log(this.numAll(row), "he");
         if (item.id == row.id) {
           if (this.numAll(row) > this.number[index]) {
             this.$message.info("出库数量不能大于待出库数量");
@@ -894,7 +955,6 @@ export default {
     shanchu3(row) {
       this.tableData.forEach(async (item) => {
         await this.numAll(row);
-        console.log(this.numAll(row), "he");
         if (item.prodCode == row.prodCode) {
           if (this.numAll(row) > item.toDelvCnt) {
             this.$message.warning("出库数量不能大于待出库数量");
@@ -919,19 +979,6 @@ export default {
       let url = window.URL.createObjectURL(blob);
       return url;
     },
-    // 详情
-    openPdf(row) {
-      // let file = {
-      //     id: row.fileId,
-      // };
-      // uploadCheck(file).then((res) => {
-      //     if (res.success == true) {
-      //         this.dialogVisible = true;
-      //         const a = this.dataURLtoBlob(res.data.fileContent);
-      //         this.pdfSrc = a;
-      //     }
-      // });
-    },
     // 添加批次
     handleBatch(row, index) {
       let list = {
@@ -956,6 +1003,9 @@ export default {
         prodSouc:row.prodSouc,
         spec: row.spec,
         toDelvCnt: row.toDelvCnt,
+        convrat:row.convrat,
+        prcUnt:row.prcUnt,
+        purcUnt:row.purcUnt,
         invoFileId: "",
         lotNum: "",
         manuDate: "",
@@ -965,7 +1015,6 @@ export default {
       this.tableData.splice(index + 1, 0, list);
       list.showDeleteButton = true;
       this.computeCell(this.tableData);
-      console.log(this.tableData,"tableData")
       // const aa = this.tableData.findIndex((item) => item.id === row.id);
       // this.number.splice(aa+1,0,this.number[aa])
     },
@@ -978,17 +1027,17 @@ export default {
           // 先设置第一项
           this.cellList.push(1); // 初为1,若下一项和此项相同,就往cellList数组中追加0
           this.count = 0;
-          console.log("索引", 0, this.count);
+          // console.log("索引", 0, this.count);
         } else {
           // 判断当前项与上项的设备类别是否相同,因为是合并这一列的单元格
           if (tableData[i].prodCode == tableData[i - 1].prodCode) {
             this.cellList[this.count] += 1; // 增加计数
             this.cellList.push(0); // 相等就往cellList数组中追加0
-            console.log("索引", i, this.count);
+            // console.log("索引", i, this.count);
           } else {
             this.cellList.push(1); // 不等就往cellList数组中追加1
             this.count = i; // 将索引赋值为计数
-            console.log("索引", i, this.count);
+            // console.log("索引", i, this.count);
           }
         }
       }
@@ -1142,6 +1191,76 @@ export default {
       this.$refs.tongForm.resetFields();
       this.getTongData();
     },
+    // 填写UDI码
+    handleudi(row){
+      this.udidialog = true;
+      let udiObj={
+        spec:row.spec,
+        mol:row.mol,
+        matl:row.matl,
+        isFas:row.isFas,
+        lotNum:row.lotNum,
+        manuDate:row.manuDate,
+        prodExpy:row.prodExpy,
+        convrat:row.convrat,
+        prcUnt:row.prcUnt,
+        purcUnt:row.purcUnt,
+        prodName:row.prodName,
+        regcertno:row.regcertno,
+        prodEntp:row.prodEntp,
+        fasBtch:row.fasBtch,
+        prodSouc:row.prodSouc,
+        mcsType:row.mcsType,
+        udidma:"",
+      }
+      // const obj = { a: 1, b: 2 };
+      // const n = 5;
+      // const copiedObjects = Array.from({ length: n }, () => ({ ...obj }));
+      const n = row.delvCnt;
+      const copiedObjects = Array.from({ length: n }, () => ({ ...udiObj }));
+      console.log(copiedObjects,"copiedObjects")
+      this.udiData = copiedObjects
+    },
+    // 确定UDI
+    clickUdi(){
+      this.$refs.udiForm.validate((valid) => {
+        if (valid) {
+          console.log(valid,"valid");
+          this.$confirm("确认提交udi码", "提示", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          }).then(() => {
+
+            this.udidialog = true;
+          });
+        } else {
+          this.$message({
+            type: "warning",
+            message: "请填写必填项信息",
+          });
+        }
+      });
+    },
+    // 判断一个数组对象的属性是否有重复
+    pf(arr) {
+      for (let i = 0; i < arr.length - 1; i++) {
+        for (let j = i + 1; j < arr.length; j++) {
+          console.log(arr[i].prodCode, arr[j].prodCode);
+          if (arr[i].prodCode == arr[j].prodCode) {
+            var set = new Set(); //创建个集合Set对象(用object对象也可以)
+            return arr.some(function (v, i) {
+              //遍历 arr数组,当返回值为true时提前退出遍历。
+              var f = set.has(v.lotNum); //判断每个对象里number属性的值是否在集合Set
+              set.add(v.lotNum); //将number属性的值添加到集合Set中
+              return f;
+            });
+          } else {
+            console.log("else");
+          }
+        }
+      }
+    },
     // 选择同行单
     handleTong(e, row) {
       this.tongIndex = e;
@@ -1180,6 +1299,14 @@ export default {
           throw new Error("请填写相应信息,并选择报关单");
         }
       });
+      let lotnum = this.pf(this.tableData);
+      if (lotnum == true) {
+        this.$message({
+          message: "同一产品的批号不能重复",
+          type: "info",
+        });
+        throw new Error("同一产品的批号不能重复");
+      }
       this.$refs.tabledata.validate((valid) => {
         if (valid) {
           this.$confirm("确认出库", "提示", {
@@ -1199,14 +1326,12 @@ export default {
     },
     // 出库确认
     handleConfirm() {
-      console.log(this.tableData,"this.tableData")
       this.$confirm("确认出库", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       }).then(() => {
         let data = this.tableData.map((i) => {
-          console.log(i,"1111")
           return {
             materialId: i.prodCode,
             memo:i.memo,
@@ -1229,11 +1354,13 @@ export default {
           spdId: this.$route.query.spdId,
           deptName: this.$route.query.deptName,
         };
-        console.log(data, "data");
         submitMcsDelvOrd(data2)
           .then((res) => {
             this.printVisible = false;
-            this.$router.push("purOrderDelivery");
+            this.$router.push({
+                name: "purOrderDelivery",
+                query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
+            });
           })
           .catch((err) => {
             // this.confirmLoadLoad = false;
@@ -1258,7 +1385,6 @@ export default {
         purcOrdId: this.$route.query.id,
         detlList: data,
       };
-      console.log(data, "data");
       this.saveLoad = true;
       saveDelvOrd(data2)
         .then((res) => {
@@ -1270,7 +1396,6 @@ export default {
     },
     // 结束订单
     handleOrderEnd() {
-      // console.log(this.tableData, "tanleData");
       // this.tableData.forEach((item) => {
       //   if (!item.invoFileId || !item.dyntFileId) {
       //     this.$message({

+ 1 - 1
src/views/page/orderManage-sup/purOrderDelivery/index.vue

@@ -205,7 +205,7 @@
               <span v-if="row.delvOrdStas == 'R'">被驳回</span>
               <span v-if="row.delvOrdStas == 'C'">已出库</span>
               <span v-if="row.delvOrdStas == 'D'">部分出库</span>
-              <span v-if="row.delvOrdStas == 'Y'">结束订单</span>
+              <span v-if="row.delvOrdStas == 'Y'">已入库</span>
               <span v-if="row.delvOrdStas == 'P'">部分入库</span>
             </template>
           </el-table-column>

+ 137 - 4
src/views/page/orderManage-sup/purOrderDelivery/purchaseDetails.vue

@@ -107,6 +107,11 @@
               </el-form-item>
             </template>
           </el-table-column>
+          <!-- <el-table-column label="UDI码" prop="udid" >
+            <template slot-scope="scope">
+              <el-button type="text" @click="handleudi(scope.row)">10</el-button>
+              </template>
+          </el-table-column> -->
           <el-table-column label="需求数量" prop="purcCnt" />
           <!-- <el-table-column label="已出库数量" prop="delvCntYck" width="90px" /> -->
           <el-table-column label="剩余出库量" prop="toDelvCnt" width="90px" />
@@ -259,8 +264,8 @@
           <el-table-column label="材质" prop="matl" />
           <el-table-column label="是否集采" prop="isFas">
             <template #default="{ row }">
-              <span v-if="row.isFas == '1'">否</span>
-              <span v-if="row.isFas == '0'">是</span>
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
           <el-table-column label="包装" prop="convrat" width="120px">
@@ -286,6 +291,78 @@
         />
       </template>
     </el-dialog>
+    <!-- UDI码 -->
+    <!-- <el-dialog
+      title="UDI码填写"
+      :visible.sync="udidialog"
+      width="70%"
+    >
+    <el-form :model="udiData" ref="udiData">
+    <el-table
+        element-loading-text="加载中"
+        :data="udiData"
+        fit
+        stripe
+        border
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="耗材信息" width="230">
+            <template slot-scope="scope">
+                <mcs-info :info="scope.row"></mcs-info>
+            </template>
+          </el-table-column>
+          <el-table-column label="规格" prop="spec" />
+          <el-table-column label="型号" prop="mol" />
+          <el-table-column label="材质" prop="matl" />
+          <el-table-column label="是否集采" prop="isFas" >
+            <template #default="{ row }">
+              <span v-if="row.isFas == '0'">否</span>
+              <span v-if="row.isFas == '1'">是</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="批号" prop="lotNum">
+          </el-table-column>
+          <el-table-column label="生产日期" prop="manuDate">
+          </el-table-column>
+          <el-table-column label="有效期至" prop="prodExpy">
+          </el-table-column>
+          <el-table-column label="包装" prop="convrat" width="120px">
+            <template #default="{ row }">
+              <span>{{row.purcUnt}}  ({{row.convrat}}{{row.prcUnt}}/{{row.purcUnt}})</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="UDI码" prop="udid" width="120" fixed="right">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.udid'"
+                :rules="[
+                  {
+                    required: true,
+                    message: '请输入',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input placeholder="请输入" v-model="scope.row.udid"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+      </el-table>
+    </el-form>
+    <div class="foot-button" style="margin-top: 30px">
+        <el-button
+          type="primary"
+          click="clickUdi"
+          >确 认</el-button
+        >
+      </div>
+    </el-dialog> -->
   </div>
 </template>
 
@@ -329,8 +406,8 @@ export default {
       Loading: false,
       cellList: [],
       isFasData: [
-        { value: "0", name: "是" },
-        { value: "1", name: "否" },
+        { value: "1", name: "是" },
+        { value: "0", name: "否" },
       ],
       TimeOption: {
         disabledDate(time) {
@@ -342,6 +419,7 @@ export default {
           return time.getTime() > Date.now();
         },
       },
+      udidialog:false,
     };
   },
   methods: {
@@ -453,6 +531,25 @@ export default {
     handleSelectionChange(e) {
       this.selectData = e;
     },
+     // 判断一个数组对象的属性是否有重复
+     pf(arr) {
+      for (let i = 0; i < arr.length - 1; i++) {
+        for (let j = i + 1; j < arr.length; j++) {
+          console.log(arr[i].prodCode, arr[j].prodCode);
+          if (arr[i].prodCode == arr[j].prodCode) {
+            var set = new Set(); //创建个集合Set对象(用object对象也可以)
+            return arr.some(function (v, i) {
+              //遍历 arr数组,当返回值为true时提前退出遍历。
+              var f = set.has(v.lotNum); //判断每个对象里number属性的值是否在集合Set
+              set.add(v.lotNum); //将number属性的值添加到集合Set中
+              return f;
+            });
+          } else {
+            console.log("else");
+          }
+        }
+      }
+    },
     // 出库
     handleDelivery() {
       this.tableData.forEach((item) => {
@@ -472,6 +569,14 @@ export default {
           throw new Error("请填写相应信息,并选择报关单");
         }
       });
+      let lotnum = this.pf(this.tableData);
+      if (lotnum == true) {
+        this.$message({
+          message: "同一产品的批号不能重复",
+          type: "info",
+        });
+        throw new Error("同一产品的批号不能重复");
+      }
       this.$refs.tabledata.validate((valid) => {
         if (valid) {
           let data = this.tableData.map((i) => {
@@ -535,6 +640,34 @@ export default {
         }
       });
     },
+    // 查看UDI码
+     // 填写UDI码
+     handleudi(row){
+      this.udidialog = true;
+      let udiObj={
+        spec:row.spec,
+        mol:row.mol,
+        matl:row.matl,
+        isFas:row.isFas,
+        lotNum:row.lotNum,
+        manuDate:row.manuDate,
+        prodExpy:row.prodExpy,
+        convrat:row.convrat,
+        prcUnt:row.prcUnt,
+        purcUnt:row.purcUnt,
+        prodName:row.prodName,
+        regcertno:row.regcertno,
+        prodEntp:row.prodEntp,
+        fasBtch:row.fasBtch,
+      }
+      // const obj = { a: 1, b: 2 };
+      const n = 5;
+      // const copiedObjects = Array.from({ length: n }, () => ({ ...obj }));
+      // const n = row.udid;
+      const copiedObjects = Array.from({ length: n }, () => ({ ...udiObj }));
+      console.log(copiedObjects,"copiedObjects")
+      this.udiData = copiedObjects
+    },
     // 添加批次
     handleBatch(row, index) {
       let list = {

+ 31 - 23
src/views/page/productreturnmanage-sup/returnOrderAccept/index.vue

@@ -13,7 +13,12 @@
         @node-click="handleNodeClick"
         default-expand-all="true"
         style="margin-top: 10px"
-      ></el-tree>
+      >
+      <span class="custom-tree-node" slot-scope="{ node, data }">
+          <div>{{node.label}}</div>
+          <div class="redTit">{{data.wqrnum}}</div> 
+        </span>
+      </el-tree>
     </el-card>
     <div class="right-common-box">
       <el-form :model="listQuery" ref="queryForm" :inline="true">
@@ -52,6 +57,7 @@
         :data="list"
         fit
         stripe
+        height="500"
         border
       >
         <template slot="empty">
@@ -114,20 +120,11 @@ export default {
         id: "",
         orgId: "",
         stas: "",
-        // bb: "",
+        docmkDate: [],
       },
       stasOptions: [
-        { value: "A", lable: "未受理" },
-        { value: "B", lable: "已受理" },
-        { value: "R", lable: "被驳回" },
-        { value: "C", lable: "已出库" },
-        { value: "D", lable: "部分出库" },
-        { value: "Y", lable: "已入库" },
-        { value: "P", lable: "部分入库" },
-      ],
-      dd1: [
-        { value: 0, name: "采购方1" },
-        { value: 1, name: "采购方2" },
+        { value: "A", lable: "待确认" },
+        { value: "B", lable: "已确认" },
       ],
       listLoading: false,
       list: [],
@@ -190,18 +187,12 @@ export default {
       if (type == "search") {
         this.listQuery.current = 1;
       }
-      this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
-      this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
+        this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
+        this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
       this.listLoading = true;
       selectRetnOrdD(this.listQuery)
         .then((res) => {
-        //   this.list = res.data.records;
-        this.list =[
-            { id: 1, deltCnt: "2211", amt: "1120", stas: "A" },
-        { id: 2, deltCnt: "2233", amt: "1121", stas: "A" },
-        { id: 3, deltCnt: "2244", amt: "1122", stas: "A" },
-        { id: 4, deltCnt: "2255", amt: "1123", stas: "B" },
-        ]
+          this.list = res.data.records;
           this.total = res.data.total;
           this.listLoading = false;
         })
@@ -229,6 +220,7 @@ export default {
             docmkDate:row.docmkDate,
             stas: row.stas,
             spdId:this.spdId,
+            rejtRea:row.rejtRea
           },
         });
       } else {
@@ -253,4 +245,20 @@ export default {
 };
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.custom-tree-node{
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+}
+.custom-tree-node ::v-deep .redTit{
+  min-width: 30px;
+  background-color: #f56c6c;
+  min-height: 1px;
+  border-radius: 10px;
+  text-align: center;
+  margin-left: 10px;
+  padding: 1px;
+  color: #fff;
+}
+</style>

+ 21 - 73
src/views/page/productreturnmanage-sup/returnOrderAccept/returnDetail.vue

@@ -1,14 +1,14 @@
 <template>
   <!-- 商品退货管理————待确认 -->
   <div>
-    <div class="right-button">
-      <el-button type="primary" @click="handleConfirm" :loading="sureLoading"
+    <!-- <div class="right-button"> -->
+      <!-- <el-button type="primary" @click="handleConfirm" :loading="sureLoading"
         >确 认</el-button
-      >
-      <el-button type="danger" @click="handleRefuse" :loading="refuseLoading"
+      > -->
+      <!-- <el-button type="danger" @click="handleRefuse" :loading="refuseLoading"
         >拒 绝</el-button
-      >
-    </div>
+      > -->
+    <!-- </div> -->
     <div class="common-card">
       <h3>基本信息</h3>
       <el-form
@@ -102,7 +102,7 @@
             </template>
           </el-table-column>
           <!-- <el-table-column label="采购数量" prop="purcCnt" /> -->
-          <el-table-column label="采购价" prop="purcPric" >
+          <el-table-column label="价" prop="purcPric" >
             <template #default="{ row }">
               <span>{{row.retnPric}}元/{{row.prcUnt}}</span>
             </template>
@@ -126,14 +126,18 @@
             <el-form-item label="退货原因" prop="rejtRea">
               <el-input
                 v-model="listForm.rejtRea"
-                placeholder="请输入退货原因"
-                
+                readonly
               ></el-input>
             </el-form-item>
           </div>
         </div>
       </el-form>
     </div>
+    <div class="foot-button">
+      <el-button type="primary" @click="handleConfirm" :loading="sureLoading"
+        >确 认</el-button
+      >
+      </div>
   </div>
 </template>
 
@@ -187,6 +191,7 @@ export default {
     this.listForm.branchName = this.$route.query.branchName;
     this.listForm.docmker = this.$route.query.docmker;
     this.listForm.docmkDate = this.$route.query.docmkDate;
+    this.listForm.rejtRea = this.$route.query.rejtRea;
     this.stasOptions.forEach((i) => {
       if (i.value == this.$route.query.stas) {
         this.listForm.stas = i.lable;
@@ -210,13 +215,13 @@ export default {
     },
     // 确认退货
     handleConfirm() {
-        if(this.listForm.rejtRea==""){
-            this.$message({
-            message: "填写退货原因",
-            type: "warning",
-          });
-          throw new Error("填写退货原因");
-        }
+        // if(this.listForm.rejtRea==""){
+        //     this.$message({
+        //     message: "填写退货原因",
+        //     type: "warning",
+        //   });
+        //   throw new Error("填写退货原因");
+        // }
       this.$confirm("确认退货", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -249,13 +254,6 @@ export default {
     },
     // 拒绝退货
     handleRefuse() {
-        if(this.listForm.rejtRea==""){
-            this.$message({
-            message: "填写拒绝原因",
-            type: "warning",
-          });
-          throw new Error("填写拒绝原因");
-        }
       this.$confirm("确认退货", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -306,56 +304,6 @@ export default {
     handleSelectionChange(e) {
       this.selectData = e;
     },
-    // 受理
-    handleAccept() {
-      if (this.selectData.length == 0) {
-        this.$message({
-          message: "请选择明细信息",
-          type: "warning",
-        });
-        throw new Error("请选择明细信息");
-      }
-      this.selectData.forEach((e) => {
-        if (e.flag == true && !e.rejtRea) {
-          this.$message({
-            message: "选择是否驳回后请填写驳回原因",
-            type: "warning",
-          });
-          throw new Error("选择是否驳回后请填写驳回原因");
-        }
-      });
-      this.$confirm("确认受理", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      }).then(() => {
-        console.log(this.selectData, "selectData");
-        // let data = this.list.filter((i)=>{
-        //     if(i.flag == true){ return i }
-        // })
-        // let data2 = data.map((i)=>{
-        //     return {"id":i.id,"rejtRea":i.rejtRea}
-        // })
-
-        let data2 = this.selectData.map((i) => {
-          return { id: i.id, rejtRea: i.rejtRea };
-        });
-        let data3 = {
-          id: this.$route.query.id,
-          detlList: data2,
-        };
-        console.log(data3, "data3");
-        this.aaLoad = true;
-        acpRetnOrd(data3)
-          .then((res) => {
-            this.aaLoad = false;
-            this.$router.push("returnOrderAccept");
-          })
-          .catch((err) => {
-            this.aaLoad = false;
-          });
-      });
-    },
   },
 };
 </script>

+ 1 - 1
src/views/page/productreturnmanage-sup/returnOrderAccept/returncomDetail.vue

@@ -102,7 +102,7 @@
             </template>
           </el-table-column>
           <!-- <el-table-column label="采购数量" prop="purcCnt" /> -->
-          <el-table-column label="采购价" prop="purcPric" >
+          <el-table-column label="价" prop="purcPric" >
             <template #default="{ row }">
               <span>{{row.retnPric}}元/{{row.prcUnt}}</span>
             </template>