lilei před 2 roky
rodič
revize
9548a3ecb6

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1677482112501
+  "version": 1677488979909
 }

+ 9 - 0
src/components/index.less

@@ -361,6 +361,14 @@
         color: #808695;
         margin-left: 10px;
       }
+      .billno{
+        margin: 0;
+        font-size: 16px;
+        font-weight: 600;
+        display: inline-block;
+        vertical-align: middle;
+        color: #333;
+      }
     }
     .choosedList-cont{
       .baseInfo-bar{
@@ -382,6 +390,7 @@
         align-items: center;
         padding: 8px;
         border-top: 1px solid #eee;
+        background-color: #fff;
         > div{
           &:first-child{
             padding: 0 15px;

+ 5 - 5
src/config/router.config.js

@@ -170,7 +170,7 @@ export const asyncRouterMap = [
                 name: 'salesNewList',
                 component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/list.vue'),
                 meta: {
-                  title: '销售单列表',
+                  title: '销售单列表(新版)',
                   icon: 'monitor',
                   hidden: true,
                   permission: 'M_salesQueryList'
@@ -181,7 +181,7 @@ export const asyncRouterMap = [
                 name: 'salesNewDetail',
                 component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/detail.vue'),
                 meta: {
-                  title: '销售单详情',
+                  title: '销售单详情(新版)',
                   icon: 'monitor',
                   hidden: true,
                   permission: 'B_salesDetail'
@@ -192,7 +192,7 @@ export const asyncRouterMap = [
                 name: 'salesNewAdd',
                 component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
                 meta: {
-                  title: '新增销售单',
+                  title: '新增销售单(新版)',
                   icon: 'monitor',
                   hidden: true,
                   permission: 'B_salesNews'
@@ -201,9 +201,9 @@ export const asyncRouterMap = [
               {
                 path: 'edit/:id/:sn/:priceType',
                 name: 'salesNewEdit',
-                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQuery/edit.vue'),
+                component: () => import(/* webpackChunkName: "salesManagement" */ '@/views/salesManagement/salesQueryNew/edit.vue'),
                 meta: {
-                  title: '编辑销售单',
+                  title: '编辑销售单(新版)',
                   icon: 'monitor',
                   hidden: true,
                   permission: 'B_salesEdit'

+ 2 - 8
src/views/purchasingManagement/purchaseOrderNew/detail.vue

@@ -1,7 +1,7 @@
 <template>
-  <div class="purchaseOrderDetail-wrap">
+  <div class="jg-page-wrap purchaseOrderDetail-wrap">
     <a-spin :spinning="spinning" tip="Loading...">
-      <a-page-header :ghost="false" :backIcon="false" class="purchaseOrderDetail-cont" :style="{ padding: !outBizSn ? '16px 24px' : '0px 24px' }">
+      <a-page-header :ghost="false" :backIcon="false" class="header-bar" :style="{ padding: !outBizSn ? '16px 24px' : '0px 24px' }">
       <!-- 自定义的二级文字标题 -->
       <template slot="subTitle">
         <span class="billno">单号:{{ detail&&detail.purchaseBillNo }}</span>
@@ -255,11 +255,5 @@ export default {
         }
       }
     }
-    .alert-message{
-      margin-bottom: 10px;
-      strong{
-        color: #f12929;
-      }
-    }
   }
 </style>

+ 0 - 8
src/views/purchasingManagement/purchaseOrderNew/edit.vue

@@ -562,14 +562,6 @@ export default {
     .ant-descriptions-title{
       margin-bottom: 10px;
     }
-    .billno{
-      margin: 0;
-      font-size: 16px;
-      font-weight: 600;
-      display: inline-block;
-      vertical-align: middle;
-      color: #333;
-    }
     .choosedList-cont{
       position: relative;
       background-color: #fff;

+ 56 - 30
src/views/salesManagement/salesQueryNew/edit.vue

@@ -1,25 +1,52 @@
 <template>
-  <div v-if="showPage" class="salesEdit-wrap">
+  <div v-if="showPage" class="jg-page-wrap salesEdit-wrap">
     <a-spin :spinning="spinning" tip="Loading...">
-      <a-page-header :ghost="false" :backIcon="false" @back="handleBack" >
+      <a-page-header :ghost="false" :backIcon="false" class="header-bar">
         <!-- 自定义的二级文字标题 -->
         <template slot="subTitle">
-          <a id="salesEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
-          <a style="margin: 0 15px;color: #666;font-size: 18px;font-weight: 600;">单号:{{ detailData&&detailData.salesBillNo || '--' }}</a>
-          <span style="margin: 0 10px;color: #666;">客户名称:{{ detailData&&detailData.buyerName || '--' }}</span>
+          <a class="billno">单号:{{ detailData&&detailData.salesBillNo || '--' }}</a>
           <a-button
             id="salesEdit-edit-btn"
+            type="link"
+            style="margin-left:10px" 
             v-if="detailData&&detailData.salesTragetType != 'DEALER'"
             size="small"
             @click="handleEdit"
-            style="margin-left:10px"
-            key="0">编辑</a-button>
+            key="0"><a-icon type="edit" /> 编辑</a-button>
+            <a-button id="purchaseNewOrderEdit-back-btn" type="link" @click="handleBack" class="button-default"> <a-icon type="rollback" /> 返回列表</a-button>
         </template>
         <!-- 操作区,位于 title 行的行尾 -->
         <template slot="extra" v-if="$hasPermissions('B_salesPrint')">
-          <a-checkbox v-model="printAllName" :checked="printAllName" id="salesQuery-printAllName">打印完整产品名称</a-checkbox>
-          <a-checkbox v-model="printOrgCode" :checked="printOrgCode" id="salesQuery-printOrgCode">打印原厂编码</a-checkbox>
-          <Print :disabled="dataSource.length==0" @handlePrint="handlePrint"></Print>
+          <div style="margin-top: 5px;">
+            <PrintPanel :disabled="dataSource.length==0" @handlePrint="handlePrint">
+              <div style="padding:10px;" slot="extendCons">
+                <a-checkbox v-model="printAllName" :checked="printAllName" id="salesQuery-printAllName">打印完整产品名称</a-checkbox>
+                <a-checkbox v-model="printOrgCode" :checked="printOrgCode" id="salesQuery-printOrgCode">打印原厂编码</a-checkbox>
+              </div>
+            </PrintPanel>
+            <a-divider type="vertical" v-if="detailData&&detailData.totalCategory" />
+            <a-button type="link" v-if="detailData&&detailData.totalCategory" @click="showSearch=!showSearch" :class="showSearch?'button-error':'button-default'"> <a-icon type="search" /> 筛选</a-button>
+            <a-divider type="vertical" v-if="detailData&&detailData.totalCategory" />
+            <a-button v-if="detailData&&detailData.totalCategory" id="salesNewOrderEdit-add-btn" type="link" @click="openChooseProduct=true"><a-icon type="plus" />添加产品</a-button>
+            <a-divider type="vertical" />
+            <a-dropdown>
+              <a-menu slot="overlay" @click="handleActions">
+                <a-menu-item key="4">
+                  <a-icon type="import" />导入产品
+                </a-menu-item>
+                <a-menu-item key="3" v-if="shelfInfo&&shelfInfo.state=='ENABLE'">
+                  <a-icon type="hdd"/>货架产品
+                </a-menu-item>
+                <a-menu-item key="2">
+                  <a-icon type="close-square"/>清空列表
+                </a-menu-item>
+                <a-menu-item key="1">
+                  <a-icon type="rest" style="font-size: 14px;" />删除急件
+                </a-menu-item>
+              </a-menu>
+              <a-button type="link" class="button-default"> <a-icon type="unordered-list" />  更多</a-button>
+            </a-dropdown> 
+          </div>
         </template>
       </a-page-header>
       <a-card size="small" :bordered="false" class="salesEdit-cont">
@@ -64,7 +91,7 @@
           </div>
         </a-alert>
         <!-- 搜索条件 -->
-        <div class="table-page-search-wrapper">
+        <div class="table-page-search-wrapper" v-if="showSearch">
           <a-row :gutter="15">
             <a-col :md="24" :lg="12">
               <a-form-model :model="productForm" ref="ruleForm" layout="inline" @keyup.enter.native="$refs.table.refresh(true)" >
@@ -100,23 +127,6 @@
                   class="button-primary"
                   @click="enableFundAccount && tbForm.length == 3 ? handleSettleAcountPay(null,0) : handleSubmit({})"
                   id="productInfoList-handleSubmit">提交</a-button>
-                <a-button
-                  type="default"
-                  @click="openGuideModal=true"
-                  style="margin-right:5px;"
-                  id="salesEdit-import">导入产品</a-button>
-                <a-button
-                  type="default"
-                  v-if="shelfInfo&&shelfInfo.state=='ENABLE'"
-                  @click="showShelfModal=true"
-                  style="margin-right:5px;"
-                  id="salesEdit-shelf">货架产品</a-button>
-                <a-button
-                  type="primary"
-                  ghost
-                  @click="delSalerOrder"
-                  :loading="delLoading"
-                  id="salesEdit-del-all">清空列表</a-button>
               </div>
             </a-col>
           </a-row>
@@ -240,17 +250,19 @@ import { salesDetail, salesWriteSubmit, salesWriteDiscount, salesDetailPrint, sa
 import { salesDetailList, salesDetailInsert, salesDetailInsertBatch, salesDetailUpdatePrice, salesDetailUpdateQty, salesDetailDel, salesDetailDelAll, salesDetailInsertImport } from '@/api/salesDetail'
 import outInDetialModal from '@/views/common/outInDetialModal.vue'
 import chooseShelfProduct from './chooseShelfProduct.vue'
-import Print from '@/views/common/print.vue'
+import PrintPanel from '@/views/common/printPanel.vue'
 import { hdPrint } from '@/libs/JGPrint'
 export default {
   name: 'SalesEdit',
-  components: { STable, VSelect, queryPart, chooseCustomModal, Print, importGuideModal, settleModal, outInDetialModal, chooseShelfProduct },
+  components: { STable, VSelect, queryPart, chooseCustomModal, PrintPanel, importGuideModal, settleModal, outInDetialModal, chooseShelfProduct },
   mixins: [commonMixin],
   data () {
     return {
       showOutInModal: false, // 出入库明细
       showPage: false,
       spinning: false,
+      showSearch: false,
+      openChooseProduct:false,
       orderId: null, // 销售单id
       salesBillSn: null, // 销售单sn
       disabled: false, //  查询、重置按钮是否可操作
@@ -338,6 +350,20 @@ export default {
   },
   methods: {
     ...mapActions(['GetSettleAccountState']),
+    handleActions(e){
+      if(e.key == 4){
+        this.openGuideModal=true
+      }
+      if(e.key == 3){
+        this.showShelfModal=true
+      }
+      if(e.key == 2){
+        this.delSalerOrder()
+      }
+      if(e.key == 1){
+        // this.delJijian()
+      }
+    },
     // 打印预览/快捷打印
     handlePrint (type, printerType) {
       const _this = this

+ 55 - 50
src/views/salesManagement/salesQueryNew/list.vue

@@ -4,34 +4,34 @@
       <!-- 搜索条件 -->
       <div ref="tableSearch">
         <a-form layout="inline" @keyup.enter.native="searchForm">
-          <a-row :gutter="15">
-            <a-col :md="6" :sm="24">
+          <a-row type="flex" justify="start" :gutter="15">
+            <a-col :span="6">
               <a-form-item label="创建时间">
                 <rangeDate :allowClear="isByCustQuery" :hasDisabledAreaTime="false" ref="rangeDate" :value="time" @change="dateChange" />
               </a-form-item>
             </a-col>
-            <a-col :md="6" :sm="24">
+            <a-col :span="6">
               <a-form-item label="客户名称" :label-col="{ span:7 }" :wrapper-col="{ span:17}" :required="isByCustQuery">
                 <custList ref="custList" @change="custChange"></custList>
               </a-form-item>
             </a-col>
-            <a-col :md="6" :sm="24">
+            <a-col :span="6">
               <a-form-item label="销售单号">
                 <a-input id="salesManagementList-salesBillNo" v-model.trim="queryParam.salesBillNo" allowClear placeholder="请输入销售单号"/>
               </a-form-item>
             </a-col>
-            <a-col :md="6" :sm="24">
-                <a-form-item label="审核时间">
-                  <rangeDate ref="auditRangeDate" v-model="auditTime" @change="auditDateChange" />
-                </a-form-item>
-              </a-col>
+            <a-col :span="6">
+              <a-form-item label="审核时间">
+                <rangeDate ref="auditRangeDate" v-model="auditTime" @change="auditDateChange" />
+              </a-form-item>
+            </a-col>
             <template v-if="advanced">
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="出库时间">
                   <rangeDate ref="outWareRangeDate" v-model="outWareTime" @change="outWareDateChange" />
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="单据来源">
                   <v-select
                     v-model="queryParam.sourceType"
@@ -42,7 +42,7 @@
                     allowClear></v-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="收款方式">
                   <v-select
                     code="SETTLE_STYLE"
@@ -53,7 +53,7 @@
                   ></v-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="业务状态">
                   <v-select
                     v-model="queryParam.billStatus"
@@ -64,7 +64,7 @@
                     allowClear></v-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="财务状态">
                   <v-select
                     v-model="queryParam.financialStatus"
@@ -75,7 +75,7 @@
                     allowClear></v-select>
                 </a-form-item>
               </a-col>
-              <a-col :md="6" :sm="24">
+              <a-col :span="6">
                 <a-form-item label="采购单号">
                   <a-input id="salesManagementList-purchaseBillNo" v-model.trim="queryParam.purchaseBillNo" allowClear placeholder="请输入采购单号"/>
                 </a-form-item>
@@ -86,21 +86,32 @@
                 </a-form-model-item>
               </a-col>
             </template>
-            <a-col :span="24" style="display:flex;justify-content: center;align-items: center;">
-              <a-button type="primary" :disabled="disabled" @click="searchForm">查询</a-button>
-                <a-button style="margin-left: 5px" :disabled="disabled" @click="resetSearchForm()">重置</a-button>
-                <a-button
-                  type="primary"
-                  v-if="$hasPermissions('B_salesExport')"
-                  class="button-warning"
-                  @click="handleExport"
-                  :disabled="disabled"
-                  :loading="exportLoading"
-                  id="salesManagementList-export">导出</a-button>
-                <a @click="advanced=!advanced" style="margin-left: 5px">
-                  {{ advanced ? '收起' : '展开' }}
-                  <a-icon :type="advanced ? 'up' : 'down'"/>
-                </a>
+            <a-col :span="24" style="display:flex;align-items: center;">
+                <div style="text-align:left;width:50%;">
+                  <a-checkbox v-model="isByCustQuery" id="sales-byCustQuery">按客户查询</a-checkbox>
+                  <a-popover placement="right">
+                    <template slot="content">
+                      使用此查询时,时间可清空,必须选择一个客户
+                    </template>
+                    <a-icon type="question-circle" />
+                  </a-popover>
+                </div>
+                <div style="text-align:left;margin-left: -120px;width:50%;">
+                  <a-button type="primary" :disabled="disabled" @click="searchForm">查询</a-button>
+                  <a-button style="margin-left: 5px" :disabled="disabled" @click="resetSearchForm()">重置</a-button>
+                  <a-button
+                    type="primary"
+                    v-if="$hasPermissions('B_salesExport')"
+                    class="button-warning"
+                    @click="handleExport"
+                    :disabled="disabled"
+                    :loading="exportLoading"
+                    id="salesManagementList-export">导出</a-button>
+                  <a @click="advanced=!advanced" style="margin-left: 5px">
+                    {{ advanced ? '收起' : '展开' }}
+                    <a-icon :type="advanced ? 'up' : 'down'"/>
+                  </a>
+                </div>
             </a-col>
           </a-row>
         </a-form>
@@ -110,26 +121,19 @@
   <a-card size="small" :bordered="false">
     <a-spin :spinning="spinning" tip="Loading...">
       <!-- 操作按钮 -->
-      <div class="table-operator">
-        <a-button type="primary" class="button-error" v-if="$hasPermissions('B_salesNews')" @click="handleAdd(0)">新增(零售)</a-button>
-        <a-button type="primary" class="button-warning" v-if="$hasPermissions('B_salesNews')" @click="handleAdd(1)">新增(铺货)</a-button>
-        <a-checkbox style="margin-left:10px;" v-model="isByCustQuery" id="sales-byCustQuery">按客户查询</a-checkbox>
-        <a-popover placement="right">
-          <template slot="content">
-            使用此查询时,时间可清空,必须选择一个客户
-          </template>
-          <a-icon type="question-circle" />
-        </a-popover>
-
-      </div>
-      <a-alert type="info" style="margin-bottom:10px">
-        <div slot="message">
-          总售价:<strong>{{ totalData&&(totalData.totalAmount || totalData.totalAmount==0) ? toThousands(totalData.totalAmount) : '--' }}</strong>元;
-          总单数:<strong>{{ totalData&&(totalData.totalRecord || totalData.totalRecord==0) ? totalData.totalRecord : '--' }}</strong>;
-          总款数:<strong>{{ totalData&&(totalData.totalCategory || totalData.totalCategory==0) ? totalData.totalCategory : '--' }}</strong>;
-          总数量:<strong>{{ totalData&&(totalData.totalQty || totalData.totalQty==0) ? totalData.totalQty : '--' }}</strong>;
+      <div class="table-operator" style="display:flex;align-items:center;justify-content: space-between;">
+        <div class="alert-message">
+          销售单数合计:<strong>{{ totalData&&(totalData.totalRecord || totalData.totalRecord==0) ? totalData.totalRecord : '--' }}</strong>;
+          销售款数合计:<strong>{{ totalData&&(totalData.totalCategory || totalData.totalCategory==0) ? totalData.totalCategory : '--' }}</strong>;
+          销售数量合计:<strong>{{ totalData&&(totalData.totalQty || totalData.totalQty==0) ? totalData.totalQty : '--' }}</strong>;
+          销售金额合计:<strong>{{ totalData&&(totalData.totalAmount || totalData.totalAmount==0) ? toThousands(totalData.totalAmount) : '--' }}</strong>;
+          </div>
+          <div class="action-buttons">
+            <a-button type="primary" class="button-error" v-if="$hasPermissions('B_salesNews')" @click="handleAdd(0)">新增(零售)</a-button>
+             <a-button type="primary" class="button-error" v-if="$hasPermissions('B_salesNews')" @click="handleAdd(1)">新增(铺货)</a-button>
+          </div>
         </div>
-      </a-alert>
+     
       <!-- 列表 -->
       <s-table
         class="sTable fixPagination"
@@ -296,6 +300,7 @@ export default {
         { title: '总款数', dataIndex: 'totalCategory', align: 'center', width: '5%', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '总数量', dataIndex: 'totalQty', align: 'center', width: '5%', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '总售价', dataIndex: 'totalAmount', align: 'right', width: '5%', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+        { title: '折扣金额', dataIndex: 'discountAmount', align: 'right', width: '5%', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         { title: '折后总售价', dataIndex: 'discountedAmount', align: 'right', width: '5%', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
         { title: '收款方式', dataIndex: 'settleStyleSnDictValue', width: '5%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '创建时间', dataIndex: 'createDate', width: '8%', align: 'center', customRender: function (text) { return text || '--' } },
@@ -534,7 +539,7 @@ export default {
     },
     setTableH () {
       const tableSearchH = this.$refs.tableSearch.offsetHeight
-      this.tableHeight = window.innerHeight - tableSearchH - 265
+      this.tableHeight = window.innerHeight - tableSearchH - 260
     },
     pageInit () {
       const _this = this