liumy 1 éve
szülő
commit
547301104b

+ 36 - 0
src/api/mainrTenance-sup/index.js

@@ -0,0 +1,36 @@
+import request from "@/utils/request";
+
+
+// 申领模板查询
+export function getBoneTemplatePage(data) {
+    return request({
+        url:"/web/bone/getBoneTemplatePage",
+        method:"post",
+        data
+    })
+}
+
+// 模板查询明细
+export function getBoneTemplateDetlList(data) {
+    return request({
+        url:"/web/bone/getBoneTemplateDetlList",
+        method:"post",
+        data
+    })
+}
+// 模板保存
+export function saveBoneTemplate(data) {
+    return request({
+        url:"/web/bone/saveBoneTemplate",
+        method:"post",
+        data
+    })
+}
+// 删除 
+export function updateBoneTemplate(data) {
+    return request({
+        url:"/web/bone/updateBoneTemplate",
+        method:"post",
+        data
+    })
+}

+ 9 - 2
src/api/orderManage-sup/index.js

@@ -99,8 +99,15 @@ export function getMcsPurcOrdMx(data) {
         data
     })
 }
-// 骨科
-
+        
+// 订单复用 delvOrdId
+export function delvOrdId(data) {
+    return request({
+        url:"/web/purcOrd/delvOrdId",
+        method:"post",
+        data
+    })
+}
 
 
 

+ 10 - 1
src/router/modules/mainrTenance.js

@@ -6,7 +6,7 @@ const mainrTenanceRouter = {
   path: "/mainrTenance-sup",
   component: Layout,
   name: "mainrTenance-sup1",
-  meta: { title: "新增模板", icon: "" },
+  meta: { title: "申领模板维护", icon: "" },
   alwaysShow: true,
   hidden: true,
   children: [
@@ -18,6 +18,15 @@ const mainrTenanceRouter = {
       meta: { title: "新增模板", icon: "" },
       hidden: true
     },
+    {
+      // 模板详情
+      path: "editbag",
+      component: () => import("@/views/page/mainrTenance-sup/templateDetail/editbag.vue"),
+      name: "editbag",
+      meta: { title: "模板详情", icon: "" },
+      hidden: true
+    },
+    
   ]
 };
 

+ 78 - 43
src/views/page/mainrTenance-sup/templateDetail/Surgicalbag.vue

@@ -14,40 +14,40 @@
         default-expand-all="true"
         style="margin-top: 10px"
       >
-        <span class="custom-tree-node" slot-scope="{ node, data }">
+        <!-- <span class="custom-tree-node" slot-scope="{ node, data }">
           <div>{{ node.label }}</div>
           <div class="redTit">{{ data.wqrnum }}</div>
-        </span>
+        </span> -->
       </el-tree>
     </el-card>
     <div class="right-common-box">
       <el-form :model="listQuery" ref="queryForm" :inline="true">
-        <el-form-item label="模板名称" prop="id">
-          <el-input v-model="listQuery.id" placeholder="请输入模板名称"></el-input>
+        <el-form-item label="模板名称" prop="tmplName">
+          <el-input v-model="listQuery.tmplName" placeholder="请输入模板名称"></el-input>
         </el-form-item>
-        <el-form-item label="适用手术" prop="stas">
-          <el-select v-model="listQuery.stas" placeholder="请选择" clearable>
+        <el-form-item label="适用手术" prop="oprn">
+          <el-select v-model="listQuery.oprn" placeholder="请选择适用手术" clearable>
             <el-option
-              v-for="item in stasOptions"
+              v-for="item in oprnOptions"
               :key="item.value"
-              :label="item.lable"
+              :label="item.label"
               :value="item.value"
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="适用科室" prop="stas">
-          <el-select v-model="listQuery.stas" placeholder="请选择" clearable>
+        <el-form-item label="适用科室" prop="dept">
+          <el-select v-model="listQuery.dept" placeholder="请选择适用科室" clearable>
             <el-option
-              v-for="item in stasOptions"
+              v-for="item in deptOptions"
               :key="item.value"
-              :label="item.lable"
+              :label="item.label"
               :value="item.value"
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="制作时间" prop="docmkDate">
+        <el-form-item label="制作时间" prop="lstUpdUsrName">
           <el-date-picker
-            v-model="listQuery.docmkDate"
+            v-model="listQuery.lstUpdUsrName"
             type="daterange"
             range-separator="至"
             :editable="false"
@@ -61,7 +61,7 @@
           <el-button @click="reset">重置</el-button>
         </el-form-item>
       </el-form>
-      <div class="right-button">
+      <div class="right-button" v-if="btnShow">
       <el-button type="primary" @click="handleAdd"
         >新增模板</el-button
       >
@@ -80,16 +80,17 @@
           <p>暂无数据</p>
         </template>
         <el-table-column fixed type="index" label="序号" width="60" />
-        <el-table-column label="模板名称" prop="id" />
-        <el-table-column label="模板类型" prop="detlCnt" />
-        <el-table-column label="适用手术" prop="retnCnt" />
-        <el-table-column label="适用科室" prop="retnAmt" />
-        <el-table-column label="供应商" prop="branchName" />
-        <el-table-column label="制作人" prop="docmker" />
-        <el-table-column label="制作时间" prop="docmkDate" />
+        <el-table-column label="模板名称" prop="tmplName" />
+        <!-- <el-table-column label="模板类型" prop="detlCnt" /> -->
+        <el-table-column label="适用手术" prop="oprn" />
+        <el-table-column label="适用科室" prop="dept" />
+        <el-table-column label="供应商" prop="crteUsrName" />
+        <el-table-column label="制作人" prop="crteUsrName" />
+        <el-table-column label="制作时间" prop="crteTime" />
         <el-table-column label="操作" width="100">
           <template slot-scope="scope">
-            <el-button type="text" @click="handleDetail(scope.row)">详情</el-button>
+            <el-button type="text" @click="handleDetail(scope.row)">编辑</el-button>
+            <el-button type="text" style="color:red" @click="handleDel(scope.row)">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -109,12 +110,14 @@
 import ylPagination from "@/components/yl-pagination";
 import { selectRetnOrdD } from "@/api/productreturnmanage-sup/returnList";
 import { selectSpdList } from "@/api/orderManage-sup/index";
