Преглед на файлове

Merge branch 'feature/Feature-supply' into develop

莫绍宝 преди 3 години
родител
ревизия
f2a2fef684
променени са 3 файла, в които са добавени 304 реда и са изтрити 77 реда
  1. 110 75
      src/views/supply/sales/components/sales_detail.vue
  2. 187 0
      src/views/supply/sales/components/sales_examine.vue
  3. 7 2
      src/views/supply/sales/sales_list.vue

+ 110 - 75
src/views/supply/sales/components/sales_detail.vue

@@ -2,66 +2,128 @@
   <div class="detail-container">
     <el-page-header @back="goBack" content="详情"></el-page-header>
 
-    <div class="main-title">
-      <div class="title">出库单信息</div>
-      <el-button size="small" type="primary" icon="el-icon-printer">打印单据</el-button>
-    </div>
-    <el-divider></el-divider>
-    <div class="diy-table-1">
-      <el-row :gutter="0">
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">出库单号</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">单据日期</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">单据状态</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">仓库</div>
-          <div class="value">万豪仓</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">发货单号</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-        <el-col :xs="12" :sm="8" :lg="8" class="item">
-          <div class="label">经销商</div>
-          <div class="value">广州格匠机电有限公司</div>
-        </el-col>
-        <el-col :xs="24" :sm="24" :lg="24" class="item">
-          <div class="label">备注</div>
-          <div class="value">2022123233435342</div>
-        </el-col>
-      </el-row>
-    </div>
+    <div id="printMe">
+      <div class="main-title">
+        <div class="title">出库单信息</div>
+        <el-button size="small" type="primary" icon="el-icon-printer" v-print="printObj">打印单据</el-button>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :span="8" class="item">
+            <div class="label">出库单号</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据日期</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">单据状态</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">仓库</div>
+            <div class="value">万豪仓</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">发货单号</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :span="8" class="item">
+            <div class="label">经销商</div>
+            <div class="value">广州格匠机电有限公司</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">备注</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+        </el-row>
+      </div>
 
-    <div class="main-title">
-      <div class="title">货品信息</div>
-    </div>
-    <el-divider></el-divider>
-    <div class="diy-table-2">
-      
+      <div class="main-title">
+        <div class="title">货品信息</div>
+      </div>
+      <div class="diy-table-2">
+        <div class="head">
+          <el-row :gutter="20">
+            <el-col :span="2">序号</el-col>
+            <el-col :span="4">产品编号</el-col>
+            <el-col :span="8">产品名称</el-col>
+            <el-col :span="2">规格型号</el-col>
+            <el-col :span="2">内机编码</el-col>
+            <el-col :span="2">外机编码</el-col>
+            <el-col :span="2">单位</el-col>
+            <el-col :span="2">数量</el-col>
+          </el-row>
+        </div>
+        <div class="body">
+          <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
+            <el-col :span="2">{{ index + 1 }}</el-col>
+            <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
+            <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
+            <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
+            <el-col :span="2">{{ item.price || 0 }}</el-col>
+            <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
+            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
+            <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
+          </el-row>
+        </div>
+        <div class="foot">
+          <el-row :gutter="20">
+            <el-col :span="24">合计</el-col>
+          </el-row>
+        </div>
+      </div>
+
+      <div class="main-title">
+        <div class="title">审批记录</div>
+      </div>
+      <div class="diy-table-1">
+        <el-row :gutter="0">
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批人</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批结果</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :xs="12" :sm="8" :lg="8" class="item">
+            <div class="label">审批时间</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+          <el-col :xs="24" :sm="24" :lg="24" class="item">
+            <div class="label">审批说明</div>
+            <div class="value">2022123233435342</div>
+          </el-col>
+        </el-row>
+      </div>
     </div>
+    
 
 
   </div>
 </template>
 
 <script>
