Sfoglia il codice sorgente

退货确认分页

liangbowen 10 mesi fa
parent
commit
a957d7da45

+ 8 - 0
src/api/consumCataManage-sup/index.js

@@ -83,6 +83,14 @@ export function insertFacQua(data) {
         data
     })
 }
+//目录删除
+export function deleteSplerMcs(data) {
+    return request({
+        url:"/web/mcsList/deleteSplerMcs",
+        method:"post",
+        data
+    })
+}
 
 
 

+ 16 - 0
src/api/orderManage-sup/index.js

@@ -226,4 +226,20 @@ export function getALLOrgTree(data) {
         method:"post",
         data
     })
+}
+//驳回汇总查询
+export function getRejectData(data) {
+    return request({
+        url:"/web/delvOrd/getSplerDelvOrdRetn",
+        method:"post",
+        data
+    })
+}
+//驳回重新提交
+export function retnDelvOrdCommit(data) {
+    return request({
+        url:"/web/delvOrd/retnDelvOrdCommit",
+        method:"post",
+        data
+    })
 }

+ 2 - 3
src/router/index.js

@@ -6,7 +6,7 @@ Vue.use(Router);
 /* Layout */
 import Layout from "@/layout";
 
-import dashRouter from "./modules/dash"; //首页
+// import dashRouter from "./modules/dash"; //首页
 import purchasRouter from "./modules/purchas"; //采购管理
 import applyRouter from "./modules/apply"; //申领管理
 import storeroomRouter from "./modules/storeroom"; //库房管理
