Browse Source

开发票

dongke 1 year ago
parent
commit
f98f5bc13d

+ 20 - 0
api/pages/oa/receiptFit.js

@@ -0,0 +1,20 @@
+/*******************************************************************************
+ * Copyright(c) 2024 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.功能描述:oa  发票设置API接口
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		王英杰		  	     2024-1-19       			1.00		       	新建
+ *******************************************************************************/
+module.exports = {
+    receiptFitService: {
+        // 前缀
+        prefix: 'oauth-server/receiptFit/', 
+    },
+
+    routeUrl: {
+        receiptFit: {  
+        }
+    }
+};

+ 22 - 0
api/pages/oa/receiptSet.js

@@ -0,0 +1,22 @@
+/*******************************************************************************
+ * Copyright(c) 2024 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.功能描述:oa  发票设置API接口
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		王英杰		  	     2024-1-19       			1.00		       	新建
+ *******************************************************************************/
+module.exports = {
+    receiptSetService: {
+        // 前缀
+        prefix: 'oauth-server/receiptSet/',
+        getdata:'list_by',
+    },
+
+    routeUrl: {
+        receiptSet: { 
+            edit: { key: 'edit', url: '/package-basic-data/pages/invoice-header/add/add', formMode: 'edit', idKey: 'setId' },
+        }
+    }
+};

+ 1 - 1
api/pages/oa/trade.js

@@ -15,7 +15,7 @@ module.exports = {
 
     routeUrl: {
         trade: {
-
+            invoiceType: { key: 'invoiceType', url: '/package-base-select/pages/select-data/select-data',type:'invoiceType',dictCode:'基础资料-账户'  },
         }
     }
 };

+ 4 - 1
app.js

@@ -88,10 +88,13 @@ const couponSend = require('./api/pages/sharesign/couponSend.js');
 const couponUse = require('./api/pages/sharesign/couponUse.js');
 const sign = require('./api/pages/sharesign/sign.js'); 
 const trade = require('./api/pages/oa/trade.js'); 
+const receiptSet = require('./api/pages/oa/receiptSet.js'); 
+const receiptFit = require('./api/pages/oa/receiptFit.js'); 
+
 
 // api服务路由文件
 var apiList = [common, oauth,setting, company, wechatPay,user, staff, staffRight, staffPurview, settingValue, customer, role, roleFun, org, roleSensitive, goodsBrand, goodsCategory, goodsSeries, unit, supplier, warehouse, saleChannel, goodsSku, basicData,customerMst,purchase,account,payment,
-  receiptPayment,inbound,inboundOther,inboundProcessing,inboundPurchaseReturn,outbound,outboundOther,outboundProcessing,outboundSaleReturn,inventory,moneyAccount,intoReturn,intoReturnItem,cusFollow,order,transfer,saleOutBound,inboundReturn,cusReceiptPayment,menuFrequency,userMenuFrequency,comMenu,saleOutBoundReturn,activity,check,freeze,otherReceivable,otherPayable,inventoryAdjustment,report,saleReport,printLayout,exportPage,inboundItem,accReceiptPayment,supReceiptPayment,followPlan,share,coupon,integral,integralShare,integralItem,integralTactic,sign,couponReceive,couponSend,couponUse,trade]
+  receiptPayment,inbound,inboundOther,inboundProcessing,inboundPurchaseReturn,outbound,outboundOther,outboundProcessing,outboundSaleReturn,inventory,moneyAccount,intoReturn,intoReturnItem,cusFollow,order,transfer,saleOutBound,inboundReturn,cusReceiptPayment,menuFrequency,userMenuFrequency,comMenu,saleOutBoundReturn,activity,check,freeze,otherReceivable,otherPayable,inventoryAdjustment,report,saleReport,printLayout,exportPage,inboundItem,accReceiptPayment,supReceiptPayment,followPlan,share,coupon,integral,integralShare,integralItem,integralTactic,sign,couponReceive,couponSend,couponUse,trade,receiptSet,receiptFit]
 
 const util = require('./utils/util.js')
 const baseMethod = require('./api/pages/baseMethod.js')

+ 2 - 1
app.json

@@ -74,7 +74,8 @@
                 "pages/historical-purchase-history/historical-purchase-history",
                 "pages/draw-bill/draw-bill",
                 "pages/draw-bill/add/add",