+import print from 'vue-print-nb'
 import { getList } from "@/api/supply/sales";
 
 export default {
   name: 'SalesDetail',
   componentName: 'SalesDetail',
   props: ['listItem'],
+  directives: {
+    print
+  },
   data() {
     return {
-
+      printObj: {
+        id: 'printMe'
+      },
+      goodsList: [{
+        goodsId: 1,
+      }]
     }
   },
 
@@ -87,41 +149,14 @@ export default {
     display: flex;
     justify-content: space-between;
     align-items: center;
-    margin-top: 40px;
+    margin-top: 30px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
     .title {
       font-size: 16px;
       font-weight: 600;
       padding-left: 10px;
     }
   }
-  .diy-table-1 {
-    border: 1px solid #EBEEF5;
-    border-right: none;
-    border-bottom: none;
-    .item {
-      display: flex;
-      border-bottom: 1px solid #EBEEF5;
-      .label {
-        width: 120px;
-        height: 40px;
-        display: flex;
-        align-items: center;
-        padding: 0 10px;
-        box-sizing: border-box;
-        background: #F5F7FA;
-        border-right: 1px solid #EBEEF5;
-        font-size: 14px;
-      }
-      .value {
-        flex: 1;
-        height: 40px;
-        display: flex;
-        align-items: center;
-        padding: 0 10px;
-        box-sizing: border-box;
-        border-right: 1px solid #EBEEF5;
-        font-size: 14px;
-      }
-    }
-  }
 </style>

+ 187 - 0
src/views/supply/sales/components/sales_examine.vue

@@ -0,0 +1,187 @@
+<template>
+  <div class="detail-container">
+    <el-page-header @back="goBack" content="审批"></el-page-header>
+
+    <div class="main-title">
+      <div class="title">出库单信息</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="8" class="item">
+          <div class="label">出库单号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据日期</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">单据状态</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">仓库</div>
+          <div class="value">万豪仓</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">发货单号</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="8" class="item">
+          <div class="label">经销商</div>
+          <div class="value">广州格匠机电有限公司</div>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="24" class="item">
+          <div class="label">备注</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+      </el-row>
+    </div>
+
+    <div class="main-title">
+      <div class="title">货品信息</div>
+    </div>
+    <div class="diy-table-2">
+      <div class="head">
+        <el-row :gutter="20">
+          <el-col :span="2">序号</el-col>
+          <el-col :span="4">产品编号</el-col>
+          <el-col :span="8">产品名称</el-col>
+          <el-col :span="2">规格型号</el-col>
+          <el-col :span="2">内机编码</el-col>
+          <el-col :span="2">外机编码</el-col>
+          <el-col :span="2">单位</el-col>
+          <el-col :span="2">数量</el-col>
+        </el-row>
+      </div>
+      <div class="body">
+        <el-row v-for="(item, index) in goodsList" :key="item.goodsId" :gutter="20">
+          <el-col :span="2">{{ index + 1 }}</el-col>
+          <el-col :span="4">{{ item.goodsId || 0 }}</el-col>
+          <el-col :span="8">{{ item.goodsName || 0 }}</el-col>
+          <el-col :span="2">{{ item.salesUnit || 0 }}</el-col>
+          <el-col :span="2">{{ item.price || 0 }}</el-col>
+          <el-col :span="2">{{ item.saleQty || 0 }}</el-col>
+          <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
+          <el-col :span="2">{{ item.saleValue || 0 }}</el-col>
+        </el-row>
+      </div>
+      <div class="foot">
+        <el-row :gutter="20">
+          <el-col :span="24">合计</el-col>
+        </el-row>
+      </div>
+    </div>
+
+    <div class="main-title">
+      <div class="title">审批记录</div>
+    </div>
+    <div class="diy-table-1">
+      <el-row :gutter="0">
+        <el-col :span="12" class="item">
+          <div class="label">审批人</div>
+          <div class="value">2022123233435342</div>
+        </el-col>
+        <el-col :span="12" class="item">
+          <div class="label">审批结果</div>
+          <div class="value">
+            <el-radio-group v-model="examineForm.status">
+              <el-radio :label="true">通过</el-radio>
+              <el-radio :label="false">驳回</el-radio>
+            </el-radio-group>
+          </div>
+        </el-col>
+        <el-col :span="24" class="item">
+          <div class="label">审批说明</div>
+          <div class="value">
+            <el-input v-model="examineForm.remark" placeholder="请输入内容"></el-input>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    
+    <div class="page-footer">
+      <div class="footer" :class="classObj">
+        <el-button type="primary" @click="clickSubmitForm" :loading="formLoading">{{ formLoading ? '提交中 ...' : '提 交' }}</el-button>
+        <el-popconfirm
+          title="确定关闭吗?"
+          @onConfirm="goBack"
+          style="margin-left: 10px;"
+        >
+          <el-button slot="reference">关 闭</el-button>
+        </el-popconfirm>
+      </div>
+    </div>
+
+  </div>
+</template>
+
+<script>
+import { getList } from "@/api/supply/sales";
+
+export default {
+  name: 'SalesDetail',
+  componentName: 'SalesDetail',
+  props: ['listItem'],
+  data() {
+    return {
+      goodsList: [{
+        goodsId: 1,
+      }],
+      formLoading: false,
+      examineForm: {
+        status: true,
+        remark: '',
+      }
+    }
+  },
+
+  computed: {
+    sidebar() {
+      return this.$store.state.app.sidebar
+    },
+    classObj() {
+      return {
+        hideSidebar: !this.sidebar.opened,
+        openSidebar: this.sidebar.opened
+      }
+    },
+  },
+
+  created() {
+
+  },
+
+  methods: {
+    // 返回列表
+    goBack() {
+      this.$emit('backListFormExamine');
+    },
+
+    clickSubmitForm() {
+
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+  .detail-container {
+    width: 100%;
+    height: 100%;
+  }
+  .main-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-top: 30px;
+    height: 60px;
+    border-bottom: 1px solid #DCDFE6;
+    margin-bottom: 20px;
+    .title {
+      font-size: 16px;
+      font-weight: 600;
+      padding-left: 10px;
+    }
+  }
+</style>

+ 7 - 2
src/views/supply/sales/sales_list.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <div v-show="!isShowDetail">
+    <div v-show="!isShowDetail && !isShowExamine">
       <!-- 筛选条件 -->
       <div class="screen-container">
         <el-form ref="screenForm" :model="screenForm" label-width="90px" size="small" label-position="left">
@@ -119,6 +119,7 @@
     </div>
     
     <SalesDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
+    <SalesExamine :listItem="queryItem" v-if="isShowExamine" @backListFormExamine="backList" />
 
   </div>
 </template>
@@ -128,10 +129,12 @@ import { COMMON_SELECT } from '@/utils/select_data'
 import { getList } from "@/api/supply/sales";
 import { downloadFiles } from '@/utils/util'
 import SalesDetail from "@/views/supply/sales/components/sales_detail";
+import SalesExamine from "@/views/supply/sales/components/sales_examine";
 
 export default {
   components: {
     SalesDetail,
+    SalesExamine,
   },
   data() {
     return {
@@ -163,6 +166,9 @@ export default {
     isShowDetail() {
       return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'detail';
     },
+    isShowExamine() {
+      return this.queryItem.hasOwnProperty('adminUserId') && this.jumpType == 'examine';
+    },
   },
 
   created() {
@@ -229,7 +235,6 @@ export default {
     toDetail(type, item) {
       this.jumpType = type;
       this.queryItem = item;
-      console.log(this.queryItem);
     },
 
     backList() {