@@ -57,7 +57,7 @@ export const constantRoutes = [
   {
     path: "/",
     component: Layout,
-    redirect: "/homePage/dashboard",
+    redirect: "/message-center/messagecenter-index",
     children: [
       {
         // 公告详情
@@ -81,7 +81,6 @@ export const constantRoutes = [
 
 
 export const asyncRoutes = [
-  dashRouter,
   purchasRouter,
   applyRouter,
   storeroomRouter,

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

@@ -38,6 +38,15 @@ const orderRouter = {
       hidden: true
     },
     {
+      // 采购订单-驳回详情
+      path: "rejectDetail",
+      component: () =>
+        import("@/views/page/orderManage-sup/purOrderDelivery/rejectDetail.vue"),
+      name: "rejectDetail",
+      meta: { title: "采购订单-驳回详情", icon: "" },
+      hidden: true
+    },
+    {
       // 采购订单-出库成功页面
       path: "devsuccs",
       component: () =>

+ 8 - 6
src/utils/rules.js

@@ -62,11 +62,13 @@ export function checkNatureNum(rule, value, callback) {
 }
 //耗材编码
 export function proCodeRule(rule, value, callback) {
-  const reg = new RegExp("^[C]+[0-9]{26}?$")
-  if (!value) {
-    return callback(new Error("请填写医保编码"));
-  } else if (!reg.test(value)) {
-    return callback(new Error("请输入正确的医保编码,27位,且必须为大写C开头,其余是数字"));
+  const reg = new RegExp("^[C]+[0-9]{26}?$");
+  if (value != "") {
+    if (!reg.test(value)) {
+      return callback(new Error("请输入正确的医保编码,27位,且必须为大写C开头,其余是数字"));
+    } else {
+      callback();
+    }
   } else {
     callback();
   }
@@ -133,7 +135,7 @@ export default {
       trigger: "blur"
     }
   ],
-  proCodeRule:[{ required: true, validator: proCodeRule, trigger: "blur" }],
+  proCodeRule: [{ required: false, validator: proCodeRule, trigger: "blur" }],
   numPot2: [{ required: true, validator: checkNumPot2, trigger: "blur" }],
   numPot4: [{ required: true, validator: checkNumPot4, trigger: "blur" }],
   InterNum: [{ required: true, validator: checkInterNum, trigger: "blur" }],

+ 3 - 0
src/views/components/early-warning.vue

@@ -49,10 +49,12 @@ export default {
         });
         return;
       }
+      console.log(item, '问问');
       reqComData({
         url: item.url,
         body: {
           [item.msgKey]: item.msgValue,
+          spdId:item.spdID
         },
       }).then((res) => {
         if (res.success == true) {
@@ -100,6 +102,7 @@ export default {
           id: this.info.id,
           msgTitle: this.info.msgTitle,
           msgValue: item.msgValue,
+          spdID:this.info.spdId
         })})'>【${item.msgColumn}】</span>`
       );
     });

+ 132 - 0
src/views/components/printTable.vue

@@ -0,0 +1,132 @@
+<template>
+  <div>
+    <div v-for="(im, inx) in taData" :key="inx">
+      <table class="printTable" border="1" style="table-layout: auto">
+        <thead>
+          <tr>
+            <td colspan="13">{{ userName }}</td>
+          </tr>
+          <tr>
+            <td colspan="1">医院名称</td>
+            <td colspan="11">{{ tableLabel }}</td>
+          </tr>
+        </thead>
+        <thead>
+          <tr>
+            <th
+              v-for="(item, index) in tableHeader"
+              :key="index"
+              :style="{ minWidth: item.minWidth + 'px' }"
+            >
+              {{ item.label }}
+            </th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr v-for="(item, index) in im" :key="index">
+            <td v-for="(itm, idx) in tableHeader" :key="idx">
+              <span v-if="itm.value == 'mcsType'">
+                <span v-if="item.mcsType == '0'">普通耗材</span>
+                <span v-if="item.mcsType == '1'">高值耗材</span>
+                <span v-if="item.mcsType == '2'">试剂</span>
+              </span>
+              <span v-if="itm.value == 'isFas'">
+                <span v-if="item.isFas == '0'">否</span>
+                <span v-if="item.isFas == '1'">是</span>
+              </span>
+              <span v-if="itm.value == 'serial'"> {{ index + 1 }}</span>
+              <span v-else> {{ item[itm.value] }}</span>
+            </td>
+          </tr>
+          <tr>
+            <td>合计</td>
+            <td colspan="5"></td>
+            <td>{{ amtNumber(im) }}</td>
+            <td colspan="6"></td>
+          </tr>
+        </tbody>
+      </table>
+      <div style="page-break-after: always"></div>
+    </div>
+  </div>
+</template>
+<script>
+export default {
+  components: {},
+  data() {
+    return {
+      tableLabel: "",
+      taData: [],
+      userName: ""
+    };
+  },
+  props: {
+    tableHeader: {
+      type: Array,
+      default: []
+    },
+    tableData: {
+      type: Array,
+      default: []
+    }
+  },
+  methods: {
+    paginData(arr, num) {
+      let newArr = [];
+      for (let i = 0; i < arr.length; ) {
+        //注意:这里与for循环不太一样的是,没有i++
+        newArr.push(arr.slice(i, (i += num)));
+      }
+      return newArr;
+    },
+    amtNumber(item) {
+      let nub = 0;
+      item.forEach(item => {
+        nub += Number(item.amt);
+      });
+      return parseFloat(nub.toFixed(4)) + "元";
+    }
+  },
+  mounted() {
+    this.userName =
+      this.$store.state.user.username +
+      "----" +
+      this.$route.query.stmtPrd +
+      "对账明细";
+    this.tableLabel = this.$route.query.branchName;
+    let newData = this.paginData(this.tableData, 5);
+    this.taData = newData;
+  }
+};
+</script>
+
+<style scoped lang="scss">
+.printTable {
+  width: 100%;
+  border-collapse: collapse;
+  border-spacing: 0px;
+  tr {
+    td {
+      padding: 5px;
+      border: 1px solid black;
+      text-align: center;
+    }
+    th {
+      padding: 3px;
+    }
+  }
+}
+</style>
+<style media="print" lang="scss">
+@media print {
+  html {
+    zoom: 75%;
+  }
+  @page {
+    size: auto; /* 重置页面大小,避免出现空白页 */
+    margin-top: 10mm; /* 取消页眉 */
+    margin-left: 6mm; /* 取消默认的左右页边距 */
+    margin-right: 45mm; /* 取消默认的左右页边距 */
+  }
+}
+</style>

+ 3 - 1
src/views/page/consumCataManage-sup/catalogdetails.vue

@@ -314,7 +314,7 @@
                 <el-form-item
                   label="医保编码"
                   prop="hiCode"
-                  :rules="rules.required"
+                  :rules="rules.proCodeRule"
                 >
                   <div class="content" v-if="editCode">
                     {{ infoData.hiCode }}
@@ -979,6 +979,7 @@ export default {
     },
     // 整体提交
     handleSubmit() {
+      console.log('在这走了吗');
       this.$refs["planForm"].validate((valid) => {
         if (valid) {
           this.$confirm("确认提交", "提示", {
@@ -1088,6 +1089,7 @@ export default {
               if (this.dialogStatus == "one") {
                 this.addform.splerId = this.$store.state.user.orgId;
                 this.addform.hiCode = this.infoData.hiCode;
+                this.addform.spdId = this.$route.query.spdId;
                 insertMcsQua(this.addform)
                   .then((response) => {
                     this.$message({

+ 2 - 284
src/views/page/consumCataManage-sup/catalogdetailsadd.vue

@@ -437,202 +437,7 @@
           <el-button type="info" @click="handleBack">返回</el-button>
         </div>
       </el-tab-pane>
-      <el-tab-pane label="资质信息" name="second">
-        <div class="common-card">
-          <div>
-            <h3>耗材资质</h3>
-            <!-- <div class="right-type">
-              <el-button
-                style="margin-bottom: 10px"
-                type="primary"
-                @click="handleAdd('one')"
-                >添加资质</el-button
-              >
-            </div> -->
-          </div>
-          <el-table
-            v-loading="listLoading"
-            element-loading-text="加载中"
-            :data="list"
-            fit
-            stripe
-            border
-            :cell-class-name="tableColClassName"
-          >
-            <template slot="empty">
-              <img src="@/assets/nopage.png" alt />
-              <p>暂无数据</p>
-            </template>
-            <el-table-column fixed type="index" label="序号" width="60" />
-            <el-table-column label="资质证书信息" prop="quaName">
-            </el-table-column>
-            <el-table-column label="资质证书编号" prop="quaCode" />
-            <el-table-column label="发证日期" prop="issuDate" />
-            <el-table-column label="截止日期" prop="endDate" />
-            <el-table-column label="资质证件" prop="fileId">
-              <template slot-scope="scope">
-                <yl-upload
-                  :fileId="scope.row.fileId"
-                  readonly
-                  v-if="scope.row.fileId"
-                >
-                </yl-upload>
-              </template>
-            </el-table-column>
-            <el-table-column label="备注" prop="memo" />
-          </el-table>
-        </div>
-        <div class="common-card">
-          <div>
-            <h3>生产厂商资质</h3>
-            <!-- <div class="right-type">
-              <el-button
-                style="margin-bottom: 10px"
-                type="primary"
-                @click="handleAdd1('two')"
-                >添加资质</el-button
-              >
-            </div> -->
-          </div>
-          <el-table
-            v-loading="listLoading"
-            element-loading-text="加载中"
-            :data="listC"
-            fit
-            stripe
-            border
-            :cell-class-name="tableColClassName"
-          >
-            <template slot="empty">
-              <img src="@/assets/nopage.png" alt />
-              <p>暂无数据</p>
-            </template>
-            <el-table-column fixed type="index" label="序号" width="60" />
-            <el-table-column label="资质证书信息" prop="quaName">
-            </el-table-column>
-            <el-table-column label="资质证书编号" prop="quaCode" />
-            <el-table-column label="发证日期" prop="issuDate" />
-            <el-table-column label="截止日期" prop="endDate" />
-            <el-table-column label="资质证件" prop="fileId">
-              <template slot-scope="scope">
-                <yl-upload
-                  :fileId="scope.row.fileId"
-                  readonly
-                  v-if="scope.row.fileId"
-                >
-                </yl-upload>
-              </template>
-            </el-table-column>
-            <el-table-column label="备注" prop="memo" />
-          </el-table>
-        </div>
-      </el-tab-pane>
     </el-tabs>
-    <el-dialog
-      class="addclass"
-      width="30%"
-      :title="textMap[dialogStatus]"
-      :close-on-click-modal="false"
-      :visible.sync="dialogFormVisible"
-      v-if="dialogFormVisible"
-    >
-      <el-form label-width="120px" :model="addform" ref="addForm">
-        <el-form-item
-          label="资质证书信息"
-          prop="quaName"
-          :rules="rules.selectRequired"
-        >
-          <el-select
-            v-model.trim="addform.quaName"
-            placeholder="请选择资质证书信息"
-          >
-            <el-option
-              v-for="item in qualData"
-              :key="item.id"
-              :label="item.dicVal"
-              :value="item.dicVal"
-              clearable
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item
-          label="资质证书编号"
-          prop="quaCode"
-          :rules="rules.required"
-        >
-          <el-input
-            v-model="addform.quaCode"
-            placeholder="请输入资质证书编号"
-            maxlength="50"
-          ></el-input>
-        </el-form-item>
-
-        <el-form-item
-          label="发证时间"
-          prop="issuDate"
-          :rules="rules.dateRequired"
-        >
-          <el-date-picker
-            v-model.trim="addform.issuDate"
-            type="date"
-            :picker-options="TimeOption1"
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item
-          label="截止时间"
-          prop="endDate"
-          :rules="rules.dateRequired"
-        >
-          <el-date-picker
-            v-model.trim="addform.endDate"
-            type="date"
-            :picker-options="TimeOption"
-            placeholder="选择日期"
-            value-format="yyyy-MM-dd"
-          ></el-date-picker>
-        </el-form-item>
-        <el-form-item
-          label="资质证件"
-          prop="fileId"
-          :rules="rules.uploadRequired"
-        >
-          <yl-upload
-            :fileId="addform.fileId"
-            @getUpload="getUpload"
-            urlName="acco"
-          >
-            <template v-slot:dec
-              >只能上传pdf文件</template
-            >
-          </yl-upload>
-          <!-- <yl-upload
-                v-else
-              :fileId="addform.fileId"
-              readonly
-            >
-            </yl-upload> -->
-        </el-form-item>
-        <el-form-item label="备注" prop="memo">
-          <el-input
-            v-model="addform.memo"
-            placeholder="请输入备注"
-            maxlength="50"
-          ></el-input>
-        </el-form-item>
-      </el-form>
-      <div slot="footer">
-        <el-button @click="dialogFormVisible = false">取 消</el-button>
-        <el-button
-          type="primary"
-          v-preventReClick
-          v-loading="loading1"
-          @click="handledialog()"
-          >确 定</el-button
-        >
-      </div>
-    </el-dialog>
   </div>
 </template>
 
@@ -744,7 +549,8 @@ export default {
         { value: "付", label: "付" },
         { value: "桶", label: "桶" },
         { value: "节", label: "节" },
-        { value: "打", label: "打" }
+        { value: "打", label: "打" },
+        { value: "副", label: "副" }
       ],
       prcUntData: [
         { value: "箱", label: "箱" },
@@ -939,24 +745,6 @@ export default {
     clearType() {
       this.infoData.fasBtch = "";
     },
-    // 新增资质
-    handleAdd(type) {
-      (this.addform = {
-        splerId: "",
-        hiCode: "",
-        quaName: "",
-        quaCode: "",
-        issuDate: "",
-        endDate: "",
-        fileId: "",
-        memo: ""
-      }),
-        (this.dialogFormVisible = true);
-      this.dialogStatus = type;
-      this.$nextTick(() => {
-        this.$refs.addForm.resetFields();
-      });
-    },
     handleAdd1(type) {
       (this.addform = {
         splerId: "",
@@ -982,76 +770,6 @@ export default {
         this.$refs.addForm.validateField("fileId");
       }
     },
-    // 确认
-    handledialog() {
-      this.$refs["addForm"].validate(valid => {
-        if (valid) {
-          this.$confirm("确认提交", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          })
-            .then(() => {
-              this.loading1 = true;
-              if (this.dialogStatus == "one") {
-                this.addform.splerId = this.$store.state.user.orgId;
-                this.addform.hiCode = this.infoData.hiCode;
-                insertMcsQua(this.addform)
-                  .then(response => {
-                    this.$message({
-                      message: "提交成功",
-                      type: "success"
-                    });
-                    this.loading1 = false;
-                    this.dialogFormVisible = false;
-                    this.activeName = "second";
-                    if (this.$route.query.type == "modify") {
-                      this.getData1();
-                    } else {
-                      this.getData();
-                    }
-                  })
-                  .catch(() => {
-                    this.loading1 = false;
-                    this.$message({
-                      message: "提交失败",
-                      type: "error"
-                    });
-                  });
-              } else if (this.dialogStatus == "two") {
-                this.addform.splerId = this.$store.state.user.orgId;
-                this.addform.prodEntp = this.infoData.prodEntp;
-                insertFacQua(this.addform)
-                  .then(response => {
-                    this.$message({
-                      message: "提交成功",
-                      type: "success"
-                    });
-                    this.loading1 = false;
-                    this.dialogFormVisible = false;
-                    this.loading1 = false;
-                    this.dialogFormVisible = false;
-                    this.activeName = "second";
-                    if (this.$route.query.type == "modify") {
-                      this.getData1();
-                    } else {
-                      this.getData();
-                    }
-                  })
-                  .catch(() => {
-                    this.loading1 = false;
-                    this.$message({
-                      message: "提交失败",
-                      type: "error"
-                    });
-                  });
-              }
-            })
-            .catch(() => {});
-        } else {
-        }
-      });
-    },
     handleBack() {
       this.$router.push({
         name: "distributionmanage",

+ 1 - 1
src/views/page/consumCataManage-sup/distributionmanage.vue

@@ -911,7 +911,7 @@ export default {
       selectSplerMcsListIntf(this.listQuery).then(res => {
         this.list1 = res.data.records;
       });
-      this.getdialog();
+      // this.getdialog();
     },
     // 新增目录确认
     handleConfirm() {

+ 33 - 3
src/views/page/consumCataManage-sup/index.vue

@@ -226,12 +226,18 @@
               <el-button
                 type="text"
                 @click="handleDui(scope.row)"
-                v-if="scope.row.status == 'C'"
+                v-if="scope.row.status == 'C' || scope.row.status == 'B'"
                 >详情</el-button
               >
               <el-button type="text" @click="handleDui(scope.row)" v-else
                 >编辑</el-button
               >
+              <el-button
+                type="text"
+                @click="deleteData(scope.row)"
+                v-if="scope.row.status == 'A'"
+                >删除</el-button
+              >
             </div>
           </template>
         </el-table-column>
@@ -550,7 +556,8 @@ import {
   QuerySplerDrugList,
   DrugMatch,
   CancMatch,
-  selectSpdList
+  selectSpdList,
+  deleteSplerMcs
 } from "@/api/consumCataManage-sup/index";
 import rulesR from "@/utils/rules";
 import ylUpload from "@/components/yl-upload";
@@ -719,6 +726,26 @@ export default {
     };
   },
   methods: {
+    //删除目录
+    deleteData(row) {
+      this.$confirm("确定删除当前目录吗", "确认信息", {
+        distinguishCancelAndClose: true,
+        confirmButtonText: "确定",
+        cancelButtonText: "取消"
+      })
+        .then(() => {
+          deleteSplerMcs({ id: row.id }).then(res => {
+            if (res.success == true) {
+              this.getTableData(this.listQuery);
+              this.$message({
+                type: "success",
+                message: "操作成功"
+              });
+            }
+          });
+        })
+        .catch(action => {});
+    },
     tabClick(tab) {
       if (tab.label == "按机构") {
         this.defaultProps.label = "spdName";
@@ -771,7 +798,10 @@ export default {
       this.listLoading = true;
       this.spdId = data.spdId;
       this.listQuery.spdId = this.spdId;
-      selectSplerMcsListIntf(this.listQuery)
+      this.getTableData(this.listQuery);
+    },
+    getTableData(data) {
+      selectSplerMcsListIntf(data)
         .then(res => {
           this.list = res.data.records;
           this.total = res.data.total;

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

@@ -87,7 +87,7 @@
             <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="purcType" width="100">
+            <el-table-column label="采购描述" prop="purcType" width="100">
               <template #default="{ row }">
                 <span v-if="row.purcType == '2'">{{ row.oprn }}</span>
                 <span v-if="row.purcType == '1'">普通采购</span>
@@ -179,7 +179,7 @@
             <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="purcType" width="100">
+            <el-table-column label="采购描述" prop="purcType" width="100">
               <template #default="{ row }">
                 <span v-if="row.purcType == '2'">{{ row.oprn }}</span>
                 <span v-if="row.purcType == '1'">普通采购</span>

+ 27 - 11
src/views/page/orderManage-sup/purOrderDelivery/deliveryDetail.vue

@@ -259,6 +259,11 @@
                   </el-form-item>
               </template>
           </el-table-column>
+          <el-table-column label="金额" prop="delvAmt" width="90px">
+            <template slot-scope="scope">
+                   <span>{{ rejAmtNub(scope.row) }}</span>
+            </template>
+          </el-table-column>
           <el-table-column label="UDI码" prop="udi" v-if="cShow">
           <!-- <el-table-column label="UDI码" prop="udi"> -->
             <template slot-scope="scope">
@@ -510,6 +515,7 @@
         fit
         stripe
         border
+        height="500px"
       >
         <template slot="empty">
           <img src="@/assets/nopage.png" alt />
@@ -520,13 +526,14 @@
                 <el-radio
                   v-model="roleRadio"
                   style="margin-left: 10px"
-                  :label="scope.row.id"
+                  :label="scope.row.delvOrdId"
                   @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="purcOrdId" />
+          <el-table-column label="出库单号" prop="delvOrdId" />
           <el-table-column label="手术名称" prop="oprn" />
           <el-table-column label="手术日期" prop="oprtTime" />
           <el-table-column label="品总数" prop="detlCnt" >
@@ -535,12 +542,12 @@
           </el-table-column>
           <el-table-column label="申领金额" prop="purcAmt">
           </el-table-column>
-          <el-table-column label="使用数量" prop="prodExpy">
+          <el-table-column label="使用数量" prop="bcckl">
           </el-table-column>
-          <el-table-column label="使用金额" prop="" />
+          <el-table-column label="使用金额" prop="amt" />
           <el-table-column label="客户名称" prop="branchName" />
-          <el-table-column label="采购员" prop="docmker" />
-          <el-table-column label="采购时间" prop="docmker" />
+          <!-- <el-table-column label="采购员" prop="docmker" /> -->
+          <el-table-column label="采购时间" prop="purcTime" />
       </el-table>
        <!--分页-->
        <yl-pagination
@@ -570,7 +577,10 @@ import printView from "./printView.vue";
 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 {
+  getMcsOrdDck,
+  getSplerMcsDelvOrdPage,
+} from "@/api/orderManage-sup/index";
 import {
   getMcsOrdDckDetl,
   saveDelvOrd,
@@ -598,6 +608,7 @@ export default {
       confirmLoad: false,
       endLoad: false,
       number: [],
+      delvOrdId: "",
       isLotnum: false, //批号是否有重复
       orderData: [], //出库单打印数据
       lotNumRule: [
@@ -848,6 +859,11 @@ export default {
     this.getData();
   },
   methods: {
+    //待出库金额计算
+    rejAmtNub(row) {
+      row.delvAmt = Number(row.delvCnt) * Number(row.convrat) * Number(row.purcPric)
+        return parseFloat(row.delvAmt.toFixed(4));
+    },
     scopIndex(index) {
       return index + 1;
     },
@@ -1504,7 +1520,7 @@ export default {
     },
     // 复用查询
     getOutboundData() {
-      getMcsOrdDck(this.listQuerym)
+      getSplerMcsDelvOrdPage(this.listQuerym)
         .then((res) => {
           this.mulData = res.data.records;
           this.totalm = res.data.total;
@@ -1528,7 +1544,8 @@ export default {
     },
     // 复用单选
     getTemplateRow(index, row) {
-      this.purcOrdId = row.id;
+      this.purcOrdId = row.purcOrdId;
+      this.delvOrdId = row.delvOrdId;
     },
     // 复用确认
     clickMul() {
@@ -1541,7 +1558,7 @@ export default {
           type: "warning",
         }).then(() => {
           selectDelvOrdCopy({
-            delvOrdId: this.listForm.id,
+            delvOrdId: this.delvOrdId,
             purcOrdId: this.purcOrdId,
           })
             .then((res) => {
@@ -1561,7 +1578,6 @@ export default {
             .catch((err) => {
               // this.$message(res.message)
               this.fyLoad = false;
-              this.purcOrdId = "";
             });
         });
       }

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

@@ -64,7 +64,6 @@ export default {
     let { form, data } = this.$route.query;
     this.multipleSelection = JSON.parse(data);
     this.listForm = JSON.parse(form);
-    console.log(this.listForm, "里面有东西吗");
   },
   mounted() {},
   methods: {
@@ -112,7 +111,7 @@ export default {
   }
   .box-card {
     margin-top: 20px;
-    width: 1000px;
+    width: 1200px;
   }
 }
 </style>

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

@@ -253,6 +253,123 @@
             @pagination="getOutboundDataC"
           />
         </el-tab-pane>
+        <el-tab-pane label="已驳回" name="reject">
+          <el-form :model="listQueryD" ref="queryFormD" :inline="true">
+            <el-form-item label="出库单号" prop="delvOrdId">
+              <el-input
+                v-model="listQueryD.delvOrdId"
+                placeholder="请输入出库单号"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="关联采购单" prop="purcOrdId">
+              <el-input
+                v-model="listQueryD.purcOrdId"
+                placeholder="请输入关联采购单"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="客户名称" prop="branchName">
+              <el-input
+                v-model="listQueryD.branchName"
+                placeholder="请输入客户名称"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="来源部门" prop="deptName">
+              <el-input
+                v-model="listQueryD.deptName"
+                placeholder="请输入来源部门"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="出库时间" prop="docmkDate">
+              <el-date-picker
+                v-model="listQueryD.docmkDate"
+                type="daterange"
+                range-separator="至"
+                :editable="false"
+                value-format="yyyy-MM-dd"
+                start-placeholder="开始时间"
+                end-placeholder="结束时间"
+                style="width: 230px"
+              />
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" @click="getRejectTableData('search')"
+                >查询
+              </el-button>
+              <el-button @click="resetD">重置</el-button>
+            </el-form-item>
+          </el-form>
+          <el-table
+            v-loading="listLoading"
+            element-loading-text="加载中"
+            :data="listD"
+            fit
+            stripe
+            border
+            height="500px"
+          >
+            <template slot="empty">
+              <img src="@/assets/nopage.png" alt />
+              <p>暂无数据</p>
+            </template>
+            <el-table-column fixed type="index" label="序号" width="60" />
+            <el-table-column label="出库单号" prop="delvOrdId" />
+            <el-table-column
+              label="关联采购单"
+              prop="purcOrdId"
+              width="100px"
+            />
+            <el-table-column label="采购品种数" prop="detlCnt" width="100px" />
+            <el-table-column label="采购总数量" prop="qtySum" width="100px" />
+            <el-table-column label="本次出库量" prop="bcckl" width="100px" />
+            <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="purcType" width="100">
+              <template #default="{ row }">
+                <span v-if="row.purcType == '2'">{{ row.oprn }}</span>
+                <span v-if="row.purcType == '1'">普通采购</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">
+              <template #default="{ row }">
+                <span v-if="row.delvOrdStas == 'A'">未受理</span>
+                <span v-if="row.delvOrdStas == 'B'">已受理</span>
+                <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 == 'P'">部分入库</span>
+                <span v-if="row.delvOrdStas == 'E'">订单已结束</span>
+              </template>
+            </el-table-column> -->
+            <el-table-column label="操作" width="100" fixed="right">
+              <template slot-scope="scope">
+                <el-button type="text" @click="handleDetailD(scope.row)"
+                  >编辑</el-button
+                >
+              </template>
+            </el-table-column>
+          </el-table>
+          <!--分页-->
+          <yl-pagination
+            v-show="totalD > 0"
+            :total="totalD"
+            :page.sync="listQueryD.current"
+            :limit.sync="listQueryD.size"
+            @pagination="getRejectTableData"
+          />
+        </el-tab-pane>
       </el-tabs>
     </div>
   </div>
@@ -263,7 +380,8 @@ import ylPagination from "@/components/yl-pagination";
 import {
   getMcsOrdDck,
   getSplerMcsDelvOrdPage,
-  selectSpdList
+  selectSpdList,
+  getRejectData
 } from "@/api/orderManage-sup/index";
 export default {
   components: {
@@ -300,6 +418,16 @@ export default {
         docmkDateEnd: "",
         branchName: ""
       },
+      listQueryD: {
+        current: 1,
+        size: 10,
+        purcOrdId: "",
+        branchName: "",
+        docmkDate: "",
+        delvOrdId: "",
+        docmkDateEnd: "",
+        branchName: ""
+      },
       stasOptions: [
         // {value: 'A', lable: "未受理"},
         { value: "B", lable: "未出库" },
@@ -312,8 +440,10 @@ export default {
       listLoading: false,
       list: [],
       listC: [],
+      listD: [],
       total: 0,
       totalC: 0,
+      totalD: 0,
       routespdId: ""
     };
   },
@@ -344,6 +474,19 @@ export default {
           this.listLoading = false;
         });
     }
+    if (this.$route.query.spdId && this.$route.query.activeName == "reject") {
+      this.activeName = "reject";
+      this.listQueryD.spdId = this.$route.query.spdId;
+      getRejectData(this.listQueryD)
+        .then(res => {
+          this.listD = res.data.records;
+          this.totalD = res.data.total;
+          this.listLoading = false;
+        })
+        .catch(err => {
+          this.listLoading = false;
+        });
+    }
     if (this.$route.query.msgRouteUni && this.$route.query.spdId) {
       this.listQuery.spdId = this.$route.query.spdId;
       this.listQuery.id = this.$route.query.msgRouteUni;
@@ -366,9 +509,13 @@ export default {
     handleClick(tab) {
       if (tab.name == "first") {
         this.getOutboundData();
-      } else {
+      }
+      if (tab.name == "second") {
         this.getOutboundDataC();
       }
+      if (tab.name == "reject") {
+        this.getRejectTableData();
+      }
     },
     // 获取医院列表
     getData(type) {
@@ -456,6 +603,36 @@ export default {
         }
       });
     },
+    handleDetailD(row) {
+      if (this.spdId) {
+        this.routespdId = this.spdId;
+      } else {
+        this.routespdId = this.$route.query.spdId;
+      }
+      this.$router.push({
+        name: "rejectDetail",
+        query: {
+          deptName: row.deptName,
+          deptId: row.deptId,
+          id: row.id,
+          delvOrdId: row.delvOrdId,
+          detlCnt: row.detlCnt,
+          qtySum: row.qtySum,
+          purcAmt: row.purcAmt,
+          docmker: row.docmker,
+          docmkDate: row.docmkDate,
+          stas: row.stas,
+          branchName: row.branchName,
+          spdId: this.routespdId,
+          activeName: this.activeName,
+          oprn: row.oprn,
+          oprtRoom: row.oprtRoom,
+          oprtTime: row.oprtTime,
+          atddr: row.atddr,
+          purcType: row.purcType
+        }
+      });
+    },
     // 已出库
     getOutboundDataC(type) {
       if (type == "search") {
@@ -475,7 +652,30 @@ export default {
           this.listLoading = false;
         });
     },
-    resetC() {
+    //已驳回
+    getRejectTableData(type) {
+      if (type == "search") {
+        this.listQueryD.current = 1;
+      }
+      this.listLoading = true;
+      this.listQueryD.spdId = this.spdId;
+      this.listQueryD.docmkDateStart = this.listQueryD.docmkDate[0];
+      this.listQueryD.docmkDateEnd = this.listQueryD.docmkDate[1];
+      getRejectData(this.listQueryD)
+        .then(res => {
+          this.listD = res.data.records;
+          this.totalD = res.data.total;
+          this.listLoading = false;
+        })
+        .catch(err => {
+          this.listLoading = false;
+        });
+    },
+    resetD() {
+      this.$refs.queryFormD.resetFields();
+      this.getRejectTableData();
+    },
+    resetc() {
       this.$refs.queryFormC.resetFields();
       this.getOutboundDataC();
     },

+ 243 - 139
src/views/page/orderManage-sup/purOrderDelivery/printView.vue

@@ -1,153 +1,157 @@
 <template>
   <div class="wrap-print" id="printData">
-    <div class="time">
-      {{ getTime() }}
-    </div>
-    <div class="print-hed">
-      <div style="width: 50%; text-align: center">送货单</div>
-      <div class="qrCode">
-        <div>
-          <vue-qr
-            ref="qrCode"
-            :text="form.id"
-            :logoSrc="logoSrc"
-            :color-dark="randomColor"
-            :callback="qrCodeCallback"
-            width="100"
-            height="100"
-          ></vue-qr>
-        </div>
-        <div>
-          <vue-barcode
-            :value="form.id"
-            :margin="0.5"
-            :width="1.6"
-            :height="35"
-            :fontSize="12"
-            :textAlign="center"
-            :displayValue="true"
-            :text="form.id"
-          ></vue-barcode>
-        </div>
-      </div>
-    </div>
-    <div class="header-print">
-      <div class="item-print" v-if="form.id">
-        <div class="print-label">采购单号:</div>
-        <div class="print-value">{{ form.id }}</div>
-      </div>
-      <div class="item-print" v-if="form.delvOrdId">
-        <div class="print-label">出库单号:</div>
-        <div class="print-value">{{ form.delvOrdId }}</div>
-      </div>
-      <div class="item-print">
-        <div class="print-label">客户名称:</div>
-        <div class="print-value">{{ form.branchName }}</div>
-      </div>
-      <div class="item-print">
-        <div class="print-label">金额:</div>
-        <div class="print-value">{{ form.purcAmt }}</div>
+    <div v-for="(itm, index) in tableData" :key="index">
+      <div class="time">
+        {{ getTime() }}
       </div>
-      <div class="item-print">
-        <div class="print-label">来源部门:</div>
-        <div class="print-value">{{ form.deptName }}</div>
-      </div>
-      <div class="item-print">
-        <div class="print-label">采购总数:</div>
-        <div class="print-value">{{ form.qtySum }}</div>
+      <div class="print-hed">
+        <div style="width: 50%; text-align: center">送货单</div>
+        <div class="qrCode">
+          <div>
+            <vue-qr
+              ref="qrCode"
+              :text="form.delvOrdId"
+              :logoSrc="logoSrc"
+              :color-dark="randomColor"
+              :callback="qrCodeCallback"
+              width="100"
+              height="100"
+            ></vue-qr>
+          </div>
+          <div>
+            <vue-barcode
+              :value="form.delvOrdId"
+              :margin="0.5"
+              :width="1.6"
+              :height="35"
+              :fontSize="16"
+              :textAlign="center"
+              :displayValue="true"
+              :text="form.delvOrdId"
+            ></vue-barcode>
+          </div>
+        </div>
       </div>
-      <div class="item-print" v-if="form.delvOrdId">
-        <div class="print-label">出库人:</div>
-        <div class="print-value">{{ form.docmker }}</div>
+      <div class="header-print">
+        <div class="item-print" v-if="form.id">
+          <div class="print-label">采购单号:</div>
+          <div class="print-value">{{ form.id }}</div>
+        </div>
+        <div class="item-print" v-if="form.delvOrdId">
+          <div class="print-label">出库单号:</div>
+          <div class="print-value">{{ form.delvOrdId }}</div>
+        </div>
+        <div class="item-print">
+          <div class="print-label">客户名称:</div>
+          <div class="print-value">{{ form.branchName }}</div>
+        </div>
+        <div class="item-print">
+          <div class="print-label">本页金额:</div>
+          <div class="print-value">{{ aceptMount(itm) }}</div>
+        </div>
+        <div class="item-print">
+          <div class="print-label">总金额:</div>
+          <div class="print-value">{{ allMount() }}</div>
+        </div>
+        <div class="item-print">
+          <div class="print-label">来源部门:</div>
+          <div class="print-value">{{ form.deptName }}</div>
+        </div>
+        <!-- <div class="item-print">
+          <div class="print-label">采购总数:</div>
+          <div class="print-value">{{ form.qtySum }}</div>
+        </div> -->
+        <!-- <div class="item-print" v-if="form.delvOrdId">
+          <div class="print-label">出库人:</div>
+          <div class="print-value">{{ form.docmker }}</div>
+        </div> -->
+        <div class="item-print" v-if="form.delvOrdId">
+          <div class="print-label">出库时间:</div>
+          <div class="print-value">{{ form.docmkDate }}</div>
+        </div>
       </div>
-      <div class="item-print" v-if="form.delvOrdId">
-        <div class="print-label">出库时间:</div>
-        <div class="print-value">{{ form.docmkDate }}</div>
+      <table class="printTable" border="1" style="table-layout: auto">
+        <thead>
+          <tr>
+            <th
+              v-for="(item, index) in tableHeader"
+              :key="index"
+              :style="{ minWidth: item.minWidth + 'px' }"
+            >
+              {{ item.label }}
+            </th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr v-for="(item, index) in itm" :key="index">
+            <td style="width:40px">
+              <span>{{ index + 1 }}</span>
+            </td>
+            <td style="width:90px">
+              <span>{{ item.prodName }}</span>
+            </td>
+            <td>
+              <span>{{ item.regcertno }}</span>
+            </td>
+            <td>
+              <span>{{ item.spec }}</span>
+            </td>
+            <td>
+              <span>{{ item.mol }}</span>
+            </td>
+            <td>
+              <span>{{ item.prodEntp }}</span>
+            </td>
+            <td>
+              <span>
+                {{ item.purcUnt }} ({{ item.convrat }}{{ item.prcUnt }}/{{
+                  item.purcUnt
+                }})</span
+              >
+            </td>
+            <td>
+              <span>{{ item.purcCnt }}</span>
+            </td>
+            <td>
+              <span>{{ item.delvCnt }}</span>
+            </td>
+            <td>
+              <span>{{ item.purcPric }}元/{{ item.prcUnt }}</span>
+            </td>
+            <td>
+              <span>{{ item.delvAmt }}</span>
+            </td>
+            <td style="width:70px">
+              <span>{{ item.lotNum }}</span>
+            </td>
+            <td>
+              <span>{{ item.prodExpy }}</span>
+            </td>
+          </tr>
+        </tbody>
+      </table>
+      <div class="autograph">
+        <div class="grap">送货人(签名):</div>
+        <div class="grap">收货人(签名):</div>
       </div>
+      <div class="remarks">备注 :</div>
+      <div style="page-break-after: always"></div>
     </div>
-    <el-table
-      ref="multipleTable"
-      :data="tableData"
-      cell-class-name="cell-class-name"
-      element-loading-text="加载中..."
-      border
-      fit
-    >
-      <template slot="empty">
-        <img src="" alt />
-        <p>暂无数据</p>
-      </template>
-      <el-table-column
-        fixed="left"
-        align="center"
-        type="index"
-        label="序号"
-        width="50"
-      />
-      <el-table-column label="耗材信息" 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="convrat" width="120px">
-        <template #default="{ row }">
-          <span
-            >{{ row.purcUnt }} ({{ row.convrat }}{{ row.prcUnt }}/{{
-              row.purcUnt
-            }})</span
-          >
-        </template>
-      </el-table-column>
-      <el-table-column label="批号" prop="lotNum" width="120"></el-table-column>
-      <el-table-column label="生产日期" prop="manuDate" width="100" />
-      <el-table-column label="有效期至" width="100" prop="prodExpy" />
-      <el-table-column label="需求数量" prop="purcCnt" />
-      <el-table-column
-        label="已出库数量"
-        prop="delvCntYck"
-        width="90px"
-        v-if="!form.delvOrdId"
-      />
-      <el-table-column label="剩余出库量" prop="toDelvCnt" width="90px">
-        <template #default="{ row }">
-          <span v-if="form.quit == 'outbound'">
-            {{ Number(row.toDelvCnt) - Number(row.delvCnt) }}
-          </span>
-          <span v-else>
-            {{ row.toDelvCnt }}
-          </span>
-        </template>
-      </el-table-column>
-      <el-table-column label="本次出库数量" prop="delvCnt" width="120" />
-    </el-table>
-    <div class="autograph">
-      <div class="grap">送货人(签名):</div>
-      <div class="grap">收货人(签名):</div>
-    </div>
-    <div class="remarks">备注 :</div>
-    <div style="page-break-after: always"></div>
   </div>
 </template>
 <script>
 import VueQr from "vue-qr";
 import vueBarcode from "vue-barcode";
 import mcsInfo from "@/views/components/mcs-info.vue";
+import printTable from "@/views/components/printTable.vue";
 import moment from "moment";
 export default {
   name: "printView",
   components: {
     VueQr,
     vueBarcode,
-    mcsInfo
+    mcsInfo,
+    printTable
   },
   props: {
     orderData: {
@@ -161,6 +165,62 @@ export default {
   },
   data() {
     return {
+      tableHeader: [
+        {
+          label: "序号",
+          value: "tol",
+          minWidth: "40"
+        },
+        {
+          label: "耗材名称",
+          value: "prodName"
+        },
+        {
+          label: "注册证号",
+          value: "regcertno"
+        },
+        {
+          label: "规格",
+          value: "spec"
+        },
+        {
+          label: "型号",
+          value: "mol",
+          minWidth: "70"
+        },
+        {
+          label: "生产企业",
+          value: "prodEntp"
+        },
+        {
+          label: "包装",
+          value: "apply"
+        },
+        {
+          label: "需求数量",
+          value: "purcCnt"
+        },
+        {
+          label: "出库数量",
+          value: "delvCnt"
+        },
+        {
+          label: "单价",
+          value: "purcPric"
+        },
+        {
+          label: "金额",
+          value: "delvAmt"
+        },
+        {
+          label: "批号",
+          value: "lotNum"
+        },
+        {
+          label: "效期",
+          value: "prodExpy"
+        }
+      ],
       form: {},
       tableData: [],
       text: "111111哈哈哈哈哈哈",
@@ -173,10 +233,39 @@ export default {
   mounted() {
     let { form, data } = this.$route.query;
     let listForm = JSON.parse(form);
-    console.log(listForm.quit, "哈哈哈");
-    this.tableData = this.orderData;
+    // let newHeader = [...this.tableHeader];
+    // if (!form.delvOrdId) {
+    //   newHeader.pop();
+    //   this.tableHeader = newHeader;
+    // }
+    let newData = this.paginData(this.orderData, 5);
+    this.tableData = newData;
   },
   methods: {
+    //验收金额
+    aceptMount(item) {
+      let acNub = 0;
+      item.forEach(item => {
+        acNub += item.delvAmt;
+      });
+      return parseFloat(acNub).toFixed(4);
+    },
+    allMount() {
+      let acNub = 0;
+      this.orderData.forEach(item => {
+        acNub += item.delvAmt;
+      });
+      return parseFloat(acNub).toFixed(4);
+    },
+    //分页数据打印
+    paginData(arr, num) {
+      let newArr = [];
+      for (let i = 0; i < arr.length; ) {
+        //注意:这里与for循环不太一样的是,没有i++
+        newArr.push(arr.slice(i, (i += num)));
+      }
+      return newArr;
+    },
     //获取当前时间
     getTime() {
       return moment().format("YYYY-MM-DD HH:mm:ss");
@@ -193,6 +282,21 @@ export default {
 .wrap-print {
   padding: 5px;
   width: 100%;
+  .printTable {
+    width: 100%;
+    border-collapse: collapse;
+    border-spacing: 0px;
+    tr {
+      td {
+        padding: 5px;
+        border: 1px solid black;
+        text-align: center;
+      }
+      th {
+        padding: 3px;
+      }
+    }
+  }
   .title-print {
     width: 100%;
     height: 30px;
@@ -205,7 +309,7 @@ export default {
   }
   .print-hed {
     width: 100%;
-    height: 100px;
+    height: 70px;
     font-size: 30px;
     font-weight: bold;
     display: flex;
@@ -222,7 +326,7 @@ export default {
   }
   .header-print {
     width: 100%;
-    height: 100px;
+    height: 65px;
     padding: 2px 0px;
     display: flex;
     flex-wrap: wrap;
@@ -239,8 +343,8 @@ export default {
   }
   .autograph {
     width: 100%;
-    height: 30px;
-    margin-top: 30px;
+    height: 15px;
+    margin-top: 10px;
     display: flex;
     align-items: center;
     justify-content: space-around;
@@ -250,8 +354,8 @@ export default {
   }
   .remarks {
     width: 100%;
-    height: 30px;
-    margin-top: 30px;
+    height: 15px;
+    margin-top: 10px;
     display: flex;
     align-items: center;
     font-weight: bold;

File diff suppressed because it is too large
+ 1473 - 0
src/views/page/orderManage-sup/purOrderDelivery/rejectDetail.vue


+ 153 - 73
src/views/page/procurement-settlement/reconciliation/supplierDetail.vue

@@ -3,7 +3,7 @@
   <div>
     <el-card>
     <div style="text-align:right">
-      <el-button type="primary" v-print="printObj">打印</el-button>
+      <el-button type="primary" @click="printDataView()">打印</el-button>
       <el-button type="primary" v-if="isShow" @click="handleConfirm" :loading="sureLoading"
         >确 认</el-button
       >
@@ -57,7 +57,7 @@
     </div>
     <div class="common-card">
       <h3>明细信息</h3>
-      <div id="printMe">
+      <div>
         <el-table
           ref="table"
           v-loading="listLoading"
@@ -103,14 +103,26 @@
           </el-table-column>
           <el-table-column label="批次" prop="lotNum" align="center">
           </el-table-column>
-          <!-- <el-table-column label="生产日期" prop="retnCnt" align="center"/>
-          <el-table-column label="有效期" prop="prodEntp" align="center"/> -->
+          <el-table-column label="生产日期" prop="manuDate" align="center"/>
+          <el-table-column label="有效期" prop="prodExpy" align="center"/>
           <el-table-column label="厂商" prop="prodEntp" align="center"/>
           </el-table-column>
           </el-table-column>
           <p class="price-css">共计{{total}}条</p>
-          
         </el-table>
+        <el-dialog
+      title="预览"
+      :visible.sync="comModal"
+      width="70%"
+      :before-close="comhandleClose"
+      destroy-on-close
+      append-to-body
+    >
+    <div id="printMe"> <printTable :tableHeader="tableHeader" :tableData="list" /></div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" v-print="printObj">打印</el-button>
+      </span>
+    </el-dialog>
       </div>
       <div class="foot-button">
       <el-button type="info" @click="handleBack">返 回</el-button>
@@ -124,25 +136,88 @@
 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 {selectSetlStmtDetlD,updateSetlStmtDStas} from "@/api/procurement-settlement/index"
+import printTable from "@/views/components/printTable.vue";
+import {
+  selectRetnDetl,
+  acpRetnOrd,
+} from "@/api/productreturnmanage-sup/returnList";
+import {
+  selectSetlStmtDetlD,
+  updateSetlStmtDStas,
+} from "@/api/procurement-settlement/index";
 
 export default {
   components: {
     ylStep,
     ylPagination,
     mcsInfo,
+    printTable,
   },
   data() {
     return {
-      total:"",
+      tableHeader: [
+      {
+          label: "序号",
+          value: "serial",
+        },
+        {
+          label: "耗材名称",
+          value: "prodName",
+        },
+        {
+          label: "规格",
+          value: "spec",
+        },
+        {
+          label: "型号",
+          value: "mol",
+        },
+        {
+          label: "数量",
+          value: "cnt",
+        },
+        {
+          label: "单位",
+          value: "unt",
+        },
+        {
+          label: "总计",
+          value: "amt",
+        },
+        {
+          label: "类别",
+          value: "mcsType",
+        },
+        {
+          label: "是否集采",
+          value: "isFas",
+        },
+        {
+          label: "批次",
+          value: "lotNum",
+        },
+        {
+          label: "生产日期",
+          value: "manuDate",
+        },
+        {
+          label: "有效期至",
+          value: "prodExpy",
+        },
+        {
+          label: "厂商",
+          value: "prodEntp",
+        },
+      ],
+      total: "",
+      comModal: false,
       listForm: {
-        stmtNo:"",
-        branchName:"",
-        isFas:"",
-        amt:"",
-        stmtPrd:"",
-        stas:"",
+        stmtNo: "",
+        branchName: "",
+        isFas: "",
+        amt: "",
+        stmtPrd: "",
+        stas: "",
       },
       stasOptions: [
         { value: "A", lable: "待确认" },
@@ -156,9 +231,9 @@ export default {
       list: [],
       isShow: false,
       sureLoading: false,
-      printLoading: false, 
-      tableLabel:"",
-// 打印
+      printLoading: false,
+      tableLabel: "",
+      // 打印
       printObj: {
         id: "printMe",
         popTitle: "", // 打印配置页上方标题
@@ -167,16 +242,15 @@ export default {
         previewTitle: "", // 打印预览的标题(开启预览模式后出现),
         previewPrintBtnLabel: "", // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)
         zIndex: "", // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)
-        beforeEntryIframe () {
-            const cells = document.querySelectorAll('.cell')
-            for (let k7 = 0; k7 < cells.length; k7++) {
-              const cell = cells[k7]
-              // 在这里添加样式只是修改了打印的样式,不会污染原页面的样式
-              // 为了让表格中的内容自动换行,不需要的话可以删掉
-              cell.style.whiteSpace = 'pre-wrap' 
-  
-            }
-          },
+        beforeEntryIframe() {
+          const cells = document.querySelectorAll(".cell");
+          for (let k7 = 0; k7 < cells.length; k7++) {
+            const cell = cells[k7];
+            // 在这里添加样式只是修改了打印的样式,不会污染原页面的样式
+            // 为了让表格中的内容自动换行,不需要的话可以删掉
+            cell.style.whiteSpace = "pre-wrap";
+          }
+        },
         // beforeEntryIframe(copy) {
         //   console.log(copy,"copy")
         //   // copy是ele对象的深度拷贝,修改copy对象不会更改页面中table表格的样式,只会更改打印预览生成的表格的样式
@@ -214,7 +288,7 @@ export default {
     } else {
       this.isShow = false;
     }
-    this.tableLabel = this.$route.query.branchName +"对账明细"
+    this.tableLabel = this.$route.query.branchName + "对账明细";
     this.listForm.stmtNo = this.$route.query.stmtNo;
     this.listForm.branchName = this.$route.query.branchName;
     this.listForm.amt = this.$route.query.amt;
@@ -234,43 +308,48 @@ export default {
     this.getData();
   },
   methods: {
+    printDataView() {
+      this.comModal =  true;
+    },
+    comhandleClose() {
+      this.comModal = false;
+    },
     //设置表格第一行的颜色
     // getRowClass({ row, column, rowIndex, columnIndex }) {
     //     return "background:#e2e1e1;text-align:center";
     // },
     arraySpanMethod() {
-    //table合计行合并单元格
-    setTimeout(() => {
-      if (this.$refs.table.$el) {
-        let current = this.$refs.table.$el
-          .querySelector('.el-table__footer-wrapper')
-          .querySelector('.el-table__footer')
-        let cell = current.rows[0].cells
-        cell[1].colSpan = '13'
-      }
-    }, 50)
+      //table合计行合并单元格
+      setTimeout(() => {
+        if (this.$refs.table.$el) {
+          let current = this.$refs.table.$el
+            .querySelector(".el-table__footer-wrapper")
+            .querySelector(".el-table__footer");
+          let cell = current.rows[0].cells;
+          cell[1].colSpan = "13";
+        }
+      }, 50);
     },
     getSummaries(param) {
-        //table自定义合计行方法summary-method
-   const { columns, data } = param
-    const sums = []
-    columns.forEach((column, index) => {
-      if (index === 0) {
-        sums[index] = '合计';
-        return
-      }
-      if(index===7){
-        const values = data.map(item => Number(item[column.property]))
-        sums[1] = values.reduce((prev, curr) => {
-          return prev + curr
-        }, 0)
-        sums[1]=sums[1].toFixed(2)+"元"
-      }
-
-    })
-    return sums
+      //table自定义合计行方法summary-method
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = "合计";
+          return;
+        }
+        if (index === 7) {
+          const values = data.map((item) => Number(item[column.property]));
+          sums[1] = values.reduce((prev, curr) => {
+            return prev + curr;
+          }, 0);
+          sums[1] = sums[1].toFixed(2) + "元";
+        }
+      });
+      return sums;
     },
-      
+
     getData() {
       this.listLoading = true;
       selectSetlStmtDetlD({ stmtNo: this.$route.query.stmtNo })
@@ -303,7 +382,10 @@ export default {
               this.$message.success("操作成功");
               this.$router.push({
                 name: "Reconciliation",
-                query: { spdId: this.$route.query.spdId,activeNameTab:this.$route.query.activeNameTab },
+                query: {
+                  spdId: this.$route.query.spdId,
+                  activeNameTab: this.$route.query.activeNameTab,
+                },
               });
             } else {
               this.sureLoading = false;
@@ -330,25 +412,23 @@ export default {
 
 <style lang="scss" scoped>
 #printMe {
- ::v-deep .print-table {
- border: 1px solid #999;
- td,
- th {
- border-right: 1px solid #999;
-  border-bottom: 1px solid #999;
- }
- }
- ::v-deep .price-css{
+  ::v-deep .print-table {
+    border: 1px solid #999;
+    td,
+    th {
+      border-right: 1px solid #999;
+      border-bottom: 1px solid #999;
+    }
+  }
+  ::v-deep .price-css {
     margin-left: 94%;
- }
+  }
 }
-.el-card{
-   ::v-deep .el-card__body{
-    padding:10px 0px 10px 0px;
+.el-card {
+  ::v-deep .el-card__body {
+    padding: 10px 0px 10px 0px;
     border: none;
     margin-right: 20px;
   }
 }
-
-
 </style>

+ 17 - 2
src/views/page/productreturnmanage-sup/returnOrderAccept/returnDetail.vue

@@ -72,6 +72,7 @@
           fit
           stripe
           border
+          height="500"
           @selection-change="handleSelectionChange"
         >
           <template slot="empty">
@@ -118,6 +119,14 @@
         <!-- <p class="price-css">合计数量:{{}} <span></span>合计金额: {{}}</p> -->
       </el-form>
     </div>
+    <!--分页-->
+    <yl-pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="listQuery.current"
+      :limit.sync="listQuery.size"
+      @pagination="getData"
+    />
     <!-- <div class="common-card">
       <h3>退货原因</h3>
       <el-form
@@ -161,6 +170,11 @@ export default {
   },
   data() {
     return {
+      listQuery: {
+        current: 1,
+        size: 10
+      },
+      total: 0,
       listForm: {
         id: "",
         detlCnt: "",
@@ -210,9 +224,10 @@ export default {
   methods: {
     getData() {
       this.listLoading = true;
-      selectRetnDetl({ id: this.$route.query.id })
+      selectRetnDetl({ id: this.$route.query.id, ...this.listQuery })
         .then(res => {
-          this.list = res.data;
+          this.list = res.data.records;
+          this.total = res.data.total;
           this.listLoading = false;
         })
         .catch(err => {

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

@@ -72,6 +72,7 @@
           fit
           stripe
           border
+          height="500"
           @selection-change="handleSelectionChange"
         >
           <template slot="empty">
@@ -118,6 +119,13 @@
         <!-- <p class="price-css">合计数量:{{}} <span></span>合计金额: {{}}</p> -->
       </el-form>
     </div>
+    <yl-pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="listQuery.current"
+      :limit.sync="listQuery.size"
+      @pagination="getData"
+    />
     <!-- <div class="common-card">
       <h3>退货原因</h3>
       <el-form
@@ -158,6 +166,10 @@ export default {
   },
   data() {
     return {
+      listQuery: {
+        current: 1,
+        size: 10
+      },
       listForm: {
         id: "",
         detlCnt: "",
@@ -202,9 +214,10 @@ export default {
   methods: {
     getData() {
       this.listLoading = true;
-      selectRetnDetl({ id: this.$route.query.id })
+      selectRetnDetl({ id: this.$route.query.id, ...this.listQuery })
         .then(res => {
-          this.list = res.data;
+          this.list = res.data.records;
+          this.total = res.data.total;
           this.listLoading = false;
         })
         .catch(err => {

+ 33 - 25
src/views/page/system/approveConfig/index.vue

@@ -127,6 +127,12 @@
             <el-radio label="1">停用</el-radio>
           </el-radio-group>
         </el-form-item>
+        <el-form-item label="发起位置">
+          <el-radio-group v-model="temp.abinitio">
+            <el-radio label="0">顺延审批</el-radio>
+            <el-radio label="1">从头开始</el-radio>
+          </el-radio-group>
+        </el-form-item>
         <el-form-item label="审批级别" :required="true">
           <div style="margin-bottom: 10px">
             <el-button
@@ -174,7 +180,7 @@
                 ></el-input>
               </template>
             </el-table-column>
-            <el-table-column label="用户">
+            <!-- <el-table-column label="用户">
               <template slot-scope="scope">
                 <el-form-item label-width="0">
                   <el-input
@@ -190,7 +196,7 @@
                   >
                 </el-form-item>
               </template>
-            </el-table-column>
+            </el-table-column> -->
 
             <el-table-column label="角色">
               <template slot-scope="scope">
@@ -291,7 +297,7 @@ export default {
         current: 1,
         size: 10,
         bizCode: "",
-        route: "",
+        route: ""
       },
       dialogFormVisible: false, //是否对话框
       dialogStatus: "",
@@ -414,12 +420,12 @@ export default {
       }
       this.listLoading = true;
       getApprove(this.listQuery)
-        .then((response) => {
+        .then(response => {
           this.list = response.data.records;
           this.total = response.data.total;
           this.listLoading = false;
         })
-        .catch((err) => {
+        .catch(err => {
           this.listLoading = false;
         });
     },
@@ -434,7 +440,7 @@ export default {
         return false;
       }
       if (this.lvList.length > 0) {
-        this.lvList.forEach((item) => {
+        this.lvList.forEach(item => {
           if (!item.loginId && !item.roleId) {
             this.$message({
               message: "请选择用户或者角色",
@@ -444,7 +450,7 @@ export default {
           }
         });
       }
-      this.$refs["dataForm"].validate((valid) => {
+      this.$refs["dataForm"].validate(valid => {
         if (valid) {
           this.$confirm("确认提交", "提示", {
             confirmButtonText: "确定",
@@ -452,21 +458,21 @@ export default {
             type: "warning"
           }).then(() => {
             this.temp.levels = this.lvList;
-            if(this.temp.bizName == '资质审批'){
-              this.temp.route = 'qualificationAppr'
-            }else if(this.temp.bizName == '药品目录审批'){
-              this.temp.route = 'drugCataAppr'
-            }else if(this.temp.bizName == '药品采购计划审批'){
-              this.temp.route = 'drugPurchasePlan'
-            }else if(this.temp.bizName == '药品退货审批'){
-              this.temp.route = 'drugReturn'
-            }else if(this.temp.bizName == '调价申请审批'){
-              this.temp.route = 'priceUpApply'
-            }else if(this.temp.bizName == '申领审批'){
-              this.temp.route = 'applyAppr'
+            if (this.temp.bizName == "资质审批") {
+              this.temp.route = "qualificationAppr";
+            } else if (this.temp.bizName == "药品目录审批") {
+              this.temp.route = "drugCataAppr";
+            } else if (this.temp.bizName == "药品采购计划审批") {
+              this.temp.route = "drugPurchasePlan";
+            } else if (this.temp.bizName == "药品退货审批") {
+              this.temp.route = "drugReturn";
+            } else if (this.temp.bizName == "调价申请审批") {
+              this.temp.route = "priceUpApply";
+            } else if (this.temp.bizName == "申领审批") {
+              this.temp.route = "applyAppr";
             }
-            console.log(this.temp,'temp')
-            setApprove(this.temp).then((response) => {
+            console.log(this.temp, "temp");
+            setApprove(this.temp).then(response => {
               this.$message({
                 message: "操作成功",
                 type: "success"
@@ -484,9 +490,9 @@ export default {
       this.lvList = [];
       //修改对话框
       if (type === "update") {
-        getApproveLv({ prcsCode: row.prcsCode }).then((response) => {
+        getApproveLv({ prcsCode: row.prcsCode }).then(response => {
           if (response.data.length > 0) {
-            response.data.forEach((item) => {
+            response.data.forEach(item => {
               this.lvList.push({
                 lv: item.lv,
                 loginId: item.loginId,
@@ -504,7 +510,8 @@ export default {
           dscr: row.dscr,
           levels: this.lvList,
           enabFlag: row.enabFlag,
-          type: "updt"
+          type: "updt",
+          abinitio: row.abinitio
         };
       } else {
         this.temp = {
@@ -515,7 +522,8 @@ export default {
           dscr: "",
           enabFlag: "0",
           levels: [],
-          type: "add"
+          type: "add",
+          abinitio: ""
         };
       }
       this.dialogStatus = type;

+ 2 - 0
vue.config.js

@@ -40,6 +40,8 @@ module.exports = {
       warnings: false,
       errors: true
     },
+    //192.168.0.246:8602
+    //127.0.0.1:8603
     proxy: {
       // change xxx-api/login => mock/login
       // detail: https://cli.vuejs.org/config/#devserver-proxy