+import { getBoneTemplatePage,updateBoneTemplate } from "@/api/mainrTenance-sup/index"
 export default {
   components: {
     ylPagination,
   },
   data() {
     return {
+      btnShow:false,
       activeNametree: "org",
       data: [],
       spdId: null,
@@ -125,10 +128,13 @@ export default {
       listQuery: {
         current: 1,
         size: 10,
-        id: "",
-        orgId: "",
-        stas: "",
-        docmkDate: [],
+        tmplName: "",
+        oprn: "",
+        dept: "",
+        lstUpdUsrName: [],
+        dateStart:"",
+        dateEnd:"",
+        spdId:"",
       },
       stasOptions: [
         { value: "A", lable: "待确认" },
@@ -137,17 +143,26 @@ export default {
       listLoading: false,
       list: [],
       total: 0,
+      oprnOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      deptOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
     };
   },
   mounted() {
     this.getData();
     if (this.$route.query.spdId) {
       this.listQuery.spdId = this.$route.query.spdId;
-      selectRetnOrdD(this.listQuery)
+      getBoneTemplatePage(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
           this.listLoading = false;
+          this.btnShow = true
         })
         .catch((err) => {
           this.listLoading = false;
@@ -170,11 +185,12 @@ export default {
       this.listLoading = true;
       this.spdId = data.spdId;
       this.listQuery.spdId = this.spdId;
-      selectRetnOrdD(this.listQuery)
+      getBoneTemplatePage(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
           this.listLoading = false;
+          this.btnShow = true;
         })
         .catch((err) => {
           this.listLoading = false;
@@ -195,10 +211,10 @@ 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.dateStart = this.listQuery.lstUpdUsrName[0];
+      this.listQuery.dateEnd = this.listQuery.lstUpdUsrName[1];
       this.listLoading = true;
-      selectRetnOrdD(this.listQuery)
+      getBoneTemplatePage(this.listQuery)
         .then((res) => {
           this.list = res.data.records;
           this.total = res.data.total;
@@ -216,18 +232,17 @@ export default {
     handleDetail(row) {
       console.log(row, "row");
         this.$router.push({
-          name: "Surgicalbag",
+          name: "editbag",
           query: {
-            id: row.id,
-            detlCnt: row.detlCnt,
-            retnCnt: row.retnCnt,
-            retnAmt: row.retnAmt,
-            branchName: row.branchName,
-            docmker: row.docmker,
-            docmkDate: row.docmkDate,
-            stas: row.stas,
+            tmplNo: row.tmplNo,
+            // spdId: this.$route.query.spdId,
             spdId: this.spdId,
-            rejtRea: row.rejtRea,
+            tmplName: row.tmplName,
+            oprn: row.oprn,
+            dept: row.dept,
+            id:row.id,
+            crteUsrName:row.crteUsrName,
+            tmplNo:row.tmplNo
           },
         });
     },
@@ -235,10 +250,30 @@ export default {
         this.$router.push({
           name: "indexDetail",
           query: {
-            
             spdId: this.spdId,
+            // spdId: this.$route.query.spdId,
           },
         });
+    },
+    // 删除
+    handleDel(row) {
+      this.$confirm("确认删除", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          updateBoneTemplate({ tmplNo: row.tmplNo,splerId:row.splerId })
+            .then((response) => {
+              this.$message({
+                message: "删除成功",
+                type: "success"
+              });
+              this.getorderData()
+            })
+            .catch((err) => {});
+        })
+        .catch(() => {});
     }
     
   },

+ 484 - 0
src/views/page/mainrTenance-sup/templateDetail/editbag.vue

@@ -0,0 +1,484 @@
+<template>
+  <!-- 手术包模板 -->
+  <div>
+    <div class="right-button">
+      <el-button type="primary" @click="handleAddmcs">添加耗材</el-button>
+    </div>
+    <div class="common-card">
+      <h3>基本信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="237px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="适用科室" prop="dept" :rules="rules.selectRequired">
+              <div class="content" v-if="isShow">
+                {{ listForm.dept }}
+              </div>
+              <el-select v-model="listForm.dept" placeholder="请选择适用科室" clearable>
+                <el-option
+                  v-for="item in deptOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="模板名称" prop="tmplName" :rules="rules.required">
+              <div class="content" v-if="isShow">
+                {{ listForm.tmplName }}
+              </div>
+              <el-input
+                v-else
+                v-model="listForm.tmplName"
+                placeholder="请输入模板名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="适用手术" prop="oprn" :rules="rules.selectRequired">
+              <div class="content" v-if="isShow">
+                {{ listForm.oprn }}
+              </div>
+              <el-select v-model="listForm.oprn" placeholder="请选择适用手术" clearable>
+                <el-option
+                  v-for="item in oprnOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="供应商" prop="crteUsrName">
+              <div class="content">
+                {{ listForm.crteUsrName }}
+              </div>
+            </el-form-item>
+          </div>
+        </div>
+      </el-form>
+    </div>
+    <div class="common-card">
+      <h3>模板明细</h3>
+      <el-form :model="list" ref="tabledata">
+        <el-table
+          v-loading="listLoading"
+          element-loading-text="加载中"
+          :data="list"
+          fit
+          stripe
+          border
+        >
+          <template slot="empty">
+            <img src="@/assets/nopage.png" alt />
+            <p>暂无数据</p>
+          </template>
+          <!-- <el-table-column type="selection" width="60" /> -->
+          <el-table-column fixed type="index" label="序号" width="60" />
+          <el-table-column label="耗材编码" prop="materialId" />
+          <el-table-column label="医保编码" prop="hiCode" />
+          <el-table-column label="耗材信息" prop="prodName" width="300">
+            <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="cnt" width="150">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.cnt'"
+                :rules="[
+                  {
+                    required: true,
+                    pattern: /^[0-9]\d*$/,
+                    message: '请输入正整数',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input placeholder="请输入" v-model="scope.row.cnt"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="包装单位" prop="convrat">
+            <template #default="{ row }">
+              <span
+                >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
+                  row.purcUnt
+                }})</span
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-form>
+    </div>
+    <div class="foot-button">
+      <el-button type="primary" @click="handleBc">保 存</el-button>
+      <el-button type="primary" @click="handleBack">返 回</el-button>
+    </div>
+    <!-- 添加耗材 mcsDialog-->
+    <el-dialog title="添加耗材" :visible.sync="mcsDialog" width="70%">
+      <el-form
+        class="dialogForm"
+        :model="listQuery"
+        ref="queryForm"
+        :inline="true"
+        label-width="100px"
+      >
+        <el-form-item label="耗材信息" prop="prodName">
+          <el-input v-model="listQuery.prodName" placeholder="请输入耗材名称/医保编码"></el-input>
+        </el-form-item>
+        <el-form-item label="规格" prop="spec">
+          <el-input v-model="listQuery.spec" placeholder="请输入规格"></el-input>
+        </el-form-item>
+        <el-form-item label="型号" prop="mol">
+          <el-input v-model="listQuery.mol" placeholder="请输入型号"></el-input>
+        </el-form-item>
+        <el-form-item label="生产企业" prop="prodEntp">
+          <el-input v-model="listQuery.prodEntp" placeholder="请输入生产企业"></el-input>
+        </el-form-item>
+        <!-- <el-form-item label="供应商" prop="isFas">
+        </el-form-item> -->
+        <el-form-item label="是否集采" prop="isFas">
+          <el-select v-model="listQuery.isFas" placeholder="请选择是否集采" clearable>
+            <el-option
+              v-for="item in isFasOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="耗材类别" prop="mcsType">
+          <el-select v-model="listQuery.mcsType" placeholder="请选择耗材类别" clearable>
+            <el-option
+              v-for="item in mcsTypeOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="生产来源" prop="prodSouc">
+          <el-select v-model="listQuery.prodSouc" placeholder="请选择生产来源" clearable>
+            <el-option
+              v-for="item in prodSoucOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="材质" prop="matl">
+          <el-input v-model="listQuery.matl" placeholder="请输入材质"></el-input>
+        </el-form-item>
+        <el-form-item label="注册证号" prop="regcertno">
+          <el-input v-model="listQuery.regcertno" placeholder="请输入注册证号"></el-input>
+        </el-form-item>
+        <!-- <el-form-item> -->
+          <div class="right-button">
+          <el-button type="primary" @click="getdiaMcs('search')">查询</el-button>
+          <el-button @click="reset">重置</el-button>
+        <!-- </el-form-item> -->
+        </div>
+      </el-form>
+      <el-table
+        element-loading-text="加载中"
+        :data="mcsData"
+        fit
+        stripe
+        border
+        height="400px"
+        @selection-change="handleSelectionChange"
+        row-key="hiCode"
+        v-loading="dialogLoading"
+        ref="multipleTable"
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column
+          type="selection"
+          width="60"
+          :reserve-selection="true"
+          :selectable="selected"
+        />
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="耗材编码" prop="materialId" />
+        <el-table-column label="医保编码" prop="hiCode" />
+        <el-table-column label="耗材信息" prop="prodName" width="300">
+          <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="retnCnt" />
+        <el-table-column label="申领包装" prop="convrat">
+          <template #default="{ row }">
+            <span
+              >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
+                row.purcUnt
+              }})</span
+            >
+          </template>
+        </el-table-column>
+        <el-table-column label="单价" prop="purcPric">
+          <template #default="{ row }">
+            <span>{{ row.purcPric }}元/{{ row.prcUnt }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+      <yl-pagination
+        v-show="totalD > 0"
+        :total="totalD"
+        :page.sync="listQuery.current"
+        :limit.sync="listQuery.size"
+        @pagination="getdiaMcs"
+      />
+      <div class="foot-button" style="margin-top: 30px">
+        <el-button type="primary" @click="clickMcs">确 认</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import ylStep from "@/components/yl-step";
+import ylPagination from "@/components/yl-pagination";
+import mcsInfo from "@/views/components/mcs-info.vue";
+import { getBoneTemplateDetlList, saveBoneTemplate } from "@/api/mainrTenance-sup/index";
+import { selectSplerMcsList } from "@/api/consumCataManage-sup/index";
+import rules from "@/utils/rules";
+export default {
+  components: {
+    ylStep,
+    ylPagination,
+    mcsInfo,
+  },
+  data() {
+    return {
+      rules,
+      oprnOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      deptOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      listForm: {
+        tmplName: "",
+        oprn: "",
+        dept: "",
+        crteUsrName:"",
+      },
+      stasOptions: [
+        { value: "A", lable: "待确认" },
+        { value: "B", lable: "已确认" },
+        { value: "R", lable: "已拒绝" },
+      ],
+      listLoading: false,
+      list: [],
+      total: 0,
+      mcsDialog: false,
+      listQuery: {
+        prodName: "",
+        spec: "",
+        mol: "",
+        prodEntp: "",
+        isFas: "",
+        mcsType: "",
+        prodSouc: "",
+        matl: "",
+        regcertno: "",
+        spdId: this.$route.query.spdId,
+        current: 1,
+        size: 10,
+      },
+      mcsData: [],
+      dialogLoading: false,
+      totalD: 0,
+      dialogSelect: [],
+      oprnOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      deptOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      isFasOptions: [
+        { value: "1", label: "是" },
+        { value: "0", label: "否" },
+      ],
+      mcsTypeOptions: [
+        { value: "0", label: "普通耗材" },
+        { value: "1", label: "高值耗材" },
+        { value: "2", label: "试剂" },
+      ],
+      prodSoucOptions: [
+        { value: "1", label: "国产" },
+        { value: "2", label: "进口" },
+      ],
+    };
+  },
+  created() {
+    this.listForm.tmplNo = this.$route.query.tmplNo;
+    this.listForm.crteUsrName = this.$route.query.crteUsrName;
+    this.listForm.tmplName = this.$route.query.tmplName;
+    this.listForm.oprn = this.$route.query.oprn;
+    this.listForm.dept = this.$route.query.dept;
+    // this.stasOptions.forEach((i) => {
+    //   if (i.value == this.$route.query.stas) {
+    //     this.listForm.stas = i.lable;
+    //   }
+    // });
+  },
+  mounted() {
+    this.getData();
+  },
+  methods: {
+    getData() {
+      this.listLoading = true;
+      getBoneTemplateDetlList({ tmplNo: this.$route.query.tmplNo })
+        .then((res) => {
+          this.list = res.data;
+          this.listLoading = false;
+        })
+        .catch((err) => {
+          this.listLoading = false;
+        });
+    },
+    handleBc() {
+        this.$refs.listform.validate((valid) => {
+        if (valid) {
+          this.$refs.tabledata.validate((valid) => {
+            if (valid) {
+              this.$confirm("确认提交", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(() => {
+                let listquery = [];
+               this.list.forEach((v)=>{
+                listquery.push({
+                  cnt:v.cnt,
+                  hiCode:v.hiCode
+                })
+                })
+                let bath = {
+                  tmplName: this.listForm.tmplName,
+                  oprn: this.listForm.oprn,
+                  dept: this.listForm.dept,
+                  spdId: this.$route.query.spdId,
+                  id: this.$route.query.id,
+                  detlList: listquery,
+                  tmplNo:this.$route.query.tmplNo
+                };
+                console.log(bath, "bath");
+                saveBoneTemplate(bath)
+                  .then((res) => {
+                    this.$message.success("保存成功");
+                    this.$router.push({
+                      name: "Surgicalbag",
+                      query:{
+                        spdId:this.$route.query.spdId
+                      }
+                    });
+                  })
+                  .catch((err) => {
+                    this.$message.error("保存失败");
+                  });
+              });
+            } else {
+              this.$message({
+                type: "warning",
+                message: "请填写必填项信息",
+              });
+            }
+          });
+        }
+      });
+    },
+    handleBack(){
+      this.$router.push({
+        name: "Surgicalbag",
+        query:{spdId:this.$route.query.spdId}
+      });
+    },
+    // 添加耗材弹框
+    handleAddmcs() {
+      this.mcsDialog = true;
+      this.dialogLoading = true;
+      this.listQuery.current = "1";
+      this.getdiaMcs()
+    },
+    getdiaMcs() {
+      this.dialogLoading = true;
+      selectSplerMcsList(this.listQuery)
+        .then((res) => {
+          this.mcsData = res.data.records;
+          this.totalD = res.data.total;
+          this.dialogLoading = false;
+          this.mcsData.forEach((row)=>{
+            this.list.forEach((el) => {
+              if(row.hiCode==el.hiCode){
+                console.log(el,"eee")
+                this.$refs.multipleTable.toggleRowSelection(row,true); 
+              }
+          })
+        })        
+        })
+        .catch((err) => {
+          this.dialogLoading = false;
+        });
+    },
+    reset() {
+      this.$refs.queryForm.resetFields();
+      this.getdiaMcs();
+    },
+    // 选择耗材
+    handleSelectionChange(row) {
+      this.dialogSelect = row;
+    },
+    //确认
+    clickMcs() {
+      this.mcsDialog = false;
+      this.list = this.dialogSelect;
+      // this.$refs.multipleTable.clearSelection()
+    },
+    // 删除
+    handleDel(row, indexed) {
+      this.list = this.list.filter((item) => item.hiCode !== row.hiCode);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.dialogForm ::v-deep .el-input__inner {
+  width: 200px;
+}
+</style>

+ 367 - 117
src/views/page/mainrTenance-sup/templateDetail/indexDetail.vue

@@ -1,14 +1,9 @@
 <template>
-  <!-- 商品退货管理————待确认 -->
+  <!-- 手术包模板 -->
   <div>
-    <!-- <div class="right-button">
-        <el-button type="primary" @click="handleConfirm" :loading="sureLoading"
-          >确 认</el-button
-        >
-        <el-button type="danger" @click="handleRefuse" :loading="refuseLoading"
-          >拒 绝</el-button
-        >
-      </div> -->
+    <div class="right-button">
+      <el-button type="primary" @click="handleAddmcs">添加耗材</el-button>
+    </div>
     <div class="common-card">
       <h3>基本信息</h3>
       <el-form
@@ -19,52 +14,56 @@
       >
         <div class="form-body">
           <div class="flex-css">
-            <el-form-item label="退货单号" prop="id">
-              <div class="content">
-                {{ listForm.id }}
+            <el-form-item label="适用科室" prop="dept" :rules="rules.selectRequired">
+              <div class="content" v-if="isShow">
+                {{ listForm.dept }}
               </div>
+              <el-select v-else v-model="listForm.dept" placeholder="请选择适用科室" clearable>
+                <el-option
+                  v-for="item in deptOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label"
+                ></el-option>
+              </el-select>
             </el-form-item>
-            <el-form-item label="退货品种" prop="detlCnt">
-              <div class="content">
-                {{ listForm.detlCnt }}
+            <el-form-item label="模板名称" prop="tmplName" :rules="rules.required">
+              <div class="content" v-if="isShow">
+                {{ listForm.tmplName }}
               </div>
+              <el-input
+                v-else
+                v-model="listForm.tmplName"
+                placeholder="请输入模板名称"
+              ></el-input>
             </el-form-item>
-            <el-form-item label="退货总数" prop="retnCnt">
-              <div class="content">
-                {{ listForm.retnCnt }}
+            <el-form-item label="适用手术" prop="oprn" :rules="rules.selectRequired">
+              <div class="content" v-if="isShow">
+                {{ listForm.oprn }}
               </div>
+              <el-select v-else v-model="listForm.oprn" placeholder="请选择适用手术" clearable>
+                <el-option
+                  v-for="item in oprnOptions"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.label"
+                ></el-option>
+              </el-select>
             </el-form-item>
           </div>
-          <div class="flex-css">
-            <el-form-item label="退货金额" prop="retnAmt">
-              <div class="content">
-                {{ listForm.retnAmt }}
-              </div>
-            </el-form-item>
-            <el-form-item label="发起人" prop="docmker">
+          <!-- <div class="flex-css">
+            <el-form-item label="供应商" prop="lstUpdUsrName">
               <div class="content">
-                {{ listForm.docmker }}
+                {{ listForm.lstUpdUsrName }}
               </div>
             </el-form-item>
-            <el-form-item label="发起时间" prop="docmkDate">
-              <div class="content">
-                {{ listForm.docmkDate }}
-              </div>
-            </el-form-item>
-          </div>
-          <div class="flex-css">
-            <el-form-item label="当前状态" prop="stas">
-              <div class="content">
-                {{ listForm.stas }}
-              </div>
-            </el-form-item>
-          </div>
+          </div> -->
         </div>
       </el-form>
     </div>
     <div class="common-card">
-      <h3>退货明细</h3>
-      <el-form :model="list" ref="listRef">
+      <h3>模板明细</h3>
+      <el-form :model="list" ref="tabledata">
         <el-table
           v-loading="listLoading"
           element-loading-text="加载中"
@@ -72,7 +71,6 @@
           fit
           stripe
           border
-          @selection-change="handleSelectionChange"
         >
           <template slot="empty">
             <img src="@/assets/nopage.png" alt />
@@ -80,8 +78,8 @@
           </template>
           <!-- <el-table-column type="selection" width="60" /> -->
           <el-table-column fixed type="index" label="序号" width="60" />
+          <el-table-column label="耗材编码" prop="materialId" />
           <el-table-column label="医保编码" prop="hiCode" />
-          <el-table-column label="耗材编码" prop="prodCode" />
           <el-table-column label="耗材信息" prop="prodName" width="300">
             <template slot-scope="scope">
               <mcs-info :info="scope.row"></mcs-info>
@@ -96,7 +94,26 @@
               <span v-if="row.isFas == '1'">是</span>
             </template>
           </el-table-column>
-          <el-table-column label="包装" prop="convrat">
+          <el-table-column label="数量" prop="cnt" width="150">
+            <template slot-scope="scope">
+              <el-form-item
+                label-width="0"
+                class="item"
+                :prop="scope.$index + '.cnt'"
+                :rules="[
+                  {
+                    required: true,
+                    pattern: /^[0-9]\d*$/,
+                    message: '请输入正整数',
+                    trigger: 'blur',
+                  },
+                ]"
+              >
+                <el-input placeholder="请输入" v-model="scope.row.cnt"></el-input>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="包装单位" prop="convrat">
             <template #default="{ row }">
               <span
                 >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
@@ -105,38 +122,152 @@
               >
             </template>
           </el-table-column>
-          <!-- <el-table-column label="采购数量" prop="purcCnt" /> -->
-          <el-table-column label="单价" prop="purcPric">
-            <template #default="{ row }">
-              <span>{{ row.retnPric }}元/{{ row.prcUnt }}</span>
+          <el-table-column label="操作">
+            <template slot-scope="scope">
+              <el-button type="text" style="color: red" @click="handleDel(scope.row)"
+                >删除</el-button
+              >
             </template>
           </el-table-column>
-          <el-table-column label="退货数量" prop="retnCnt" />
-          <el-table-column label="退货金额" prop="retnAmt" />
         </el-table>
-        <!-- <p class="price-css">合计数量:{{}} <span></span>合计金额: {{}}</p> -->
       </el-form>
     </div>
-    <div class="common-card">
-      <h3>退货原因</h3>
+    <div class="foot-button">
+      <el-button type="primary" @click="handleBc">保 存</el-button>
+      <el-button type="primary" @click="handleBack">返 回</el-button>
+    </div>
+    <!-- 添加耗材 mcsDialog-->
+    <el-dialog title="添加耗材" :visible.sync="mcsDialog" width="70%">
       <el-form
-        :model="listForm"
-        ref="listform"
-        label-width="237px"
-        class="grid-form-class"
+        class="dialogForm"
+        :model="listQuery"
+        ref="queryForm"
+        :inline="true"
+        label-width="100px"
       >
-        <div class="form-body">
-          <div class="flex-css">
-            <el-form-item label="退货原因" prop="rejtRea">
-              <el-input v-model="listForm.rejtRea" readonly></el-input>
-            </el-form-item>
-          </div>
+        <el-form-item label="耗材信息" prop="prodName">
+          <el-input v-model="listQuery.prodName" placeholder="请输入耗材名称/医保编码"></el-input>
+        </el-form-item>
+        <el-form-item label="规格" prop="spec">
+          <el-input v-model="listQuery.spec" placeholder="请输入规格"></el-input>
+        </el-form-item>
+        <el-form-item label="型号" prop="mol">
+          <el-input v-model="listQuery.mol" placeholder="请输入型号"></el-input>
+        </el-form-item>
+        <el-form-item label="生产企业" prop="prodEntp">
+          <el-input v-model="listQuery.prodEntp" placeholder="请输入生产企业"></el-input>
+        </el-form-item>
+        <!-- <el-form-item label="供应商" prop="isFas">
+        </el-form-item> -->
+        <el-form-item label="是否集采" prop="isFas">
+          <el-select v-model="listQuery.isFas" placeholder="请选择是否集采" clearable>
+            <el-option
+              v-for="item in isFasOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="耗材类别" prop="mcsType">
+          <el-select v-model="listQuery.mcsType" placeholder="请选择耗材类别" clearable>
+            <el-option
+              v-for="item in mcsTypeOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="生产来源" prop="prodSouc">
+          <el-select v-model="listQuery.prodSouc" placeholder="请选择生产来源" clearable>
+            <el-option
+              v-for="item in prodSoucOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="材质" prop="matl">
+          <el-input v-model="listQuery.matl" placeholder="请输入材质"></el-input>
+        </el-form-item>
+        <el-form-item label="注册证号" prop="regcertno">
+          <el-input v-model="listQuery.regcertno" placeholder="请输入注册证号"></el-input>
+        </el-form-item>
+        <!-- <el-form-item> -->
+          <div class="right-button">
+          <el-button type="primary" @click="getdiaMcs('search')">查询</el-button>
+          <el-button @click="reset">重置</el-button>
+        <!-- </el-form-item> -->
         </div>
       </el-form>
-    </div>
-    <div class="foot-button">
-      <el-button type="primary" @click="handleBack">返回</el-button>
-    </div>
+      <el-table
+        element-loading-text="加载中"
+        :data="mcsData"
+        fit
+        stripe
+        border
+        height="400px"
+        @selection-change="handleSelectionChange"
+        row-key="hiCode"
+        v-loading="dialogLoading"
+        ref="multipleTable"
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column
+          type="selection"
+          width="60"
+          :reserve-selection="true"
+          :selectable="selected"
+        />
+        <el-table-column type="index" label="序号" width="60" />
+        <el-table-column label="耗材编码" prop="materialId" />
+        <el-table-column label="医保编码" prop="hiCode" />
+        <el-table-column label="耗材信息" prop="prodName" width="300">
+          <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="retnCnt" />
+        <el-table-column label="申领包装" prop="convrat">
+          <template #default="{ row }">
+            <span
+              >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
+                row.purcUnt
+              }})</span
+            >
+          </template>
+        </el-table-column>
+        <el-table-column label="单价" prop="purcPric">
+          <template #default="{ row }">
+            <span>{{ row.purcPric }}元/{{ row.prcUnt }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+      <yl-pagination
+        v-show="totalD > 0"
+        :total="totalD"
+        :page.sync="listQuery.current"
+        :limit.sync="listQuery.size"
+        @pagination="getdiaMcs"
+      />
+      <div class="foot-button" style="margin-top: 30px">
+        <el-button type="primary" @click="clickMcs">确 认</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -145,7 +276,9 @@ import ylStep from "@/components/yl-step";
 import ylPagination from "@/components/yl-pagination";
 import mcsInfo from "@/views/components/mcs-info.vue";
 import { selectRetnDetl, acpRetnOrd } from "@/api/productreturnmanage-sup/returnList";
-
+import rules from "@/utils/rules";
+import { selectSplerMcsList } from "@/api/consumCataManage-sup/index";
+import {saveBoneTemplate} from "@/api/mainrTenance-sup/index"
 export default {
   components: {
     ylStep,
@@ -154,69 +287,186 @@ export default {
   },
   data() {
     return {
+      rules,
       listForm: {
-        id: "",
-        detlCnt: "",
-        retnCnt: "",
-        retnAmt: "",
-        branchName: "",
-        docmker: "",
-        docmkDate: "",
-        stas: "",
-        rejtRea: "",
+        lstUpdUsrName: "",
+        tmplName: "",
+        oprn: "",
+        dept: "",
       },
-      stasOptions: [
-        { value: "A", lable: "待确认" },
-        { value: "B", lable: "已确认" },
-        { value: "R", lable: "已拒绝" },
-      ],
       listLoading: false,
       list: [],
-      //   isShow: false,
-      sureLoading: false,
-      refuseLoading: false,
+      isShow: false,
+      mcsDialog: false,
+      listQuery: {
+        prodName: "",
+        spec: "",
+        mol: "",
+        prodEntp: "",
+        isFas: "",
+        mcsType: "",
+        prodSouc: "",
+        matl: "",
+        regcertno: "",
+        spdId: this.$route.query.spdId,
+        current: 1,
+        size: 10,
+      },
+      mcsData: [],
+      dialogLoading: false,
+      totalD: 0,
+      dialogSelect: [],
+      oprnOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      deptOptions:[
+        {value:"1",label:"111"},
+        {value:"2",label:"222"},
+      ],
+      isFasOptions: [
+        { value: "1", label: "是" },
+        { value: "0", label: "否" },
+      ],
+      mcsTypeOptions: [
+        { value: "0", label: "普通耗材" },
+        { value: "1", label: "高值耗材" },
+        { value: "2", label: "试剂" },
+      ],
+      prodSoucOptions: [
+        { value: "1", label: "国产" },
+        { value: "2", label: "进口" },
+      ],
     };
   },
-  created() {
-    this.listForm.id = this.$route.query.id;
-    this.listForm.detlCnt = this.$route.query.detlCnt;
-    this.listForm.retnCnt = this.$route.query.retnCnt;
-    this.listForm.retnAmt = this.$route.query.retnAmt;
-    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;
-      }
-    });
-  },
-  mounted() {
-    this.getData();
-  },
+  created() {},
+  mounted() {},
   methods: {
-    getData() {
-      this.listLoading = true;
-      selectRetnDetl({ id: this.$route.query.id })
+    handleBc() {
+      if (this.list.length == 0) {
+        this.$message({
+                type: "warning",
+                message: "请选择模板明细",
+              });
+      } else {
+        this.$refs.listform.validate((valid) => {
+        if (valid) {
+          this.$refs.tabledata.validate((valid) => {
+            if (valid) {
+              this.$confirm("确认提交", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(() => {
+                let listquery = [];
+               this.list.forEach((v)=>{
+                listquery.push({
+                  cnt:v.cnt,
+                  hiCode:v.hiCode
+                })
+                })
+                let bath = {
+                  tmplName: this.listForm.tmplName,
+                  oprn: this.listForm.oprn,
+                  dept: this.listForm.dept,
+                  spdId: this.$route.query.spdId,
+                  detlList: listquery,
+                };
+                console.log(bath, "bath");
+                saveBoneTemplate(bath)
+                  .then((res) => {
+                    this.$message.success("保存成功");
+                    this.$router.push({
+                      name: "Surgicalbag",
+                      query:{
+                        spdId:this.$route.query.spdId
+                      }
+                    });
+                  })
+                  .catch((err) => {
+                    this.$message.error("保存失败");
+                  });
+              });
+            } else {
+              this.$message({
+                type: "warning",
+                message: "请填写必填项信息",
+              });
+            }
+          });
+        }
+      });
+      }
+    },
+    handleBack() {
+      this.$router.push({
+        name: "Surgicalbag",
+        query: { spdId: this.$route.query.spdId },
+      });
+    },
+    // 添加耗材弹框
+    handleAddmcs() {
+      this.mcsDialog = true;
+      this.dialogLoading = true;
+      this.listQuery.current = "1";
+      selectSplerMcsList(this.listQuery)
         .then((res) => {
-          this.list = res.data;
-          this.listLoading = false;
+          this.mcsData = res.data.records;
+          this.totalD = res.data.total;
+          this.dialogLoading = false;
         })
         .catch((err) => {
-          this.listLoading = false;
+          this.dialogLoading = false;
         });
     },
-    handleBack() {
-      this.$router.push({
-        name: "returnOrderAccept",
-        query: {
-          spdId: this.$route.query.spdId,
-        },
-      });
+    getdiaMcs() {
+      this.dialogLoading = true;
+      selectSplerMcsList(this.listQuery)
+        .then((res) => {
+          this.mcsData = res.data.records;
+          this.totalD = res.data.total;
+          this.dialogLoading = false;
+        })
+        .catch((err) => {
+          this.dialogLoading = false;
+        });
+    },
+    reset() {
+      this.$refs.queryForm.resetFields();
+      this.getdiaMcs();
+    },
+    // 选择耗材
+    handleSelectionChange(row) {
+      this.dialogSelect = row;
+    },
+    //确认
+    clickMcs() {
+      this.mcsDialog = false;
+      this.list = this.dialogSelect;
+      // this.$refs.multipleTable.clearSelection()
+    },
+    // 删除
+    handleDel(row, indexed) {
+      this.list = this.list.filter((item) => item.hiCode !== row.hiCode);
     },
+    // 禁选
+    // selected(row, index) {
+    //   if (
+    //     this.list.some((el) => {
+    //       return el.hiCode === row.hiCode;
+    //     })
+    //   ) {
+    //     return false;
+    //   } else {
+    //     return true;
+    //   }
+    // },
   },
 };
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.dialogForm ::v-deep .el-input__inner {
+  width: 200px;
+}
+</style>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 644 - 592
src/views/page/orderManage-sup/alreadyDelivery/alreadyDetail.vue


+ 0 - 87
src/views/page/orderManage-sup/alreadyDelivery/index.vue

@@ -1,87 +0,0 @@
-<template>
-    <!-- 供应商采购订单 已出库 -->
-    <div class="common-box">
-        
-    </div>
-</template>
-
-<script>
-import ylPagination from "@/components/yl-pagination";
-import { getSplerDelvOrdPage } from "@/api/orderManage-sup/index";
-    export default {
-        components: {
-            ylPagination
-        },
-        data() {
-            return {
-                listQuery:{
-                    current: 1,
-                    size: 10,
-                    purcOrdId: "",
-                    docmkDateStart: "",
-                    docmkDateEnd: "",
-                    docmkDate: [],
-                    purcOrdStas: "",
-                },
-                stasOptions: [
-                    {value: 'C', lable: "已出库"},
-                    {value: 'D', lable: "部分出库"},
-                    {value: 'Y', lable: "已入库"},
-                    {value: 'P', lable: "部分入库"}
-                ],
-                dd1: [
-                    {value: 0, name: "订单类型1"},
-                    {value: 1, name: "订单类型2"}
-                ],
-                listLoading: false,
-                list: [],
-                total: 0,
-            }
-        },
-        mounted () {
-            this.getData();
-        },
-        methods: {
-            getData(type) {
-                if (type == "search") {
-                    this.listQuery.current = 1;
-                }
-                this.listLoading = true;
-                this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
-                this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
-                getSplerDelvOrdPage(this.listQuery).then((res) => {
-                    this.list = res.data.records;
-                    this.total = res.data.total;
-                    this.listLoading = false;
-                })
-                .catch((err) => {
-                    this.listLoading = false;
-                });
-            },
-            reset(){
-                this.$refs.queryForm.resetFields();
-                this.getData();
-            },
-            // 详情
-            handleDetail(row){
-                console.log(row)
-                this.$router.push({
-                    name: 'alreadyDetail',
-                    query: {
-                        delvOrdId: row.delvOrdId,
-                        purcOrdId: row.purcOrdId,
-                        detlCnt: row.detlCnt,
-                        orgName: row.orgName,
-                        docmker: row.docmker,
-                        docmkDate: row.docmkDate,
-                        purcOrdStas: row.purcOrdStas,
-                    }
-                });
-            },
-        },
-    }
-</script>
-
-<style lang="scss" scoped>
-
-</style>

+ 38 - 11
src/views/page/orderManage-sup/purOrderAccept/acceptDetail.vue

@@ -55,31 +55,49 @@
                 {{ listForm.docmkDate }}
               </div>
             </el-form-item> 
-            <el-form-item label="手术名称" prop="stas" v-show="false">
+            <el-form-item label="当前状态" prop="stas">
               <div class="content">
                 {{ listForm.stas }}
               </div>
             </el-form-item>
-            <el-form-item label="手术间" prop="stas" v-show="false">
+            <el-form-item label=" ">
               <div class="content">
-                {{ listForm.stas }}
               </div>
             </el-form-item>
           </div>
-          <div class="flex-css">    
-            <el-form-item label="主治医生" prop="stas" v-show="false">
+        </div>
+      </el-form>
+    </div>
+    <div class="common-card" v-show="cShow">
+      <h3>手术信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="150px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="手术名称" prop="oprn">
               <div class="content">
-                {{ listForm.stas }}
+                {{ listForm.oprn }}
               </div>
             </el-form-item>
-            <el-form-item label="手术日期" prop="stas" v-show="false">
+            <el-form-item label="手术间" prop="oprtRoom">
               <div class="content">
-                {{ listForm.stas }}
+                {{ listForm.oprtRoom }}
               </div>
             </el-form-item>
-            <el-form-item label="当前状态" prop="stas">
+          </div>
+          <div class="flex-css">
+            <el-form-item label="主治医生" prop="atddr">
               <div class="content">
-                {{ listForm.stas }}
+                {{ listForm.atddr }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术日期" prop="oprtTime">
+              <div class="content">
+                {{ listForm.oprtTime }}
               </div>
             </el-form-item>
           </div>
@@ -210,6 +228,7 @@ export default {
   },
   data() {
     return {
+      cShow:false,
       listForm: {
         id: "",
         detlCnt: "",
@@ -250,6 +269,11 @@ export default {
     } else {
       this.isShow = false;
     }
+    if(this.$route.query.purcType=="2"){
+      this.cShow = true
+    }else{
+      this.cShow = false
+    }
     this.listForm.id = this.$route.query.id;
     this.listForm.detlCnt = this.$route.query.detlCnt;
     this.listForm.purcAmt = this.$route.query.purcAmt;
@@ -258,7 +282,10 @@ export default {
     this.listForm.docmkDate = this.$route.query.docmkDate;
     this.listForm.deptName = this.$route.query.deptName;
     this.listForm.branchName = this.$route.query.branchName;
-
+    this.listForm.oprn = this.$route.query.oprn;
+    this.listForm.oprtRoom = this.$route.query.oprtRoom;
+    this.listForm.oprtTime = this.$route.query.oprtTime;
+    this.listForm.atddr = this.$route.query.atddr;
     this.stasOptions.forEach((i) => {
       if (i.value == this.$route.query.stas) {
         this.listForm.stas = i.lable;

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

@@ -77,10 +77,10 @@
             <el-table-column label="客户名称" prop="branchName" />
             <el-table-column label="来源部门" prop="deptName" />
             <el-table-column label="采购时间" prop="docmkDate" width="140" />
-            <el-table-column label="采购类型" prop="" width="100">
+            <el-table-column label="采购类型" prop="purcType" width="100">
               <template #default="{ row }">
-                <span v-if="row.stas == 'A'">手术备货</span>
-                <span v-if="row.stas == 'B'">普通采购</span>
+                <span v-if="row.purcType">{{row.oprn}}</span>
+                <span v-if="row.purcType == ''">普通采购</span>
               </template>
             </el-table-column>
             <el-table-column label="当前状态" prop="stas">
@@ -165,6 +165,12 @@
             <el-table-column label="客户名称" prop="branchName" />
             <el-table-column label="来源部门" prop="deptName" />
             <el-table-column label="发起时间" prop="docmkDate" width="160" />
+            <el-table-column label="采购类型" prop="oprn" width="100">
+              <template #default="{ row }">
+                <span v-if="row.oprn">{{row.oprn}}</span>
+                <span v-if="row.oprn == ''">普通采购</span>
+              </template>
+            </el-table-column>
             <el-table-column label="受理人" prop="acper" />
             <el-table-column label="受理时间" prop="acpDate"  width="160" />
             <el-table-column label="状态" prop="stas">
@@ -374,6 +380,11 @@ export default {
           branchName: row.branchName,
           spdId:this.listQuery.spdId,
           activeName:this.activeName,
+          oprn:row.oprn,
+          oprtRoom:row.oprtRoom,
+          oprtTime:row.oprtTime,
+          atddr:row.atddr,
+          purcType:row.purcType,
         },
       });
     },
@@ -418,6 +429,7 @@ export default {
           branchName: row.branchName,
           spdId:this.listQueryC.spdId,
           activeName:this.activeName,
+          oprn:row.oprn,
         },
       });
     },

+ 76 - 22
src/views/page/orderManage-sup/purOrderConfirmed/confirmDetail.vue

@@ -68,14 +68,50 @@
         </div>
       </el-form>
     </div>
+    <div class="common-card" v-show="cShow">
+      <h3>手术信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="150px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="手术名称" prop="oprn">
+              <div class="content">
+                {{ listForm.oprn }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术间" prop="oprtRoom">
+              <div class="content">
+                {{ listForm.oprtRoom }}
+              </div>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="主治医生" prop="atddr">
+              <div class="content">
+                {{ listForm.atddr }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术日期" prop="oprtTime">
+              <div class="content">
+                {{ listForm.oprtTime }}
+              </div>
+            </el-form-item>
+          </div>
+        </div>
+      </el-form>
+    </div>
     <div class="common-card">
       <h3>商品明细</h3>
       <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="90px">
-      <el-form-item size="mini" label="生产企业" prop="prodEntp" class="long">
+        <el-form-item size="mini" label="生产企业" prop="prodEntp" class="long">
           <el-input v-model="listQuery.prodEntp" placeholder="请输入生产企业"></el-input>
         </el-form-item>
 
-       <el-form-item size="mini" label="是否集采" prop="isFas" class="long">
+        <el-form-item size="mini" label="是否集采" prop="isFas" class="long">
           <el-select v-model="listQuery.isFas" placeholder="请选择是否集采" clearable>
             <el-option
               v-for="item in isFasData"
@@ -89,9 +125,9 @@
           <el-input v-model="listQuery.regcertno" placeholder="请输入注册证号"></el-input>
         </el-form-item>
         <el-form-item>
-            <el-button type="primary" @click="getData()">查询</el-button>
-            <el-button @click="reset">重置</el-button>
-          </el-form-item>
+          <el-button type="primary" @click="getData()">查询</el-button>
+          <el-button @click="reset">重置</el-button>
+        </el-form-item>
       </el-form>
       <el-form :model="list">
         <el-table
@@ -111,13 +147,13 @@
           <el-table-column label="医保编码" prop="hiCode" />
           <el-table-column label="耗材信息" width="300">
             <template slot-scope="scope">
-                <mcs-info :info="scope.row"></mcs-info>
+              <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" >
+          <el-table-column label="是否集采" prop="isFas">
             <template #default="{ row }">
               <span v-if="row.isFas == '0'">否</span>
               <span v-if="row.isFas == '1'">是</span>
@@ -125,13 +161,17 @@
           </el-table-column>
           <el-table-column label="包装" prop="convrat" width="120px">
             <template #default="{ row }">
-              <span>{{row.purcUnt}}  ({{row.convrat}}{{row.prcUnt}}/{{row.purcUnt}})</span>
+              <span
+                >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
+                  row.purcUnt
+                }})</span
+              >
             </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>
+              <span>{{ row.purcPric }}元/{{ row.prcUnt }}</span>
             </template>
           </el-table-column>
           <el-table-column label="总金额" prop="purcAmt" />
@@ -172,10 +212,11 @@ export default {
   components: {
     ylStep,
     ylPagination,
-    mcsInfo
+    mcsInfo,
   },
   data() {
     return {
+      cShow:false,
       listForm: {
         id: "",
         detlCnt: "",
@@ -201,7 +242,7 @@ export default {
         { value: "P", lable: "部分入库" },
       ],
       essdrugOptions: ["非基药", "基药"],
-      listQuery:{
+      listQuery: {
         prodEntp: "",
         isFas: "",
         regcertno: "",
@@ -218,6 +259,11 @@ export default {
     } else {
       this.isShow = false;
     }
+    if(this.$route.query.purcType=="2"){
+      this.cShow = true
+    }else{
+      this.cShow = false
+    }
     this.listForm.id = this.$route.query.id;
     this.listForm.detlCnt = this.$route.query.detlCnt;
     this.listForm.purcAmt = this.$route.query.purcAmt;
@@ -226,7 +272,10 @@ export default {
     this.listForm.docmkDate = this.$route.query.docmkDate;
     this.listForm.branchName = this.$route.query.branchName;
     this.listForm.deptName = this.$route.query.deptName;
-    this.stasOptions.forEach((i) => {
+    this.stasOptions.forEach((i) => {this.listForm.oprn = this.$route.query.oprn;
+    this.listForm.oprtRoom = this.$route.query.oprtRoom;
+    this.listForm.oprtTime = this.$route.query.oprtTime;
+    this.listForm.atddr = this.$route.query.atddr;
       if (i.value == this.$route.query.stas) {
         this.listForm.stas = i.lable;
       }
@@ -236,11 +285,13 @@ export default {
   methods: {
     getData() {
       this.listLoading = true;
-      getMcsDetlList({ id: this.$route.query.id,
-        spdId:this.$route.query.spdId,
-          prodEntp:this.listQuery.prodEntp,
-          isFas:this.listQuery.isFas,
-          regcertno:this.listQuery.regcertno, })
+      getMcsDetlList({
+        id: this.$route.query.id,
+        spdId: this.$route.query.spdId,
+        prodEntp: this.listQuery.prodEntp,
+        isFas: this.listQuery.isFas,
+        regcertno: this.listQuery.regcertno,
+      })
         .then((res) => {
           this.list = res.data;
           this.list.forEach((i) => {
@@ -323,14 +374,17 @@ export default {
     handleBack() {
       this.$router.push({
         name: "purOrderAccept",
-        query:{spdId:this.$route.query.spdId,activeName:this.$route.query.activeName}
+        query: {
+          spdId: this.$route.query.spdId,
+          activeName: this.$route.query.activeName,
+        },
       });
     },
     // 重置
-    reset(){
+    reset() {
       this.$refs.listQuery.resetFields();
-      this.getData()
-    }
+      this.getData();
+    },
   },
 };
 </script>

+ 0 - 89
src/views/page/orderManage-sup/purOrderConfirmed/index.vue

@@ -1,89 +0,0 @@
-<template>
-  <!-- 采购订单待确认 -->
-  <div class="common-box">
-    
-  </div>
-</template>
-
-<script>
-import ylPagination from "@/components/yl-pagination";
-import { getMcsOrdPageYqrSpler } from "@/api/orderManage-sup/index";
-export default {
-  components: {
-    ylPagination,
-  },
-  data() {
-    return {
-      listQuery: {
-        current: 1,
-        size: 10,
-        id: "",
-        deptName: "",
-        docmkDateStart: "",
-        docmkDateEnd: "",
-        docmkDate: [],
-        stas: "",
-      },
-      stasOptions: [
-        { value: "A", lable: "未受理" },
-        { value: "B", lable: "已受理" },
-        { value: "R", lable: "被驳回" },
-        { value: "C", lable: "已出库" },
-        { value: "D", lable: "部分出库" },
-        { value: "Y", lable: "已入库" },
-        { value: "P", lable: "部分入库" },
-      ],
-      options: [],
-      listLoading: false,
-      list: [],
-      total: 0,
-    };
-  },
-  mounted() {
-    this.getData();
-  },
-  methods: {
-    getData(type) {
-      if (type == "search") {
-        this.listQuery.current = 1;
-      }
-      this.listLoading = true;
-      this.listQuery.docmkDateStart = this.listQuery.docmkDate[0];
-      this.listQuery.docmkDateEnd = this.listQuery.docmkDate[1];
-      getMcsOrdPageYqrSpler(this.listQuery)
-        .then((res) => {
-          this.list = res.data.records;
-          this.total = res.data.total;
-          this.listLoading = false;
-        })
-        .catch((err) => {
-          this.listLoading = false;
-        });
-      // getMcsOrdPageYqrSpler().then(res =>{
-      // this.options = res.data
-      // })
-    },
-    reset() {
-      this.$refs.queryForm.resetFields();
-      this.getData();
-    },
-    // 详情
-    handleDetail(row) {
-      this.$router.push({
-        name: "confirmDetail",
-        query: {
-          id: row.id,
-          detlCnt: row.detlCnt,
-          qtySum: row.qtySum,
-          purcAmt: row.purcAmt,
-          docmker: row.docmker,
-          docmkDate: row.docmkDate,
-          stas: row.stas,
-        },
-      });
-    },
-  },
-};
-</script>
-
-<style lang="scss" scoped></style>

+ 206 - 75
src/views/page/orderManage-sup/purOrderDelivery/deliveryDetail.vue

@@ -1,6 +1,11 @@
 <template>
   <!-- 待出库 -->
   <div>
+     <div class="right-button">
+      <el-button style="margin-right:6px" type="primary" @click="handlemultiplex" :loading="sureLoading"
+        >订单复用</el-button
+      >
+    </div>
     <div class="common-card">
       <h3>基本信息</h3>
       <el-form
@@ -67,6 +72,42 @@
         </div>
       </el-form>
     </div>
+    <div class="common-card" v-show="cShow">
+      <h3>手术信息</h3>
+      <el-form
+        :model="listForm"
+        ref="listform"
+        label-width="150px"
+        class="grid-form-class"
+      >
+        <div class="form-body">
+          <div class="flex-css">
+            <el-form-item label="手术名称" prop="oprn">
+              <div class="content">
+                {{ listForm.oprn }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术间" prop="oprtRoom">
+              <div class="content">
+                {{ listForm.oprtRoom }}
+              </div>
+            </el-form-item>
+          </div>
+          <div class="flex-css">
+            <el-form-item label="主治医生" prop="atddr">
+              <div class="content">
+                {{ listForm.atddr }}
+              </div>
+            </el-form-item>
+            <el-form-item label="手术日期" prop="oprtTime">
+              <div class="content">
+                {{ listForm.oprtTime }}
+              </div>
+            </el-form-item>
+          </div>
+        </div>
+      </el-form>
+    </div>
     <div class="common-card">
       <h3>商品明细</h3>
       <el-form :model="listQuery" ref="listQuery" :inline="true" label-width="90px">
@@ -223,9 +264,10 @@
                   </el-form-item>
               </template>
           </el-table-column>
-          <el-table-column label="UDI码" prop="udid" >
+          <el-table-column label="UDI码" prop="udi" v-if="cShow">
+          <!-- <el-table-column label="UDI码" prop="udi"> -->
             <template slot-scope="scope">
-                <el-button type="text" @click="handleudi(scope.row)">{{scope.row.delvCnt}}</el-button>
+                <el-button type="text" @click="handleudi(scope.row,scope.$index)">{{scope.row.delvCnt}}</el-button>
               </template>
           </el-table-column>
           <el-table-column label="报关单" prop="invoFileId" width="200">
@@ -293,7 +335,6 @@
           v-if="listForm.stas === '部分出库'"
           >出库</el-button
         >
-        <!-- <el-button type="danger" @click="handleOrderEnd" v-show="endBtn" :loading="endLoad">结束订单</el-button> -->
         <el-button type="success" @click="handleBack" >返回</el-button>
       </div>
     </div>
@@ -432,12 +473,12 @@
               <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">
+          <el-table-column label="UDI码" prop="udi" width="150" fixed="right">
             <template slot-scope="scope">
               <el-form-item
                 label-width="0"
                 class="item"
-                :prop="scope.$index + '.udidma'"
+                :prop="scope.$index + '.udi'"
                 :rules="[
                   {
                     required: true,
@@ -446,7 +487,7 @@
                   },
                 ]"
               >
-                <el-input placeholder="请输入" v-model="scope.row.udidma"></el-input>
+                <el-input placeholder="请输入" v-model="scope.row.udi"></el-input>
               </el-form-item>
             </template>
           </el-table-column>
@@ -572,7 +613,7 @@
               {{ item.prodExpy }}
             </td>
             <!-- <td align="center">
-              {{ item.udid }}
+              {{ item.udi }}
             </td> -->
             <td align="center">
               {{ item.purcCnt }}
@@ -619,6 +660,66 @@
         <el-button type="primary" v-print="printObj">打印</el-button>
       </div>
     </el-dialog>
+    <!-- 订单复用 mulDialog-->
+    <el-dialog
+      title="订单复用"
+      :visible.sync="mulDialog"
+      width="70%"
+    >
+    <el-table
+        element-loading-text="加载中"
+        :data="mulData"
+        fit
+        stripe
+        border
+      >
+        <template slot="empty">
+          <img src="@/assets/nopage.png" alt />
+          <p>暂无数据</p>
+        </template>
+        <el-table-column fixed="left" width="45px">
+              <template slot-scope="scope">
+                <el-radio
+                  v-model="roleRadio"
+                  style="margin-left: 10px"
+                  :label="scope.row.id"
+                  @change.native="getTemplateRow(scope.$index, scope.row)"
+                />
+              </template>
+            </el-table-column>
+        <el-table-column type="index" label="序号" width="60" />
+          <el-table-column label="出库单号" prop="id" />
+          <el-table-column label="手术名称" prop="oprn" />
+          <el-table-column label="手术日期" prop="oprtTime" />
+          <el-table-column label="品总数" prop="detlCnt" >
+          </el-table-column>
+          <el-table-column label="申领总数" prop="qtySum">
+          </el-table-column>
+          <el-table-column label="申领金额" prop="purcAmt">
+          </el-table-column>
+          <el-table-column label="使用数量" prop="prodExpy">
+          </el-table-column>
+          <el-table-column label="使用金额" prop="" />
+          <el-table-column label="客户名称" prop="branchName" />
+          <el-table-column label="采购员" prop="docmker" />
+          <el-table-column label="采购时间" prop="docmker" />
+      </el-table>
+       <!--分页-->
+       <yl-pagination
+          v-show="totalm > 0"
+          :total="totalm"
+          :page.sync="listQuerym.current"
+          :limit.sync="listQuerym.size"
+          @pagination="getOutboundData"
+        />
+    <div class="foot-button" style="margin-top: 30px">
+        <el-button
+          type="primary"
+          @click="clickMul"
+          >确 认</el-button
+        >
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -630,22 +731,28 @@ import mcsInfo from "@/views/components/mcs-info.vue";
 import { countNumPrice, getTotalAmount } from "@/utils/utils";
 import moment from "moment";
 import {
+  getMcsOrdDck,
+} from "@/api/orderManage-sup/index";
+import {
   getMcsOrdDckDetl,
   saveDelvOrd,
   finishMcsDelvOrd,
   finishDelvOrd,
   getBillPage,
   submitMcsDelvOrd,
+  delvOrdId,
 } from "@/api/orderManage-sup/index";
 export default {
   components: {
-    ylStep,
+    ylStep,                                                                 
     ylPagination,
     ylUpload,
     mcsInfo
   },
   data() {
     return {
+      roleRadio:"",
+      cShow:false,
       pdfSrc: "",
       dialogVisible: false,
       saveLoad: false,
@@ -747,8 +854,24 @@ export default {
         },
       },
       udidialog:false,
+      mulDialog:false,
       udiData:[],
-      mcsSum:0
+      mulData:[],
+      mcsSum:0,
+      purcOrdId:"",
+      rowIndex:0,
+      listQuerym:
+      {
+        current: 1,
+        size: 10,
+        id: "",
+        branchName:"",
+        docmkDateStart: "",
+        docmkDateEnd: "",
+        docmkDate: [],
+        stas: "",
+        spdId:this.$route.query.spdId,
+      }
     };
   },
   created() {
@@ -766,6 +889,11 @@ export default {
     if(this.listForm.stas=='部分出库'){
       this.endBtn = true
     }
+    if(this.$route.query.purcType=="2"){
+      this.cShow = true
+    }else{
+      this.cShow = false
+    }
     // this.stasOptions.forEach((i)=>{
     //     if(i.value == this.$route.query.stas){
     //         this.listForm.stas = i.lable
@@ -871,6 +999,7 @@ export default {
                     regcertno:this.listQuery.regcertno,  })
         .then((res) => {
           this.tableData = res.data;
+          this.tableData.udiList=[];
           this.chuList = res.data;
           this.listLoading = false;
           this.computeCell(this.tableData);
@@ -1012,6 +1141,7 @@ export default {
         manuDate: "",
         prodExpy: "",
         dyntFileId: "",
+        udiList:[],
       };
       this.tableData.splice(index + 1, 0, list);
       list.showDeleteButton = true;
@@ -1193,9 +1323,14 @@ export default {
       this.getTongData();
     },
     // 填写UDI码
-    handleudi(row){
+    handleudi(row,index){
+      if(!row.lotNum && !row.manuDate && !row.prodExpy && !row.delvCnt){
+        this.$message.warning("先填写必填信息,再填写UDI码")
+      }else{
+        this.rowIndex = index;
       this.udidialog = true;
       let udiObj={
+        index:index,
         spec:row.spec,
         mol:row.mol,
         matl:row.matl,
@@ -1212,15 +1347,14 @@ export default {
         fasBtch:row.fasBtch,
         prodSouc:row.prodSouc,
         mcsType:row.mcsType,
-        udidma:"",
+        udi:"",
       }
-      // 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(){
@@ -1232,8 +1366,9 @@ export default {
             cancelButtonText: "取消",
             type: "warning",
           }).then(() => {
-
-            this.udidialog = true;
+            this.tableData[this.rowIndex].udiList = this.udiData
+            console.log(this.tableData,"tete");
+            this.udidialog = false;
           });
         } else {
           this.$message({
@@ -1299,6 +1434,9 @@ export default {
           });
           throw new Error("请填写相应信息,并选择报关单");
         }
+        if(this.cShow==true && item.udiList==[]){
+          this.$message.warning("请填写udi再提交")
+        }
       });
       let lotnum = this.pf(this.tableData);
       if (lotnum == true) {
@@ -1308,7 +1446,6 @@ export default {
         });
         throw new Error("同一产品的批号不能重复");
       }
-
       this.$refs.tabledata.validate((valid) => {
         if (valid) {
           this.$confirm("确认出库", "提示", {
@@ -1340,25 +1477,25 @@ export default {
         cancelButtonText: "取消",
         type: "warning",
       }).then(() => {
-        let data = this.tableData.map((i) => {
-          return {
-            materialId: i.prodCode,
-            memo:i.memo,
-            delvCnt: i.delvCnt,
-            hiCode:i.hiCode,
-            delvPric:i.purcPric,
-            lotNum: i.lotNum,
-            manuDate: i.manuDate,
-            prodExpy: i.prodExpy,
-            invoFileId: i.invoFileId,
-            dyntFileId: i.dyntFileId,
-            noRow:i.index
-          };
-        });
+        // let data = this.tableData.map((i) => {
+        //   return {
+        //     materialId: i.prodCode,
+        //     memo:i.memo,
+        //     delvCnt: i.delvCnt,
+        //     hiCode:i.hiCode,
+        //     delvPric:i.purcPric,
+        //     lotNum: i.lotNum,
+        //     manuDate: i.manuDate,
+        //     prodExpy: i.prodExpy,
+        //     invoFileId: i.invoFileId,
+        //     dyntFileId: i.dyntFileId,
+        //     noRow:i.index
+        //   };
+        // });
         let data2 = {
           delvOrdId: "",
           purcOrdId: this.$route.query.id,
-          detlList: data,
+          detlList: this.tableData,
           deptId: this.$route.query.deptId,
           spdId: this.$route.query.spdId,
           deptName: this.$route.query.deptName,
@@ -1406,48 +1543,22 @@ export default {
           this.saveLoad = false;
         });
     },
-    // 结束订单
-    handleOrderEnd() {
-      // this.tableData.forEach((item) => {
-      //   if (!item.invoFileId || !item.dyntFileId) {
-      //     this.$message({
-      //       message: "请填写相应信息,并选择发票和同行单",
-      //       type: "warning",
-      //     });
-      //     throw new Error("请填写相应信息,并选择发票和同行单");
-      //   }
-      // });
-      // this.$refs.tabledata.validate((valid) => {
-        // if (valid) {
-          this.$confirm("确认结束订单", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          }).then(() => {
-            let data = {
-              delvOrdId: this.$route.query.id,
-            };
-            this.endLoad = true;
-            finishMcsDelvOrd(data)
-              .then((res) => {
-                this.endLoad = false;
-                this.$router.push({
-                  name: "purOrderDelivery",
-                });
-              })
-              .catch((err) => {
-                this.endLoad = false;
-              });
-          });
-        // } else {
-          // this.$message({
-            // type: "warning",
-            // message: "请填写必填项信息",
-          // });
-        // }
-      // });
+    // 订单复用
+    handlemultiplex(){
+      this.mulDialog = true;
+      this.getOutboundData()
+      this.roleRadio = ""
+    },
+    // 复用查询
+    getOutboundData() {
+      getMcsOrdDck(this.listQuerym)
+        .then((res) => {
+          this.mulData = res.data.records;
+          this.totalm = res.data.total;
+        })
+        .catch((err) => {
+        });
     },
-
     // 返回
     handleBack(){
       this.$router.push({
@@ -1459,7 +1570,27 @@ export default {
     reset(){
       this.$refs.listQuery.resetFields();
       this.getData()
-    }
+    },
+    // 复用单选
+    getTemplateRow(index, row) {
+      console.log(row)
+      this.purcOrdId = row.id;
+    },
+    // 复用确认
+    clickMul(){
+      if(this.purcOrdId==""){
+        this.$message.error("请选择要复用的订单")
+      }else{
+        111({delvOrdId:this.listForm.id,purcOrdId:this.purcOrdId}).then((res)=>{
+          if(res.success==true){
+            this.$message.success("操作成功")
+          }else{
+            this.$message.success("操作失败")
+          }
+        })
+          }
+    },
+    
   },
 };
 </script>

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

@@ -83,12 +83,17 @@
           <el-table-column fixed type="index" label="序号" width="60" />
           <el-table-column label="订单编号" prop="id" />
           <el-table-column label="订单种类" prop="detlCnt" />
-          <el-table-column label="订单总数量" prop="qtySum" width="90px"/>
-          <el-table-column label="剩余出库量" prop="delvCnt" width="90px"/>
-          <el-table-column label="订单总金额" prop="purcAmt" width="90px"/>
+          <el-table-column label="订单总数量" prop="qtySum" />
+          <el-table-column label="剩余出库量" prop="delvCnt"/>
+          <el-table-column label="订单总金额" prop="purcAmt" width="100px"/>
           <el-table-column label="客户名称" prop="branchName" />
           <el-table-column label="来源部门" prop="deptName" />
-          <!-- <el-table-column label="采购员" prop="docmker" /> -->
+          <el-table-column label="采购类型" prop="purcType" width="100">
+            <template #default="{ row }">
+                <span v-if="row.purcType">{{row.oprn}}</span>
+                <span v-if="row.purcType == ''">普通采购</span>
+              </template>
+            </el-table-column>
           <el-table-column label="采购时间" prop="docmkDate" width="140" />
           <el-table-column label="状态" prop="stas">
             <!-- <template #default="{ row }">
@@ -101,7 +106,7 @@
               <span v-if="row.stas == 'P'">部分入库</span>
             </template> -->
           </el-table-column>
-          <el-table-column label="操作" width="100">
+          <el-table-column label="操作" width="100" fixed="right">
             <template slot-scope="scope">
               <el-button type="text" @click="handleDetail(scope.row)">详情</el-button>
             </template>
@@ -188,14 +193,20 @@
           </template>
           <el-table-column fixed type="index" label="序号" width="60" />
           <el-table-column label="出库单号" prop="delvOrdId" />
-          <el-table-column label="关联采购单" prop="purcOrdId" width="90px"/>
-          <el-table-column label="采购品种数" prop="detlCnt" width="90px"/>
-          <el-table-column label="采购总数量" prop="qtySum" width="90px"/>
-          <el-table-column label="本次出库量" prop="bcckl"width="90px" />
+          <el-table-column label="关联采购单" prop="purcOrdId" />
+          <el-table-column label="采购品种数" prop="detlCnt"/>
+          <el-table-column label="采购总数量" prop="qtySum"/>
+          <el-table-column label="本次出库量" prop="bcckl" />
           <el-table-column label="客户验收数量" prop="shppCnt" width="100px"/>
           <el-table-column label="剩余出库量" prop="toDelvCnt" width="100px"/>
           <el-table-column label="客户名称" prop="branchName" />
           <el-table-column label="来源部门" prop="deptName" />
+          <el-table-column label="采购类型" prop="oprn" width="100">
+            <template #default="{ row }">
+                <span v-if="row.oprn">{{row.oprn}}</span>
+                <span v-if="row.oprn == ''">普通采购</span>
+              </template>
+            </el-table-column>
           <el-table-column label="出库员" prop="docmker" />
           <el-table-column label="出库时间" prop="docmkDate" width="140" />
           <el-table-column label="状态" prop="delvOrdStas" width="100">
@@ -259,6 +270,7 @@ export default {
         docmkDateEnd: "",
         docmkDate: [],
         stas: "",
+        spdId:"",
       },
       listQueryC: {
         current: 1,
@@ -404,6 +416,10 @@ export default {
           branchName:row.branchName,
           spdId:this.spdId,
           activeName:this.activeName,
+          oprn:row.oprn,
+          oprtRoom:row.oprtRoom,
+          oprtTime:row.oprtTime,
+          atddr:row.atddr,
         },
       });
     },
@@ -445,7 +461,11 @@ export default {
           qtySum:row.qtySum,
           spdId:this.spdId,
           activeName:this.activeName,
-          purcAmt:row.purcAmt
+          purcAmt:row.purcAmt,
+          oprn:row.oprn,
+          oprtRoom:row.oprtRoom,
+          oprtTime:row.oprtTime,
+          atddr:row.atddr,
         },
       });
     },