-                "pages/invoice-header/invoice-header"
+                "pages/invoice-header/invoice-header",
+                "pages/invoice-header/add/add"
             ]
         },
         {

+ 1 - 2
components/dkbase/dk-form/dk-form.js

@@ -309,8 +309,7 @@ Component({
      * @author : 周兴
      * @date   : 2024/2/20 11:46
      */
-    validData() {
-      console.log('validData1');
+    validData() { 
       let flag = true;
       let cardList = this.data.cardList;
       if (!cardList || cardList.length == 0) {

+ 12 - 11
components/dkbase/dk-list/dk-list.wxml

@@ -2,21 +2,21 @@
 
 <view wx:for="{{list}}" data-item="{{item}}" wx:key="index" wx:for-index='fIndex' class="{{simpleFlag?'main-simple-class':'main-class' }}">
   <!-- 默认无法停用 -->
-  <van-swipe-cell right-width="{{ 65 }}" disabled="{{swipeDisabled || (defaultFlag &&  item[defaultFlagKey])}}" data-index="{{fIndex}}" data-item="{{item}}"   async-close  bind:close="onCloseSwipe">
-    <view class="main-foot" style="position: relative;">  
+  <van-swipe-cell right-width="{{ 65 }}" disabled="{{swipeDisabled || (defaultFlag &&  item[defaultFlagKey])}}" data-index="{{fIndex}}" data-item="{{item}}" async-close bind:close="onCloseSwipe">
+    <view class="main-foot" style="position: relative;">
       <view class="table-content" catchtap="toDetail" data-item="{{item}}" data-index="{{fIndex}}">
         <!-- 标题行 -->
         <view class="{{simpleFlag?'table-title-simple-row':'table-title-row'}}">
           <view class="table-content-row-title-two" style="display: flex;width: 100%;justify-content: space-between;">
             <view style="display: flex;align-items: center;">
               <!-- 标题图标 -->
-              <view catchtap="toTitle" wx:if="{{titleImageFlag}}" data-item="{{item}}"data-index="{{fIndex}}" style="width: 39rpx;height: 39rpx;background-color: #95A8CB;border-radius:50%;">
+              <view catchtap="toTitle" wx:if="{{titleImageFlag}}" data-item="{{item}}" data-index="{{fIndex}}" style="width: 39rpx;height: 39rpx;background-color: #95A8CB;border-radius:50%;">
                 <view style="width: 39rpx;height: 39rpx;text-align: center;">
                   <van-image round width="100%" height="100%" fit="fill" src="{{imageUrl + titleImage}}" />
                 </view>
               </view>
               <!-- 选择框-->
-              <van-checkbox wx:if="{{chooseFlag}}" checked-color="#E4002B" value="{{ item.checked }}" data-index="{{fIndex}}" catchtap="chooseData"icon-size="16px"></van-checkbox>
+              <van-checkbox wx:if="{{chooseFlag}}" checked-color="#E4002B" value="{{ item.checked }}" data-index="{{fIndex}}" catchtap="chooseData" icon-size="16px"></van-checkbox>
               <!-- 标题 -->
               <view class="title-class" style="width: {{(statusFlag &&  item[status] || switchFlag || flgPoint)?'100%':'100%'}}">
                 <dk-text catchtap="toTitle" data-item="{{item}}" data-index="{{fIndex}}" textDecoration="underline" fontSize="15px" value="{{item[title]}}"></dk-text>
@@ -42,7 +42,7 @@
               </view>
 
               <!-- defaultFlagKey -->
-              <view wx:if="{{defaultFlag &&  item[defaultFlagKey]}}" class="corner-view" style="width: 100rpx; border-radius: 10rpx;">
+              <view wx:if="{{defaultFlag &&  item[defaultFlagKey]}}" class="corner-view" style="width: 100rpx; border-radius: 10rpx;margin-right: 1vw;">
                 <view class="corner-view-text">{{'默认'}}
                 </view>
               </view>
@@ -58,8 +58,9 @@
                 </view>
               </view>
               <!-- 启用/停用标识-->
-              <view wx:if="{{switchFlag}}" style="text-align: right;">
-                <view wx:if="{{flgValidOnFlag && !item['flgValid']}}" class="status-detail-class" style="color:red;width: 66rpx;border: 1px solid #EA4444 ;border-radius: 11rpx;">{{item['flgValid'] ? '' : $t['disable']}}
+              <view wx:if="{{switchFlag}}" style="text-align: right; display: flex; justify-content: flex-end; align-items: center;">
+                <view wx:if="{{flgValidOnFlag && !item['flgValid']}}" class="status-detail-class" style="display: flex; justify-content: center; align-items: center; color: red; width: 66rpx; height: 66rpx; border: 1px solid #EA4444; border-radius: 11rpx;">
+                  {{item['flgValid'] ? '' : $t['disable']}}
                 </view>
               </view>
               <!--按钮-->
@@ -134,8 +135,8 @@
                 <dk-cell wx:if="{{col.left.type == 'price'}}" left="0rpx" height="50rpx" contentRight="{{false}}" contentFontSize="17" contentColor="#FF7B1A" contentFontWeight="bold" content="{{item[col.left.name]?item[col.left.name]:0}}"></dk-cell>
                 <view wx:if="{{col.left.type != 'title' && col.left.type != 'price'}}" style="display: flex; color:{{col.left.type == 'qty'?'#95A8CB':'002340'}}">
                   <view wx:if="{{col.left.type == 'qty'}}">x</view>
-                  
-                  {{ item[col.left.isLeftShowKey] == true ? '' :   (item[col.left.name]?(col.left.title?col.left.title:'') + item[col.left.name]:'')}}
+
+                  {{ item[col.left.isLeftShowKey] == true ? '' : (item[col.left.name]?(col.left.title?col.left.title:'') + item[col.left.name]:'')}}
                   <!-- {{item[col.left.name]?(col.left.title?col.left.title:'') + item[col.left.name]:''}} -->
                 </view>
               </view>
@@ -165,7 +166,7 @@
                 <dk-cell wx:if="{{col.left.type == 'price'}}" left="0rpx" height="50rpx" contentRight="{{false}}" contentFontSize="17" contentColor="#FF7B1A" contentFontWeight="bold" content="{{item[col.left.name]?item[col.left.name]:0}}"></dk-cell>
                 <view wx:if="{{col.left.type != 'title' && col.left.type != 'price'}}" style="display: flex; color:{{col.left.type == 'qty'?'#95A8CB':'002340'}}">
                   <view wx:if="{{col.left.type == 'qty'}}">x</view>
-                  {{ item[col.left.isLeftShowKey] == true ? '' :   (item[col.left.name]?(col.left.title?col.left.title:'') + item[col.left.name]:'')}}
+                  {{ item[col.left.isLeftShowKey] == true ? '' : (item[col.left.name]?(col.left.title?col.left.title:'') + item[col.left.name]:'')}}
                 </view>
               </view>
               <!--右侧-->
@@ -198,7 +199,7 @@
       </view>
     </view>
     <!-- 侧拉  catchtap="onCloseSwipe" -->
-    <view style="font-size: 14px;" data-index="{{fIndex}}" data-item="{{item}}" slot="right" >{{swipeDeleteFlag?$t['delete']:(item['flgValid'] ? $t['disable'] : $t['enable']) }}</view>
+    <view style="font-size: 14px;" data-index="{{fIndex}}" data-item="{{item}}" slot="right">{{swipeDeleteFlag?$t['delete']:(item['flgValid'] ? $t['disable'] : $t['enable']) }}</view>
   </van-swipe-cell>
 </view>
 

+ 8 - 1
i18n/zh-CN.js

@@ -49,6 +49,7 @@ const button = {
   tipPop: '用户区分商品色号、非标号使用',
   updateSpecialized: '升级专业版',
   reNew:'续费',
+  setDefaultHeader:'设置默认抬头', 
 }
 
 // 资金
@@ -259,6 +260,12 @@ const home = {
   buyUpgrade:'升级更便宜',
   buyNow:'购买',
   paidInAmount:'实付金额',
+  companyTaxNumber:'公司税号',
+  registrationPhoneNumber:'注册电话',
+  companyRegisteredAddress:'注册地址',
+  bankOfDeposit:'开户银行',
+  bankAccount:'银行账号',
+  Email:'电子邮箱', 
 }
 
 //  基础数据
@@ -701,7 +708,7 @@ const pur = {
   createTime: '创建日期',
   refundSave:  "退款并保存",
   paySave:  "收款并保存",
-  headUpType:'抬头类型',
+  headType:'抬头类型',
   buyerName:'购方名称',
   BuyerTaxNumber:'购方税号',
   invoiceType:'发票类型',

+ 305 - 191
package-base-select/pages/select-data/select-data.js

@@ -37,7 +37,7 @@ Page({
     // 是否多选
     chooseFlag: false,
     // 供应商类别
-    supTypeList:null,
+    supTypeList: null,
     // 提示信息
     placeholder: [],
     // tab页签
@@ -88,10 +88,13 @@ Page({
         },
         success: function (res) {
           // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-          res.eventChannel.emit('params', { 
-            item:{defaultSupplier: _this.data.item.defaultSupplier},
-            formType: _this.data.chooseRoute.type, 
-            backFlag: true })
+          res.eventChannel.emit('params', {
+            item: {
+              defaultSupplier: _this.data.item.defaultSupplier
+            },
+            formType: _this.data.chooseRoute.type,
+            backFlag: true
+          })
         }
       })
     } else if (this.data.popContent && this.data.popContent.length > 0) {
@@ -230,7 +233,7 @@ Page({
           name: item.orgName
         }
         break;
-      // 员工
+        // 员工
       case Constants.chooseType.staff:
         data = {
           id: item.staffId,
@@ -240,14 +243,14 @@ Page({
           staffPhone: item.staffPhone,
         }
         break;
-      // 角色
+        // 角色
       case Constants.chooseType.role:
         data = {
           id: item.roleId,
           name: item.roleName,
         }
         break;
-      //渠道
+        //渠道
       case Constants.chooseType.saleChannel:
         data = {
           id: item.channelId,
@@ -255,7 +258,14 @@ Page({
           code: item.channelCode
         }
         break;
-      //资金账户
+           //发票抬头
+      case Constants.chooseType.invoiceType:
+        data = {
+          id: item.cpId,
+          name: item.cpName, 
+        }
+        break;
+        //资金账户
       case Constants.chooseType.moneyAccount:
         data = {
           id: item.macId,
@@ -263,7 +273,7 @@ Page({
           code: item.macCode
         }
         break;
-      //客户来源
+        //客户来源
       case Constants.chooseType.cusFrom:
         data = {
           id: item.dataId,
@@ -271,7 +281,7 @@ Page({
           code: item.dataCode
         }
         break;
-      // 供应商
+        // 供应商
       case Constants.chooseType.supplier:
       case Constants.chooseType.outSupplier:
         data = {
@@ -280,7 +290,7 @@ Page({
           item: item
         }
         break;
-      // 对象类型
+        // 对象类型
       case Constants.chooseType.objectType:
         data = {
           id: item.objId,
@@ -289,7 +299,7 @@ Page({
         }
         break;
 
-      // 仓库
+        // 仓库
       case Constants.chooseType.warehouse:
         data = {
           id: item.whId,
@@ -303,21 +313,21 @@ Page({
           item: item
         }
         break;
-      // 品牌
+        // 品牌
       case Constants.chooseType.brand:
         data = {
           id: item.brandId,
           name: item.brandName
         }
         break;
-      // 系列 刘尧 2024.05.29
+        // 系列 刘尧 2024.05.29
       case Constants.chooseType.series:
         data = {
           id: item.seriesId,
           name: item.seriesName
         }
         break;
-      // 计量单位 刘尧 2024.05.29
+        // 计量单位 刘尧 2024.05.29
       case Constants.chooseType.unit:
         data = {
           id: item.unitId,
@@ -325,14 +335,14 @@ Page({
           decimalPlaces: item.decimalPlaces
         }
         break;
-      // 系统数据
+        // 系统数据
       case Constants.chooseType.kindData:
         data = {
           id: item.kindCode,
           name: item.kindName
         }
         break;
-      // 数据字典
+        // 数据字典
       case Constants.chooseType.dictionary:
         data = {
           id: item.dataId,
@@ -342,7 +352,7 @@ Page({
           flgDefault: item.flgDefault,
         }
         break;
-      // 系统数据
+        // 系统数据
       case Constants.chooseType.kindType:
         data = {
           id: item.id,
@@ -388,7 +398,7 @@ Page({
       params.supType = "";
       let active = this.data.active
       // params.supType = Constants.kindCode.supplierPur;
-      params.supTypeList =  this.data.supTypeList;
+      params.supTypeList = this.data.supTypeList;
 
       if (active == 1) { //采购供应商
         params.supType = Constants.kindCode.supplierPur;
@@ -618,11 +628,11 @@ Page({
           contentList: [{
             name: 'roleCode',
             title: '编码'
-          },],
+          }, ],
           placeholder: ['roleName']
         })
         break;
-      // 部门
+        // 部门
       case Constants.chooseType.org:
         title = "部门"
         this.setData({
@@ -639,7 +649,7 @@ Page({
           placeholder: ['orgName']
         })
         break;
-      // 员工
+        // 员工
       case Constants.chooseType.staff:
         title = "员工"
         this.setData({
@@ -649,19 +659,19 @@ Page({
           valueKey: 'staffId',
           title: 'staffName',
           contentList: [{
-            name: 'staffCode',
-            title: '员工工号'
-          },
-          {
-            name: 'orgName',
-            title: '部门'
-          },
+              name: 'staffCode',
+              title: '员工工号'
+            },
+            {
+              name: 'orgName',
+              title: '部门'
+            },
           ],
           placeholder: ['staffName']
         })
         break;
 
-      //客户来源
+        //客户来源
       case Constants.chooseType.cusFrom:
         title = "客户来源"
         this.setData({
@@ -670,19 +680,19 @@ Page({
           valueKey: 'dataId',
           title: 'dataValue',
           contentList: [{
-            name: 'dataCode',
-            title: '来源编码'
-          },
-          {
-            name: 'dataValue',
-            title: '来源名称'
-          },
+              name: 'dataCode',
+              title: '来源编码'
+            },
+            {
+              name: 'dataValue',
+              title: '来源名称'
+            },
           ],
           placeholder: ['sourceName']
         })
         break;
 
-      // 资金账户
+        // 资金账户
       case Constants.chooseType.moneyAccount:
         title = "资金账户"
         this.setData({
@@ -692,20 +702,37 @@ Page({
           valueKey: 'macId',
           title: 'macName',
           contentList: [{
-            name: 'macCode',
-            title: '账户编码'
-          },
-          {
-            name: 'macName',
-            title: '账户名称'
-          },
+              name: 'macCode',
+              title: '账户编码'
+            },
+            {
+              name: 'macName',
+              title: '账户名称'
+            },
 
           ],
           placeholder: ['moneyAccount']
         })
         break;
+        // 资金账户
+      case Constants.chooseType.invoiceType:
+        title = "发票抬头"
+        this.setData({
+          addUrl: '/package-basic-data/pages/invoice-header/add/add', 
+          routeObjName: 'receiptSet',
+          pageFlag: false,
+          method: 'getdata',
+          valueKey: 'cpId',
+          title: 'cpName',
+          contentList: [{
+            name: 'taxNo',
+            title: mixins.$t('companyTaxNumber')
+          }, ],
+          placeholder: ['receiptSet']
+        })
+        break;
 
-      //销售渠道
+        //销售渠道
       case Constants.chooseType.saleChannel:
         title = "销售渠道"
         this.setData({
@@ -717,7 +744,7 @@ Page({
           placeholder: ['channelName']
         })
         break;
-      // 供应商
+        // 供应商
       case Constants.chooseType.supplier:
       case Constants.chooseType.outSupplier:
         title = "供应商"
@@ -729,41 +756,40 @@ Page({
           valueKey: 'supId',
           labelKey: 'supName',
           chooseFlag: route.chooseFlag,
-          supTypeList:route.supTypeList,
+          supTypeList: route.supTypeList,
           placeholder: ['supplier']
         })
-        if(this.data.item.defaultSupplier){
+        if (this.data.item.defaultSupplier) {
           this.setData({
-            contentList: [
-            {
-              name: 'returnAddress',
-              title: '供应商地址'
-            },
-            {
-              name: 'payableResidue',
-              title: '供应商欠款'
-            },
+            contentList: [{
+                name: 'returnAddress',
+                title: '供应商地址'
+              },
+              {
+                name: 'payableResidue',
+                title: '供应商欠款'
+              },
             ],
           })
-        }else {
+        } else {
           this.setData({
             contentList: [{
-              name: 'supTypeName',
-              title: '供应商类别'
-            },
-            {
-              name: 'returnAddress',
-              title: '供应商地址'
-            },
-            //bug 7524 跟采购订单保持一致 
-            // { 
-            //   name: 'balance',
-            //   title: '余额'
-            // },  
-            {
-              name: 'payableResidue',
-              title: '供应商欠款'
-            },
+                name: 'supTypeName',
+                title: '供应商类别'
+              },
+              {
+                name: 'returnAddress',
+                title: '供应商地址'
+              },
+              //bug 7524 跟采购订单保持一致 
+              // { 
+              //   name: 'balance',
+              //   title: '余额'
+              // },  
+              {
+                name: 'payableResidue',
+                title: '供应商欠款'
+              },
             ],
           })
         }
@@ -781,9 +807,9 @@ Page({
         //   })
         // }
         break;
-      // 仓库
+        // 仓库
       case Constants.chooseType.warehouse:
-        title = "仓库"        
+        title = "仓库"
         dataItemData['supervisor'] = app.globalData.user.staffName
         dataItemData['contactPhone'] = app.globalData.user.userPhone
 
@@ -795,30 +821,44 @@ Page({
           title: 'whName',
           simpleFlag: true,
           contentList: [{
-            name: 'supervisor',
-            title: '仓库主管'
-          },
-          {
-            name: 'contactPhone',
-            title: '联系电话'
-          },
+              name: 'supervisor',
+              title: '仓库主管'
+            },
+            {
+              name: 'contactPhone',
+              title: '联系电话'
+            },
           ],
           placeholder: ['whName'],
-          popContent:
-            [
-              // { code: 'whCode', type: 'str', title: mixins.$t('whCode'), required: false, readonly: true, },
-              { code: 'whName', type: 'str', title: mixins.$t('whName'), required: true },
-              {
-                name: 'supervisor',
-                code: 'supervisor',
-                title: mixins.$t("supervisor"),
-                type: 'choose',
-                required: true,
-                urlKey: 'chooseStaff'
-              },
-              { code: 'contactPhone', type: 'str', title: mixins.$t('contactPhone'), required: true },
-              { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false }
-            ],
+          popContent: [
+            // { code: 'whCode', type: 'str', title: mixins.$t('whCode'), required: false, readonly: true, },
+            {
+              code: 'whName',
+              type: 'str',
+              title: mixins.$t('whName'),
+              required: true
+            },
+            {
+              name: 'supervisor',
+              code: 'supervisor',
+              title: mixins.$t("supervisor"),
+              type: 'choose',
+              required: true,
+              urlKey: 'chooseStaff'
+            },
+            {
+              code: 'contactPhone',
+              type: 'str',
+              title: mixins.$t('contactPhone'),
+              required: true
+            },
+            {
+              code: 'remarks',
+              type: 'textarea',
+              title: mixins.$t('remarks'),
+              required: false
+            }
+          ],
           //设置默认主管
           dataItem: JSON.stringify(dataItemData)
         })
@@ -829,8 +869,7 @@ Page({
           routeObjName: 'common',
           method: 'getInventory',
           title: 'skuName',
-          contentList: [
-            {
+          contentList: [{
               name: 'skuCode',
               title: '商品编码'
             },
@@ -862,7 +901,7 @@ Page({
           placeholder: ['whName']
         })
         break;
-      // 品牌
+        // 品牌
       case Constants.chooseType.brand:
         title = "品牌"
         this.setData({
@@ -890,22 +929,51 @@ Page({
         // 标准版没有供应商
         if (this.data.gradeCode == Constants.gradeCode.STD) {
           this.setData({
-            popContent: [
-              { code: 'brandName', type: 'str', title: mixins.$t('brandName'), required: true },
-              { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false }
+            popContent: [{
+                code: 'brandName',
+                type: 'str',
+                title: mixins.$t('brandName'),
+                required: true
+              },
+              {
+                code: 'remarks',
+                type: 'textarea',
+                title: mixins.$t('remarks'),
+                required: false
+              }
             ],
           })
         } else {
           this.setData({
-            popContent: [
-              { code: 'brandName', type: 'str', title: mixins.$t('brandName'), required: true },
-              { code: 'supplierIds', name: 'supplierNames', title: 'supplier', type: 'choose', dropType: 'supplier', urlKey: '', code: 'supplierIds', formMode: 'index', idKey: 'roleId', title: mixins.$t('supplier') },
-              { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false }
+            popContent: [{
+                code: 'brandName',
+                type: 'str',
+                title: mixins.$t('brandName'),
+                required: true
+              },
+              {
+                code: 'supplierIds',
+                name: 'supplierNames',
+                title: 'supplier',
+                type: 'choose',
+                dropType: 'supplier',
+                urlKey: '',
+                code: 'supplierIds',
+                formMode: 'index',
+                idKey: 'roleId',
+                title: mixins.$t('supplier')
+              },
+              {
+                code: 'remarks',
+                type: 'textarea',
+                title: mixins.$t('remarks'),
+                required: false
+              }
             ],
           })
         }
         break;
-      // 系列 刘尧 2024.05.29
+        // 系列 刘尧 2024.05.29
       case Constants.chooseType.series:
         title = "系列"
         this.setData({
@@ -920,15 +988,24 @@ Page({
           title: 'seriesName',
           simpleFlag: true,
           placeholder: ['seriesName'],
-          popContent: [
-            { code: 'seriesName', type: 'str', title: mixins.$t('seriesName'), required: true },
-            { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false }
+          popContent: [{
+              code: 'seriesName',
+              type: 'str',
+              title: mixins.$t('seriesName'),
+              required: true
+            },
+            {
+              code: 'remarks',
+              type: 'textarea',
+              title: mixins.$t('remarks'),
+              required: false
+            }
           ]
         })
         break;
-      // 计量单位 刘尧 2024.05.29
+        // 计量单位 刘尧 2024.05.29
       case Constants.chooseType.unit:
-        title = "单位"        
+        title = "单位"
         dataItemData['decimalPlaces'] = 0
         this.setData({
           routeObjName: 'common',
@@ -944,16 +1021,35 @@ Page({
           title: 'unitName',
           simpleFlag: true,
           placeholder: ['unitName'],
-          popContent: [
-            { code: 'unitName', type: 'str', title: mixins.$t('unitName'), required: true },
-            { code: 'decimalPlaces', max: 6, type: 'number', sign: "", digits: 0, title: mixins.$t('decimalPlaces'), required: true, formatThousandth: false, content: 0 },
-            { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false }
+          popContent: [{
+              code: 'unitName',
+              type: 'str',
+              title: mixins.$t('unitName'),
+              required: true
+            },
+            {
+              code: 'decimalPlaces',
+              max: 6,
+              type: 'number',
+              sign: "",
+              digits: 0,
+              title: mixins.$t('decimalPlaces'),
+              required: true,
+              formatThousandth: false,
+              content: 0
+            },
+            {
+              code: 'remarks',
+              type: 'textarea',
+              title: mixins.$t('remarks'),
+              required: false
+            }
           ],
           //设置小数位数
           dataItem: JSON.stringify(dataItemData)
         })
         break;
-      // 数据字典
+        // 数据字典
       case Constants.chooseType.dictionary:
         title = "数据字典"
         let dictCode = route.dictCode
@@ -970,29 +1066,37 @@ Page({
           valueKey: 'dataId',
           title: 'dataValue',
           contentList: [{
-            name: 'dataCode',
-            title: '数据编码'
-          },
-          {
-            name: 'dictCode',
-            title: '字典项目'
-          },
+              name: 'dataCode',
+              title: '数据编码'
+            },
+            {
+              name: 'dictCode',
+              title: '字典项目'
+            },
           ],
           placeholder: ['dicName'],
 
         })
         if (dictCode == mixins.$t('reasonStorageSys')) {
-          let popContent =
-            [
-              { code: 'dataValue', type: 'str', title: mixins.$t('reasonName'), required: true },
-              { code: 'remarks', type: 'textarea', title: mixins.$t('remarks'), required: false, },
-            ]
+          let popContent = [{
+              code: 'dataValue',
+              type: 'str',
+              title: mixins.$t('reasonName'),
+              required: true
+            },
+            {
+              code: 'remarks',
+              type: 'textarea',
+              title: mixins.$t('remarks'),
+              required: false,
+            },
+          ]
           this.setData({
             popContent
           })
         }
         break;
-      // 系统数据
+        // 系统数据
       case Constants.chooseType.kindData:
         title = "系统数据"
         this.setData({
@@ -1005,18 +1109,18 @@ Page({
           chooseFlag: route.chooseFlag,
           repeatFlag: route.repeatFlag,
           contentList: [{
-            name: 'kindCode',
-            title: '数据代码'
-          },
-          {
-            name: 'kindName',
-            title: '数据名称'
-          },
+              name: 'kindCode',
+              title: '数据代码'
+            },
+            {
+              name: 'kindName',
+              title: '数据名称'
+            },
           ],
           placeholder: ['sensitiveName']
         })
         break;
-      // 对象类型
+        // 对象类型
       case Constants.chooseType.objectType:
 
         this.setData({
@@ -1028,35 +1132,37 @@ Page({
           title = "对象类型"
           this.setData({
             contentList: [{
-              name: 'objCode',
-              title: '对象编码'
-            },
-            {
-              name: 'objTypeName',
-              title: '对象'
-            },
-            {
-              name: 'addressFull',
-              title: '地址'
-            },
-            {
-              name: 'phone',
-              title: '电话'
-            }],
+                name: 'objCode',
+                title: '对象编码'
+              },
+              {
+                name: 'objTypeName',
+                title: '对象'
+              },
+              {
+                name: 'addressFull',
+                title: '地址'
+              },
+              {
+                name: 'phone',
+                title: '电话'
+              }
+            ],
             searchContent: [{
               code: 'supplier-customer',
               title: '选择对象',
               searchType: Constants.searchType.switch,
               list: [{
-                code: 'supplier',
-                title: '供应商',
-                value: 1,
-              },
-              {
-                code: 'customer',
-                title: '客户',
-                value: 2
-              }]
+                  code: 'supplier',
+                  title: '供应商',
+                  value: 1,
+                },
+                {
+                  code: 'customer',
+                  title: '客户',
+                  value: 2
+                }
+              ]
             }],
             placeholder: ['customerName', 'supplierName', 'address', 'telephone']
           })
@@ -1066,30 +1172,36 @@ Page({
             title = "客户"
             this.setData({
               contentList: [{
-                name: 'phone',
-                title: '客户电话'
-              },
-              {
-                name: 'addressFull',
-                title: '客户地址'
-              }],
+                  name: 'phone',
+                  title: '客户电话'
+                },
+                {
+                  name: 'addressFull',
+                  title: '客户地址'
+                }
+              ],
               placeholder: ['customerName', 'address', 'telephone'],
-              otherSearchParam: { 'supplier-customerList': "2" }
+              otherSearchParam: {
+                'supplier-customerList': "2"
+              }
             })
           } else {
             // 供应商
             title = "供应商"
             this.setData({
               contentList: [{
-                name: 'phone',
-                title: '供应商电话'
-              },
-              {
-                name: 'addressFull',
-                title: '供应商地址'
-              }],
+                  name: 'phone',
+                  title: '供应商电话'
+                },
+                {
+                  name: 'addressFull',
+                  title: '供应商地址'
+                }
+              ],
               placeholder: ['supplierName', 'address', 'telephone'],
-              otherSearchParam: { 'supplier-customerList': "1" }
+              otherSearchParam: {
+                'supplier-customerList': "1"
+              }
             })
           }
         }
@@ -1111,10 +1223,10 @@ Page({
   },
 
   /** 
- * @desc : 对获取到的数据进行处理
- * @date : 2024年5月29日
- * @author : 刘尧
- */
+   * @desc : 对获取到的数据进行处理
+   * @date : 2024年5月29日
+   * @author : 刘尧
+   */
   handleSearchData(tableData) {
     let addItem = this.data.addItem
     let valueKey = this.data.valueKey
@@ -1123,21 +1235,23 @@ Page({
       if (addItem && valueKey) {
         if (item[valueKey] == addItem[valueKey]) {
           item.checked = true;
-          choosedData.push({ ...item });
+          choosedData.push({
+            ...item
+          });
         }
       }
       // 判断数据中是否存在计量单位的小数位数字段
       if (item && (item.decimalPlaces || item.decimalPlaces === 0)) {
         item.decimalPlacesStr = '小数:' + item.decimalPlaces
       }
-      if(this.data.item.defaultSupplier){
+      if (this.data.item.defaultSupplier) {
         // todo
         const targetData = this.data.contentList.filter(res => res.title === '供应商欠款')
         item[targetData[0].name] = item.payableResidue - item.paymentResidue
       }
-      if(this.data.routeObjName=='supplier'){
+      if (this.data.routeObjName == 'supplier') {
         // item.balance = item.paymentResidue - item.payableResidue     //bug 7524 跟采购订单保持一致
-        item. payableResidue = item.payableResidue - item.paymentResidue  
+        item.payableResidue = item.payableResidue - item.paymentResidue
 
       }
     })
@@ -1145,7 +1259,7 @@ Page({
       tableData: tableData,
       choosedData: choosedData
     })
-    if(this.data.item.defaultSupplier){
+    if (this.data.item.defaultSupplier) {
       wx.setNavigationBarTitle({
         title: '选择采购供应商',
       })

+ 0 - 66
package-basic-data/invoice-header/invoice-header.js

@@ -1,66 +0,0 @@
-// package-basic-data/Invoice-header/Invoice-header.js
-Page({
-
-    /**
-     * 页面的初始数据
-     */
-    data: {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
-
-    },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh() {
-
-    },
-
-    /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom() {
-
-    },
-
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage() {
-
-    }
-})

+ 0 - 3
package-basic-data/invoice-header/invoice-header.json

@@ -1,3 +0,0 @@
-{
-    "usingComponents": {}
-}

+ 0 - 2
package-basic-data/invoice-header/invoice-header.wxml

@@ -1,2 +0,0 @@
-<!--package-basic-data/Invoice-header/Invoice-header.wxml-->
-<text>package-basic-data/Invoice-header/Invoice-header.wxml</text>

+ 0 - 1
package-basic-data/invoice-header/invoice-header.wxss

@@ -1 +0,0 @@
-/* package-basic-data/Invoice-header/Invoice-header.wxss */

+ 68 - 17
package-basic-data/pages/draw-bill/add/add.js

@@ -29,32 +29,32 @@ Page({
                     code: 'headType',
                     type: 'str',
                     readonly: true,
-                    title: mixins.$t('headUpType')
+                    title: mixins.$t('headType')
                 },
                 { //购方名称
-                    code: 'buyerId',
-                    name: 'buyerName',
+                    code: 'cpId',
+                    name: 'cpName',
                     title: mixins.$t("buyerName"),
                     type: 'choose',
-                    urlKey: 'accountCategory',
+                    urlKey: 'invoiceType',
                     required: true,
                 },
                 { //购方税号
-                    code: 'BuyerTaxNumber',
+                    code: 'taxNo',
                     type: 'str',
                     required: true,
                     title: mixins.$t('BuyerTaxNumber')
                 },
                 { //发票类型
-                    code: 'invoiceTypeId',
-                    name: 'invoiceTypeName',
+                    code: 'receiptType',
+                    name: 'receiptTypeName',
                     title: mixins.$t("invoiceType"),
                     type: 'choose',
-                    urlKey: 'accountCategory',
+                    urlKey: 'invoiceType',
                     required: true,
                 },
                 { //接收邮箱
-                    code: 'receivingEmail',
+                    code: 'cpEmail',
                     type: 'str',
                     required: true,
                     title: mixins.$t('receivingEmail')
@@ -68,33 +68,35 @@ Page({
 
             other: [ //备注
                 {
-                    code: 'invoiceContent',
+                    code: 'receiptContent',
                     type: 'textarea',
                     title: mixins.$t('invoiceContent')
                 },
                 {
-                    code: 'invoicingParty',
+                    code: 'receiptObj',
                     type: 'textarea',
                     title: mixins.$t('invoicingParty')
                 },
                 {
                     code: 'totalInvoiceAmount',
-                    type: 'textarea',
+                    type: 'str',
+                    readonly: true,
                     title: mixins.$t('totalInvoiceAmount')
                 }
             ],
         },
         buttonSaveList: [{
             code: 'preview',
-            title: '预览', 
+            title: '预览',
             width: '120rpx',
         }, {
             code: 'submit',
             title: '提交',
             width: '120rpx',
         }],
+        receiptFitService: app.globalData['receiptFitService'], //发票设置
         // 路由
-        routeObjName: 'moneyAccount',
+        routeObjName: 'trade',
     },
     /**
      * @desc : 页面加载数据方法
@@ -102,11 +104,60 @@ Page({
      * @author : 王英杰
      */
     loadInit() {
-        let formData = this.data.formData ? JSON.parse(this.data.formData) : {}
-        formData.headType = "企业单位"
+        if (this.data.formMode != Constants.formMode.edit) {
+            let formData = this.data.formData ? JSON.parse(this.data.formData) : {}
+            formData.headType = "企业单位"
+            formData.totalInvoiceAmount = this.data.item.sum("tradeAmount")
+            this.setData({
+                formData: JSON.stringify(formData)
+            })
+            this.getReceiptFit()
+        }
+
+    },
+    /**
+     * @desc : 获取开票设置
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    getReceiptFit() {
+        let that = this
+        that.excute(that.data.receiptFitService, that.data.receiptFitService.selectByCond, {
+            flgDefault: true
+        }).then(res => {
+            if (res.data.code == 200) {
+                let formData = JSON.parse(that.data.formData)
+                if (res.data.data && res.data.data.length > 0) {
+                    formData.fitId = res.data.data[0].fitId
+                    formData.receiptContent = res.data.data[0].receiptContent
+                    formData.receiptObj = res.data.data[0].receiptObj
+                    formData.receiptStaff = res.data.data[0].receiptStaff
+                    formData.taxRateNormal = res.data.data[0].taxRateNormal
+                    formData.taxRateSpecial = res.data.data[0].taxRateSpecial
+                }
+
+                //设置默认值
+                that.setData({
+                    formData: JSON.stringify(formData)
+                })
+            }
+        })
+    },
+    /**
+     * @desc   : 绑定数据-选择页面返回的逻辑处理
+     * @author : 王英杰
+     * @date   : 2024年3月12日
+     */
+    chooseData(e) {
+        let formData = JSON.parse(this.data.formData)
+        let code = e.detail.code
+        let data = e.detail.data.data
+        if (code == "cpId") { //供应商
+            formData.cpId = data.id
+            formData.cpName = data.name
+        }
         this.setData({
             formData: JSON.stringify(formData)
         })
     },
-
 })

+ 8 - 2
package-basic-data/pages/draw-bill/draw-bill.js

@@ -126,7 +126,13 @@ Page({
      * @author : 王英杰
      */
     saveButton(e) { 
-
+        let tableData = this.data.tableData
+        let tradeLits = []
+        tradeLits =   tableData.filter(res => {  return res.checked  }) 
+        if(tradeLits.length<=0){
+            util.showToast('请至少选择一条记录')
+            return
+        }
         wx.navigateTo({
             url: '/package-basic-data/pages/draw-bill/add/add',
             events: {
@@ -135,7 +141,7 @@ Page({
             },
             success: function (res) {
                 // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
-                res.eventChannel.emit('params', {})
+                res.eventChannel.emit('params', { item:tradeLits  })
             }
         })
     },

+ 4 - 1
package-basic-data/pages/draw-bill/draw-bill.wxss

@@ -1 +1,4 @@
-/* package-basic-data/pages/draw-bill/draw-bill.wxss */
+/* package-basic-data/pages/draw-bill/draw-bill.wxss */
+.van-checkbox__icon {
+  border: 1px solid var(--checkbox-border-color, rgb(141, 139, 139)) !important;
+}

+ 154 - 0
package-basic-data/pages/invoice-header/add/add.js

@@ -0,0 +1,154 @@
+/*******************************************************************************
+ * Copyright(c) 2022 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.功能描述:开具发票
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		王英杰		  	2022-11-22			1.00		   	新建
+ *******************************************************************************/
+const mixins = require('@/mixins/index.js')
+const util = require('@/utils/util.js')
+const Constants = require('@/utils/Constants.js');
+
+const api = require('@/utils/api.js');
+const config = require('@/config/config.js');
+
+const app = getApp()
+
+Page({
+    mixins: [mixins],
+
+    /**
+     * 页面的初始数据
+     */
+    data: {
+        cardList: ['main', 'other'],
+        contentObj: {
+            main: [{ //抬头
+                    code: 'headType',
+                    type: 'str',
+                    readonly: true,
+                    title: mixins.$t('headType')
+                },
+                { //公司名称
+                    code: 'cpName',
+                    type: 'str',
+                    required: true,
+                    title: mixins.$t('cpName')
+                },
+                { //公司税号 
+                    code: 'taxNo',
+                    type: 'str',
+                    required: true,
+                    title: mixins.$t('companyTaxNumber')
+                },
+                { //注册地址
+                    code: 'cpAddress',
+                    type: 'str',
+                    title: mixins.$t('companyRegisteredAddress')
+                },
+                { //注册电话
+                    code: 'cpPhone',
+                    type: 'phone',
+                    title: mixins.$t('registrationPhoneNumber'),
+                },
+                { //开户银行
+                    code: 'openBank',
+                    type: 'str',
+                    title: mixins.$t('bankOfDeposit')
+                },
+                { //银行账号
+                    code: 'bankAccount',
+                    type: 'str',
+                    title: mixins.$t('bankAccount')
+                },
+                { //电子邮箱
+                    code: 'cpEmail',
+                    type: 'str',
+                    title: mixins.$t('Email')
+                },
+
+            ],
+
+            other: [{ //设置默认抬头
+                code: 'flgDefault',
+                type: 'switch',
+                title: mixins.$t('setDefaultHeader')
+            }, ],
+        },
+        buttonSaveList: [{
+            code: 'submit',
+            title: '保存',
+            width: '120rpx',
+        }],
+        // 路由
+        routeObjName: 'receiptSet',
+    },
+    /**
+     * @desc : 页面加载数据方法
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    loadInit() {
+
+        if (this.data.formMode != Constants.formMode.edit) {
+            let formData = this.data.formData ? JSON.parse(this.data.formData) : {}
+            formData.headType = "企业单位"
+            this.setData({
+                formData: JSON.stringify(formData)
+            })
+        }
+    },
+    /**
+     * @desc : 保存的參數設置
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    setParams(params) { 
+        params.flgDefault = params.flgDefault ? true : false
+        params.cpId = app.globalData.user.cpId
+
+        return params
+    },
+    /**
+     * @desc : 保存数据服务
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    saveData() {
+        let pages = getCurrentPages();
+        let prevPage = pages[pages.length - 2];
+        prevPage.setData({
+            refreshByAdd: true,
+        })
+        if (this.data.formMode == Constants.formMode.edit) {
+            return this.excute(this.data.service, this.data.service.update, this.data.params);
+        } else {
+            return this.excute(this.data.service, this.data.service.insert, this.data.params);
+        }
+
+
+    },
+    /**
+     * @desc :处理保存后续
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    handleData() {
+        // this.loadInit()
+    },
+
+    /**
+     * @desc : 给表单赋值
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
+     */
+    setValuesByEdit(data) {
+        data.headType = "企业单位"
+        this.setData({
+            formData: JSON.stringify(data)
+        })
+    },
+   
+})

+ 4 - 0
package-basic-data/pages/invoice-header/add/add.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "新建发票抬头"
+}

+ 9 - 0
package-basic-data/pages/invoice-header/add/add.wxml

@@ -0,0 +1,9 @@
+<!-- 加载图层 -->
+<loading wx:if="{{loading}}"></loading>
+<!-- 列表区 -->
+<dk-form id="{{formName}}"  routeObjName="{{routeObjName}}"  cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" table="{{table}}"bind:chooseData="chooseData"  bindtap="handleTap"  >
+</dk-form>
+ 
+
+<!-- 新建按钮 -->
+<dk-save-button  btnAutoWidthFlag="{{true}}" btnRightFlag="{{true}}" buttonList="{{buttonSaveList}}"  bind:open="save"></dk-save-button>

+ 1 - 0
package-basic-data/pages/invoice-header/add/add.wxss

@@ -0,0 +1 @@
+/* package-basic-data/pages/invoice-header/add/add.wxss */

+ 82 - 46
package-basic-data/pages/invoice-header/invoice-header.js

@@ -1,66 +1,102 @@
-// package-basic-data/pages/invoice-header/invoice-header.js
+/*******************************************************************************
+ * Copyright(c) 2024 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.功能描述:oa  发票抬头
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		王英杰		  	     2024-1-19       			1.00		       	列表查询
+ *******************************************************************************/
+const Constants = require('@/utils/Constants.js');
+const util = require('@/utils/util.js')
+const mixins = require('@/mixins/index.js')
 Page({
-
+    mixins: [mixins],
     /**
      * 页面的初始数据
      */
     data: {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
+        pageFlag: false,
+        // 列表区(内容)
+        contentList: [{
+                name: 'taxNo',
+                title: mixins.$t('companyTaxNumber')
+            },
+
+        ],
+
+        buttonSaveList: [{
+            code: 'add',
+            title: '新建',
+            width: '550rpx',
+        }, ],
+        contentSaveList: [{
+                code: 'flag',
+                title: mixins.$t("enable"),
+                type: 'checkbox'
+            },
+
+        ],
+        btnFormData: '{\"flag\":true}',
+        routeObjName: 'receiptSet',
     },
-
     /**
-     * 生命周期函数--监听页面初次渲染完成
+     * @desc : 保存的參數設置
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
      */
-    onReady() {
+    setSearchParams(params) {
+        let btnFormData =  this.data.btnFormData?JSON.parse(this.data.btnFormData):""
+        params.flgValid = (btnFormData&& btnFormData.flag)?true:false 
 
+        return params
     },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
+    /** 
+     * @desc : 查询  
+     * @date : 2024年3月8日
+     * @author : 王英杰
      */
-    onHide() {
-
+    getData(params) {
+        return this.excute(this.data.service, this.data.service.selectByCond, params);
     },
-
     /**
-     * 生命周期函数--监听页面卸载
+     * @desc :   启用停用
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
      */
-    onUnload() {
-
+    deactivateEnable(e) {
+        let item = e.detail.item
+        //执行接口
+        this.handleMoreDataIsValid(this.data.service, item, 'setId')
+       
     },
-
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
+/**
+     * @desc : 底部按钮事件
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
      */
-    onPullDownRefresh() {
-
+    saveButton(e) {
+     
+        wx.navigateTo({
+            url: '/package-basic-data/pages/invoice-header/add/add',
+            events: {
+                // 回调后,在这里给页面赋值
+                refresh: function (e) { 
+                }
+            },
+            success: function (res) {
+                // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+                res.eventChannel.emit('params', {})
+            }
+        })
     },
-
-    /**
-     * 页面上拉触底事件的处理函数
+     /**
+     * @desc : 底部 新建按钮旁 启用回调事件
+     * @date : 2024/2/1 15:49
+     * @author : 王英杰
      */
-    onReachBottom() {
-
+    cke_change(e) { 
+        // 查询
+        this.searchData();
     },
-
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage() {
-
-    }
 })

+ 8 - 2
package-basic-data/pages/invoice-header/invoice-header.wxml

@@ -1,2 +1,8 @@
-<!--package-basic-data/pages/invoice-header/invoice-header.wxml-->
-<text>package-basic-data/pages/invoice-header/invoice-header.wxml</text>
+<!-- 列表区 -->
+
+<dk-list id="dk-list" list="{{tableData}}" titleImageFlag="{{false}}" flgPoint="{{false}}"  switchFlag="{{true}}"title="cpName"    content="{{contentList}}"  bind:toDetail="toDetail"    routeObjName="{{routeObjName}}"  defaultFlag ="{{true}}" defaultFlagKey ="flgDefault"  swipeDisabled="{{false}}" bind:swipe="deactivateEnable" ></dk-list>
+
+<view style="height: 200rpx;" ></view>
+
+<!-- 新建按钮 -->
+<dk-save-button   model:value="{{btnFormData}}"  btnAutoWidthFlag="{{false}}" btnRightFlag="{{false}}" buttonList="{{buttonSaveList}}"    contentList="{{contentSaveList}}"bind:open="saveButton" bind:change="cke_change" ></dk-save-button>

+ 1 - 0
utils/Constants.js

@@ -115,6 +115,7 @@ module.exports = {
     saleChannel: 'saleChannel', //销售渠道
     cusFrom: 'customerFrom', //客户来源
     moneyAccount: 'moneyAccount',//资金账户
+    invoiceType:"invoiceType",//发票抬头
   },
 
   // 范围权限