Forráskód Böngészése

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss_wx_app

wangyingjie 2 éve
szülő
commit
beecd62e74
40 módosított fájl, 1249 hozzáadás és 277 törlés
  1. 3 1
      api/pages/mst/goodsCategory.js
  2. 25 0
      api/pages/other/setting.js
  3. 1 0
      app.js
  4. 7 2
      app.json
  5. 1 1
      components/dkbase/dk-popup/dk-popup.wxml
  6. 215 0
      components/dkbase/dk-tree-form-more/dk-tree-form-more.js
  7. 6 0
      components/dkbase/dk-tree-form-more/dk-tree-form-more.json
  8. 67 0
      components/dkbase/dk-tree-form-more/dk-tree-form-more.wxml
  9. 76 0
      components/dkbase/dk-tree-form-more/dk-tree-form-more.wxss
  10. 10 0
      i18n/zh-CN.js
  11. 115 0
      package-base-select/pages/select-product-types/select-product-types.js
  12. 4 0
      package-base-select/pages/select-product-types/select-product-types.json
  13. 4 0
      package-base-select/pages/select-product-types/select-product-types.wxml
  14. 1 0
      package-base-select/pages/select-product-types/select-product-types.wxss
  15. 72 17
      package-basic-data/pages/product-attribute/product-attribute.js
  16. 6 1
      package-basic-data/pages/product-attribute/product-attribute.wxml
  17. 194 55
      package-basic-data/pages/register/company-param-setting/company-param-setting.js
  18. 2 1
      package-basic-data/pages/register/company-param-setting/company-param-setting.json
  19. 36 2
      package-basic-data/pages/register/company-param-setting/company-param-setting.wxml
  20. 8 1
      package-basic-data/pages/register/company-param-setting/company-param-setting.wxss
  21. 66 0
      package-basic-data/pages/register/company-register/company-register.js
  22. 3 0
      package-basic-data/pages/register/company-register/company-register.json
  23. 2 0
      package-basic-data/pages/register/company-register/company-register.wxml
  24. 1 0
      package-basic-data/pages/register/company-register/company-register.wxss
  25. 58 48
      package-basic-data/pages/register/company-setting/company-setting.js
  26. 2 1
      package-basic-data/pages/register/company-setting/company-setting.json
  27. 23 2
      package-basic-data/pages/register/company-setting/company-setting.wxml
  28. 48 1
      package-basic-data/pages/register/company-setting/company-setting.wxss
  29. 66 0
      package-basic-data/pages/register/product-professional-detail/product-professional-detail.js
  30. 3 0
      package-basic-data/pages/register/product-professional-detail/product-professional-detail.json
  31. 2 0
      package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxml
  32. 1 0
      package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxss
  33. 66 0
      package-basic-data/pages/register/product-standard-detail/product-standard-detail.js
  34. 3 0
      package-basic-data/pages/register/product-standard-detail/product-standard-detail.json
  35. 2 0
      package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxml
  36. 1 0
      package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxss
  37. 6 46
      package-basic-data/pages/role/add/add.js
  38. 1 1
      package-basic-data/pages/role/role.js
  39. 31 87
      pages/mine/mine.js
  40. 11 10
      pages/mine/mine.wxml

+ 3 - 1
api/pages/mst/goodsCategory.js

@@ -15,7 +15,9 @@ module.exports = {
   },
   routeUrl: {
     goodsCategory: {
-    
+      selectProductTypes:{ 
+        key:'selectProductTypes',url:'/package-base-select/pages/select-product-types/select-product-types'
+      }
     }
   }
 };

+ 25 - 0
api/pages/other/setting.js

@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright(c) 2024 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.功能描述:设置方法
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		jyh		  	     2024-1-19       			1.00		       	新建
+ *******************************************************************************/
+module.exports = {
+    settingService: {
+        // 前缀
+        prefix: 'mdm-server-dkic-b1/common/setting/', 
+        
+    },
+
+    routeUrl: {
+        setting: {
+          // 用name代替url,为了传递params,params和url不能一起使用
+          companySetting: {key: 'companySetting', url: '/package-basic-data/pages/register/company-setting/company-setting'}, 
+           companyRegister: {key: 'companyRegister', url: '/package-basic-data/pages/register/company-param-setting/company-param-setting'},
+          
+        }
+    }
+};

+ 1 - 0
app.js

@@ -7,6 +7,7 @@ import './utils/prototype/prototypeString';
 import './utils/prototype/prototypeDatetime';
 import './mixins/mixins.js';
 import './api/pages/common/common.js';
+import './api/pages/other/setting.js';
 import './api/pages/core/user.js';
 import './api/pages/mst/staff.js';
 import './api/pages/mst/staffRight.js';

+ 7 - 2
app.json

@@ -13,6 +13,9 @@
             "name": "package-basic-data",
             "pages": [
                 "pages/test/test",
+                "pages/register/company-register/company-register",
+                "pages/register/product-standard-detail/product-standard-detail",
+                "pages/register/product-professional-detail/product-professional-detail",
                 "pages/register/company-setting/company-setting",
                 "pages/register/company-param-setting/company-param-setting",
                 "pages/test/add/add",
@@ -188,7 +191,8 @@
                 "pages/select-bill/select-bill",
                 "pages/select-goods/select-goods",
                 "pages/select-functional-permissions/select-functional-permissions",
-                "pages/select-sensitive-data/select-sensitive-data"
+                "pages/select-sensitive-data/select-sensitive-data",
+                "pages/select-product-types/select-product-types"
             ]
         }
     ],
@@ -309,7 +313,8 @@
         "loading": "components/dkbase/loading/loading",
         "dk-collapse-item": "components/dkbase/dk-collapse-item/dk-collapse-item",
         "dk-tree": "components/dkbase/dk-tree/dk-tree",
-        "dk-tree-form": "components/dkbase/dk-tree-form/dk-tree-form"
+        "dk-tree-form": "components/dkbase/dk-tree-form/dk-tree-form",
+        "dk-tree-form-more": "components/dkbase/dk-tree-form-more/dk-tree-form-more"
     },
     "tabBar": {
         "color": "#95A8CB",

+ 1 - 1
components/dkbase/dk-popup/dk-popup.wxml

@@ -42,7 +42,7 @@
       <van-field wx:if="{{item.type=='drop'}}" label-class="{{item.required?'red-label':'nomal-label' }}" data-name="{{item.name}}" data-key="{{item.code}}" data-item="{{item}}" data-index="{{index}}" value="{{ form[item.name]}}" input-align="left" label="{{item.title?item.title:$t[item.code]}}" placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" is-link catchtap="open" autosize border="{{ false }}" readonly="{{true}}" input-class="dk-cell-value-class" data-type='{{item.dropType}}' errorMessage="{{item.errMsg}}">
       </van-field>
        <!--选单-->
-       <van-field wx:if="{{item.type=='choose'}}" label-class="{{item.required?'red-label':'nomal-label' }}" data-name="{{item.name}}" data-key="{{item.code}}" data-item="{{item}}" data-index="{{index}}" data-card="{{card.name}}" value="{{ form[item.name]}}" input-align="left" label="{{item.title?$t[item.title]:$t[item.code]}}" placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" is-link catchtap="open" autosize border="{{ false }}" readonly="{{true}}" input-class="dk-cell-value-class" data-type='{{item.dropType}}' errorMessage="{{item.errMsg}}">
+       <van-field wx:if="{{item.type=='choose'}}" label-class="{{item.required?'red-label':'nomal-label' }}" data-name="{{item.name}}" data-key="{{item.code}}" data-item="{{item}}" data-index="{{index}}" data-card="{{card.name}}"  value="{{ form[item.name]}}" input-align="left" label="{{item.title?$t[item.title]:$t[item.code]}}" placeholder="{{wxmlUtil.setPlaceholder($t,item.title?item.title:item.code)}}" is-link catchtap="open" autosize border="{{ false }}" readonly="{{true}}" input-class="dk-cell-value-class" data-type='{{item.dropType}}' errorMessage="{{item.errMsg}}">
         </van-field>
       <!--选择框-->
       <van-field wx:if="{{item.type=='checkbox'}}" input-width="200rpx" input-class="dk-cell-value-class" label-class="nomal-label" input-align="right" label="{{item.title?item.title:$t[item.code]}}" autosize border="{{ false }}" readonly="{{true}}" errorMessage="{{item.errMsg}}">

+ 215 - 0
components/dkbase/dk-tree-form-more/dk-tree-form-more.js

@@ -0,0 +1,215 @@
+const tranverse = (e,itemListKey) => {
+  
+    for (let i in e) {
+        if (e[i][itemListKey]) {
+            e[i].open = false;
+            tranverse(e[i][itemListKey],itemListKey)
+        }
+        e[i].selected = false;
+    }
+}
+Component({
+    properties: {
+        treeList: Object,
+        depth: {
+            type: Number,
+            value: 0
+        },
+        itemListKey: {   //子list key名
+            type: String,
+            value: ""
+        },
+        parentIdKey: {  //父级的key名
+            type: String,
+            value: ""
+        },
+        idKey: {  // id 的key名
+            type: String,
+            value: ""
+        },
+        nameKey: {  //显示的名字的key
+            type: String,
+            value: ""
+        },
+        flgValidKey: {  //启用停用的key
+          type: String,
+          value: ""
+      },
+        ischekboxFlag: {  //是否显示cheakbox
+            type: Boolean,
+            value: false
+        },
+        flgValid:{
+          type: Boolean,
+          value: true
+        },
+        swipeDisabled:{
+          type: Boolean,
+          value: false
+        },
+        isNameImgFlag: {  //是否显示名字前图片
+            type: Boolean,
+            value: true
+        },
+    },
+    data: {},
+    ready() {
+        // const {treeList}=this.properties; 
+        const { treeList } = this.data;
+        const { itemListKey } = this.data;
+        const { parentIdKey } = this.data;
+        for (let i in treeList) {
+            if (treeList[i][itemListKey]) {
+                if(treeList[i][parentIdKey]){
+                    treeList[i].open = false;
+                   }else{
+                    treeList[i].open = true;
+                   }   
+                tranverse(treeList[i][itemListKey],itemListKey);
+            }
+            treeList[i].selected = false;
+        }
+         
+        this.setData({
+            tree: treeList
+        })
+    },
+    methods: {
+      //停用启用方法
+      onSwipe(e){
+        this.triggerEvent('onSwipe', e.currentTarget.dataset);
+      },
+        //设置控件信息
+        setDataFromPage(data) {
+            const { itemListKey } = this.data;
+            const { parentIdKey } = this.data;
+            let treeList = data
+            for (let i in treeList) {
+                if (treeList[i][itemListKey]) {
+                   if(treeList[i][parentIdKey]){
+                    treeList[i].open = false;
+                   }else{
+                    treeList[i].open = true;
+                   }   
+                    tranverse(treeList[i][itemListKey],itemListKey);
+                }
+                treeList[i].selected = false;
+            }
+             
+            this.setData({
+                tree: treeList
+            })
+           
+          },
+        //修改折叠状态
+        changeOpen(tree, id,itemListKey,idKey) {
+            for (let i = 0; i < tree.length; i += 1) {
+                if (tree[i][idKey] === id) {
+                    tree[i].open = !tree[i].open;
+                }
+                if (tree[i].hasOwnProperty(itemListKey) && tree[i][itemListKey].length !== 0) {
+                    this.changeOpen(tree[i][itemListKey], id, itemListKey);
+                }
+            }
+            return;
+        },
+        onchange(e) {
+            console.log("onchange",e)
+            const { treeList } = this.data;
+            const { itemListKey } = this.data;
+            const { idKey } = this.data;
+            const { id } = e.currentTarget.dataset;
+            this.changeOpen(treeList, id, itemListKey,idKey);
+            this.triggerEvent('change', id, { bubbles: true, composed: true });
+            this.setData({
+                tree: treeList
+            })
+        },
+        change(e) {
+            console.log("change",e)
+            const id = e.detail;
+            const { treeList } = this.data;
+            const { itemListKey } = this.data;
+            const { idKey } = this.data;
+            this.changeOpen(treeList, id,itemListKey,idKey);
+            this.setData({
+                tree: treeList
+            })
+        },
+        // 点击名字
+        clickName(e){
+            const { idKey } = this.data;
+            const { nameKey } = this.data; 
+     
+           this.triggerEvent('clickName', {id:e.currentTarget.dataset.item[idKey],name:e.currentTarget.dataset.item[nameKey]} );
+   
+        },
+        //点击控件里的控件 回调
+        subclickName(e){
+             
+            this.triggerEvent('clickName', {id:e.detail.id,name:e.detail.name} );
+        },
+        click(e) {
+            console.log("click")
+            const t = this.selectAllComponents('#treeSelect');
+            t.forEach(item => {
+                item.click(e);
+            })
+            const { idKey } = this.data;
+            let id = '';
+            if (e.detail) {
+                id = e.detail[idKey];
+            }
+            const { treeList } = this.data;
+            this.setStatus(treeList, id,idKey);
+            this.setData({
+                tree: treeList
+            })
+        },
+        handleClick(e) {
+            const t = this.selectAllComponents('#treeSelect');
+            t.forEach(item => {
+                item.click(e);
+            })
+            //   const {id}=e.currentTarget.dataset;
+            const { id, value } = e.currentTarget.dataset;
+            const { treeList } = this.data;
+            const { idKey } = this.data;
+            // const value = this.getData(treeList, id)
+            this.setStatus(treeList, id,idKey);
+            this.triggerEvent('onclick', { id, value, treeList }, { composed: true, bubbles: true });
+            this.setData({
+                tree: treeList
+            })
+        },
+        //切换选中状态
+        setStatus(tree, id,idKey) {
+            for (let i = 0; i < tree.length; i += 1) {
+                if (tree[i][idKey] == id) {
+                    tree[i].selected = true;
+                } else {
+                    tree[i].selected = false;
+                }
+                if (tree[i][itemListKey]) {
+                    this.setStatus(tree[i][itemListKey], id,idKey);
+                }
+            }
+            return;
+        },
+        //获取选中项信息
+        getData(tree, id,idKey) {
+            for (let i = 0; i < tree.length; i += 1) {
+                if (tree[i][idKey] === id) {
+                    return tree[i].name;
+                }
+                if (tree[i][itemListKey]) {
+                    this.getData(tree[i][itemListKey], id,idKey);
+                }
+            }
+            return '';
+        },
+ 
+    },
+
+
+})

+ 6 - 0
components/dkbase/dk-tree-form-more/dk-tree-form-more.json

@@ -0,0 +1,6 @@
+{
+    "component": true,
+    "usingComponents": { 
+      
+    }
+}

+ 67 - 0
components/dkbase/dk-tree-form-more/dk-tree-form-more.wxml

@@ -0,0 +1,67 @@
+<view wx:for="{{tree}}" class="{{!item[parentIdKey]?'Outer-frame':''}}">
+  <!-- 列表上半部分 -->
+  <van-swipe-cell right-width="{{ 65 }}" disabled="{{swipeDisabled}}" right-hight="10">
+  
+ 
+  <view wx:if="{{!item[parentIdKey]}}" style="display: flex;padding:3vw;background: linear-gradient(180deg, #E2ECFF 0%, #FAFCFF 100%);border-radius: 15rpx 15rpx 0 0 ">
+    <view style="display: flex;flex: 1;" data-item="{{item}}" data-type="fa" bindtap="clickName">
+      <view class="font">{{item[nameKey]}}</view>
+    </view>
+
+    <view style="margin-right: 20rpx;" wx:if="{{flgValid}}">
+      <view class="status-detail-class" style="{{item[flgValidKey] ? '' : 'background-color:red;width: 100%;'}}">{{item[flgValidKey] ? '启用' : '停用'}}
+      </view>
+    </view>
+    <view style=" text-align: right;" data-id="{{item[idKey]}}" data-open="{{item.open}}" bindtap="onchange">
+      <van-icon wx:if="{{ item.open }}" color="#bdb7b7" name="arrow-down" />
+      <van-icon wx:else color="#bdb7b7" name="arrow" />
+    </view>
+  </view>
+   <!-- 侧拉 -->
+   <view wx:if="{{!swipeDisabled}}"  data-index="{{index}}" data-item="{{item}}" catch:tap="onSwipe"  slot="right">{{(item[flgValidKey] ? '停用' : '启用')}}</view>
+</van-swipe-cell>
+  <!-- 列表下半部分 -->
+  <view class="{{!item[parentIdKey]?'list-below-item':''}}">
+    <block>
+      <van-swipe-cell right-width="{{ 65 }}" disabled="{{swipeDisabled}}">
+        <view wx:if="{{item[parentIdKey]}}" style="display:flex;align-items:center;margin-left:{{item[itemListKey].length !== 0 ? depth*20 : depth*30}}px;font-size:36rpx;margin-top: 5px;">
+          <view wx:if="{{isNameImgFlag}}">
+            <view class="tree_left" wx:if="{{item[itemListKey].length !== 0}}" data-id="{{item[idKey]}}" data-open="{{item.open}}">
+              <van-image round width="36rpx" height="36rpx" src="{{'/static/img/tree.png'}}" />
+            </view>
+          </view>
+          <view wx:if="{{ischekboxFlag}}">
+            <checkbox checked="{{item.selected}}" bindchange="handleCheckboxChange" data-id="{{item.id}}"> </checkbox>
+          </view>
+          <view class="{{item[itemListKey].length !== 0 ?'parent':'node'}} " style="padding-top: 16rpx;padding-bottom: 16rpx; width: 100%;margin-left: 5vw;font-size: 14px;" data-item="{{item}}" data-type="sub" data-open="{{item.open}}" bindtap="clickName">
+            <view class="font">{{item[nameKey]}}</view>
+          </view>
+
+          <view style="margin-right: 50rpx;width: auto" wx:if="{{flgValid}}">
+            <view class="status-detail-class" style="{{item[flgValidKey] ? 'width:100%' : 'background-color:red;width: 100%;'}}">{{item[flgValidKey] ? '启用' : '停用'}}
+            </view>
+          </view>
+
+          <view style="flex:1;">
+            <view class="tree_right" wx:if="{{item[itemListKey]}}" data-id="{{item[idKey]}}" data-open="{{item.open}}" bindtap="onchange">
+              <van-icon wx:if="{{!item.open }}" color="#bdb7b7" name="arrow" />
+              <van-icon wx:else name="arrow-down" color="#bdb7b7" />
+            </view>
+          </view>
+        </view>
+        <!-- 侧拉 -->
+        <view wx:if="{{!swipeDisabled}}"  data-index="{{index}}" data-item="{{item}}" catch:tap="onSwipe"  slot="right">{{(item[flgValidKey] ? '停用' : '启用')}}</view>
+      </van-swipe-cell>
+      <block wx:if="{{item[itemListKey]}}">
+        <view hidden="{{!item.open}}">
+          <dk-tree-form-more bind:clickName="subclickName" treeList="{{item[itemListKey]}}" ischekboxFlag="{{ischekboxFlag}}" flgValid="{{flgValid}}" swipeDisabled="{{swipeDisabled}}" isNameImgFlag="{{isNameImgFlag}}" flgValidKey="{{flgValidKey}}" nameKey="{{nameKey}}" idKey="{{idKey}}" parentIdKey="{{parentIdKey}}" itemListKey="{{itemListKey}}" bind:onSwipe="onSwipe" id="treeSelect" bind:onclick="click" depth="{{depth+1}}"></dk-tree-form-more>
+        </view>
+      </block>
+
+
+
+    </block>
+  </view>
+
+
+</view>

+ 76 - 0
components/dkbase/dk-tree-form-more/dk-tree-form-more.wxss

@@ -0,0 +1,76 @@
+.font {
+  font-family: PingFang SC;
+  font-size: 30rpx;
+  font-weight: 500;
+  line-height: 36rpx;
+  letter-spacing: 0em;
+  text-align: left;
+}
+
+.status-detail-class {
+  height: 49rpx;
+  line-height: 49rpx;
+  border-radius: 6rpx;
+  background-color: #77C5D5;
+  text-align: center;
+  /* width: 100%; */
+  font-size: 13px;
+  color: #fff;
+  padding: 0 20rpx;
+}
+
+.tree_left {
+  position: relative;
+  float: left;
+}
+
+.tree_right {
+  position: relative;
+  float: right;
+}
+
+.icon-down {
+  border: 8px solid;
+  border-color: transparent transparent #B8B8B8;
+  transform: rotate(180deg);
+  margin-top: 7px;
+  margin-left: 5px;
+  margin-right: 10px;
+}
+
+.icon-right {
+  border: 8px solid;
+  border-color: transparent transparent #B8B8B8;
+  transform: rotate(90deg);
+  margin-left: 5px;
+}
+
+.selected {
+  height: 20px;
+  width: 20px;
+  border-radius: 50%;
+  border: 1px solid #D6D6D6;
+  float: right;
+  margin-left: 5px;
+  margin-top: 2px;
+}
+
+.image-frame {
+  width: 39rpx;
+  height: 39rpx;
+  background-color: #95A8CB;
+  border-radius: 50%;
+  margin-top: 5rpx;
+  margin-right: 3vw;
+}
+
+.Outer-frame {
+  background: white;
+  margin: 3vw;
+  border-radius: 15rpx;
+}
+
+.list-below-item {
+  padding-right: 3vw;
+  padding-bottom: 3vw;
+}

+ 10 - 0
i18n/zh-CN.js

@@ -27,6 +27,16 @@ const home = {
   currentMonth:'本月',
   transactionAmount:'成交额',
   collectionAmount:'收款额',
+  registerCommany:'注册商户',
+  settingCommany:'商户设置',
+  standardVersion :'标准版',
+  flagshipVersion :'旗舰版',
+  recommendedGifts: '推荐有礼',
+  companyName: '公司名称',
+  headName: '负责人',
+  userCount:'用户数量',
+  shopCount:'门店数量',
+  communicationFeedback:'沟通反馈',
 }
 
 //  基础数据

+ 115 - 0
package-base-select/pages/select-product-types/select-product-types.js

@@ -0,0 +1,115 @@
+const Constants = require('@/utils/Constants.js');
+const util = require('@/utils/util.js')
+const mixins = require('@/mixins/index.js')
+const app = getApp()
+Page({
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    // 路由
+    routeObjName: 'select-product-types',
+    tableData: [],
+    goodsCategoryService: app.globalData['goodsCategoryService'],
+  },
+   /**
+  * @desc :   列表点击事件
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */ 
+  clickName(e) {
+    console.log("clickName回调", e)
+    const eventChannel = this.getOpenerEventChannel();
+    eventChannel.emit('bindData', { data: { id: e.detail.id, name: e.detail.name } })
+    wx.navigateBack({
+      delta: 1
+    })
+  },
+  /**
+  * @desc :   处理接口返回数据
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  handleSearchData(tableData) {
+    this.setData({
+      tableData: util.convertToChildren(tableData, 'parentId', 'catId', null)
+    })
+    const myComponent = this.selectComponent('#treeSelect');
+    myComponent.setDataFromPage(this.data.tableData);
+  },
+    /**
+   * @desc : 设置查询参数
+   * @author : 于继渤
+   * @date : 2024/1/23 9:16
+   */
+  setSearchParams(params){
+    params.pageSize = 100000
+    params.currentPage = 1 
+    return params
+  },
+
+  /**
+   * @desc : 加载数据
+   * @author : 于继渤
+   * @date : 2024/1/23 9:16
+   */
+  getData(params) {
+    return this.excute(this.data.goodsCategoryService, this.data.goodsCategoryService.selectByCond, params);
+  },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 4 - 0
package-base-select/pages/select-product-types/select-product-types.json

@@ -0,0 +1,4 @@
+{
+    "usingComponents": {},
+    "navigationBarTitleText": "商品种类"
+}

+ 4 - 0
package-base-select/pages/select-product-types/select-product-types.wxml

@@ -0,0 +1,4 @@
+
+
+
+<dk-tree-form-more  treeList="{{tableData}}" idKey="catId" nameKey="catName" parentIdKey="parentId" itemListKey="children" flgValidKey="flgValid" flgValid="{{false}}" swipeDisabled="{{true}}" id="treeSelect" bind:onclick="treeClick"  bind:clickName="clickName"></dk-tree-form-more>

+ 1 - 0
package-base-select/pages/select-product-types/select-product-types.wxss

@@ -0,0 +1 @@
+/* package-base-select/pages/select-product-types/select-product-types.wxss */

+ 72 - 17
package-basic-data/pages/product-attribute/product-attribute.js

@@ -16,7 +16,7 @@ Page({
    * 页面的初始数据
    */
   data: {
-
+    routeObjNameGoTo: '',
     goodsBrandService: app.globalData['goodsBrandService'],
     goodsCategoryService: app.globalData['goodsCategoryService'],
     goodsSeriesService: app.globalData['goodsSeriesService'],
@@ -25,8 +25,8 @@ Page({
     routeObjName: 'product-attribute',
     // 列表区(内容)商品品牌
     contentList: [
-      { name: 'brandCode' , title: mixins.$t('brandCode')},
-      { name: 'brandName', title:mixins.$t('brandName') },
+      { name: 'brandCode', title: mixins.$t('brandCode') },
+      { name: 'brandName', title: mixins.$t('brandName') },
       { name: 'supplierName', title: mixins.$t('supplier') }
     ],
     sidebarList: [
@@ -35,13 +35,13 @@ Page({
       { id: 2, name: mixins.$t('goodsSeries') },
       { id: 3, name: mixins.$t('unit') }
     ],
-    formDataName:  mixins.$t('goodsBrand') ,
+    formDataName: mixins.$t('goodsBrand'),
     popContent:
       [
         { code: 'brandCode', type: 'str', title: mixins.$t('brandCode'), required: false, readonly: true, },
-        { code: 'brandName', type: 'str', title: mixins.$t('brandName') , required: true },
+        { code: 'brandName', type: 'str', title: mixins.$t('brandName'), required: true },
         { code: 'supplierId', name: 'supplierName', title: 'supplier', type: 'choose', required: true, dropType: 'supplier', required: true },
-        { code: 'remarks', type: 'str', title: mixins.$t('remarks') , required: false }
+        { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }
       ],
 
 
@@ -88,11 +88,11 @@ Page({
     let item = e.detail.item
     let service = null
     let id = null
-    if (this.data.formDataName ==  mixins.$t('goodsBrand')) {
+    if (this.data.formDataName == mixins.$t('goodsBrand')) {
       service = this.data.goodsBrandService
       id = 'brandId'
     }
-    if (this.data.formDataName ==  mixins.$t('goodsCategory')) {
+    if (this.data.formDataName == mixins.$t('goodsCategory')) {
       service = this.data.goodsCategoryService
       id = 'catId'
     }
@@ -124,6 +124,17 @@ Page({
   },
 
   /**
+   * @desc   : 商品种类停用启用
+   * @author : 于继渤
+   * @date   : 2024/1/26 11:46
+   */
+  onSwipe(e) {
+    console.log('商品种类停用启用',e)
+  },
+
+
+
+  /**
    * @desc : 保存编辑
    * @author : 于继渤
    * @date : 2022/5/26 20:16
@@ -203,9 +214,44 @@ Page({
     this.setPopContent();
     this.setData({
       dataItem: null,
+      formData: null,
       showPop: true,
     })
+
+  },
+
+  /**
+    * @desc :   处理接口返回数据
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
+  handleSearchData(tableData) {
+    console.log('this.data.formDataName', this.data.formDataName, tableData)
+    if (this.data.formDataName == mixins.$t('goodsCategory')) {
+      this.setData({
+        tableData: util.convertToChildren(tableData, 'parentId', 'catId', null)
+      })
+      const myComponent = this.selectComponent('#treeSelect');
+      myComponent.setDataFromPage(this.data.tableData);
+    }
+
+  },
+
+
+  /**
+   * @desc : 设置查询参数
+   * @author : 于继渤
+   * @date : 2024/1/23 9:16
+   */
+  setSearchParams(params) {
+    if (this.data.formDataName == mixins.$t('goodsCategory')) {
+      params.pageSize = 100000
+      params.currentPage = 1
+    }
+
+    return params
   },
+
   /**
    * @desc : 加载数据
    * @author : 于继渤
@@ -231,23 +277,31 @@ Page({
   setPopContent() {
     let formDataName = this.data.formDataName
     let popContent = this.data.popContent
+    let routeObjNameGoTo = this.data.routeObjNameGoTo
     console.log('formDataName', formDataName)
-    if (formDataName ==  mixins.$t('goodsBrand')) {//商品品牌
+    if (formDataName == mixins.$t('goodsBrand')) {//商品品牌
       popContent =
         [
           { code: 'brandCode', type: 'str', title: mixins.$t('brandCode'), required: false, readonly: true, },
           { code: 'brandName', type: 'str', title: mixins.$t('brandName'), required: true },
           { code: 'supplierId', name: 'supplierName', title: 'supplier', type: 'choose', required: true, dropType: 'supplier', required: true },
-          { code: 'remarks', type: 'str', title:mixins.$t('remarks'), required: false }
+          { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }
         ]
-    } 
-    if (formDataName ==  mixins.$t('goodsCategory')) { //商品种类
-
     }
-    if (formDataName ==  mixins.$t('goodsSeries')) { //商品系列
+    if (formDataName == mixins.$t('goodsCategory')) { //商品种类
+      popContent =
+        [
+          { code: 'catCode', type: 'str', title: mixins.$t('catCode'), required: false, readonly: true, },
+          { code: 'parentId', name: 'parentName', title: 'parent', type: 'choose', required: true, dropType: 'supplier', required: true, urlKey: 'selectProductTypes', },
+          { code: 'catName', type: 'str', title: mixins.$t('catName'), required: true },
+          { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }
+        ]
+      routeObjNameGoTo = 'goodsCategory'
+    }
+    if (formDataName == mixins.$t('goodsSeries')) { //商品系列
       popContent =
         [
-          { code: 'seriesCode', type: 'str', title:  mixins.$t('seriesCode'), required: false, readonly: true, },
+          { code: 'seriesCode', type: 'str', title: mixins.$t('seriesCode'), required: false, readonly: true, },
           { code: 'seriesName', type: 'str', title: mixins.$t('seriesName'), required: true },
           { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }
         ]
@@ -257,12 +311,13 @@ Page({
         [
           { code: 'unitCode', type: 'str', title: mixins.$t('unitCode'), required: false, readonly: true, },
           { code: 'unitName', type: 'str', title: mixins.$t('unitName'), required: true },
-          { code: 'decimalPlaces', type: 'number',title: mixins.$t('decimalPlaces'), required: true },
+          { code: 'decimalPlaces', type: 'number', title: mixins.$t('decimalPlaces'), required: true },
           { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }
         ]
     }
     this.setData({
-      popContent: popContent
+      popContent: popContent,
+      routeObjNameGoTo: routeObjNameGoTo
     })
   },
 

+ 6 - 1
package-basic-data/pages/product-attribute/product-attribute.wxml

@@ -21,6 +21,9 @@
 
     <!-- 商品品牌 -->
     <dk-list wx:if="{{formDataName == $t['goodsBrand']}}" list="{{tableData}}" titleImageFlag="{{false}}" swipeDisabled="{{false}}" bind:swipe="deactivateEnable" statusFlag="{{false}}" flgPoint="{{false}}" switchFlag="{{true}}" title="goodsBrand" content="{{contentList}}" collectName="" contentObj="{{contentObj}}" bind:toDetail="toDetail" bind:toPoint="toPoint" routeObjName="{{routeObjName}}" buttonList="{{buttonList}}" bind:open="open"></dk-list>
+    
+    <!-- 商品种类 -->
+    <dk-tree-form-more wx:if="{{formDataName == $t['goodsCategory']}}" treeList="{{tableData}}" idKey="catId" flgValidKey="flgValid" nameKey="catName" parentIdKey="parentId" itemListKey="children" id="treeSelect" bind:onclick="treeClick"  bind:onSwipe="onSwipe"></dk-tree-form-more>
 
     <!-- 商品系列 -->
     <dk-list wx:if="{{formDataName ==  $t['goodsSeries']}}" list="{{tableData}}" titleImageFlag="{{false}}" swipeDisabled="{{false}}" bind:swipe="deactivateEnable" statusFlag="{{false}}" flgPoint="{{false}}" switchFlag="{{true}}" title="seriesName" bind:toDetail="toDetail" bind:open="open"></dk-list>
@@ -28,6 +31,8 @@
     <!-- 计量单位 -->
     <dk-list wx:if="{{formDataName ==  $t['unit']}}" list="{{tableData}}" titleImageFlag="{{false}}" swipeDisabled="{{false}}" bind:swipe="deactivateEnable" subMainTitlelabel="{{$t['decimalPlacesNumber']}}" subMainTitle="decimalPlaces" statusFlag="{{false}}" flgPoint="{{false}}" switchFlag="{{true}}" title="unitName" bind:toDetail="toDetail" bind:open="open"></dk-list>
 
+
+
     <!-- 保留高度 -->
     <view style="height: 220rpx;"></view>
   </view>
@@ -39,7 +44,7 @@
 
 
 
-<dk-popup type="basic" priceTitle="" priceCol="pricePromotion" subCol="desc" title="{{formDataName}}" value="{{dataItem}}" show="{{showPop}}" contentObj="{{popContent}}" bind:commit="editItems">
+<dk-popup type="basic" priceTitle="" priceCol="pricePromotion" subCol="desc" title="{{formDataName}}" value="{{dataItem}}" show="{{showPop}}" routeObjName="{{routeObjNameGoTo}}" contentObj="{{popContent}}" bind:commit="editItems">
 </dk-popup>
 
 

+ 194 - 55
package-basic-data/pages/register/company-param-setting/company-param-setting.js

@@ -1,66 +1,205 @@
-// package-basic-data/pages/register/company-param-setting/company-param-setting.js
+const Constants = require('@/utils/Constants.js');
+const util = require('@/utils/util.js')
+const mixins = require('@/mixins/index.js')
 Page({
-
-    /**
-     * 页面的初始数据
-     */
-    data: {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面隐藏
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    routeObjName: 'roleSensitive',
+    tableData: [],
+    formData: {},
+  },
+  /**
+     * @desc :   列表交换器选择事件全选
+     * @date : 2024/2/1 15:49
+     * @author : 姜永辉
      */
-    onHide() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
+  onChangeSwitch(e) {
+    console.log(e)
+    let formData = this.data.formData
+    let tableData = this.data.tableData
+    formData.checked = e.detail
+    if (tableData && tableData.length > 0) {
+      tableData.forEach(res => {
+        res.checked = e.detail
+        if (res.children && res.children.length > 0) {
+          res.children.forEach(it => {
+            it.checked = e.detail
+          })
+        }
+      })
+    }
 
-    },
+    this.setData({
+      formData: formData,
+      tableData: tableData
+    })
+  },
 
-    /**
-     * 页面相关事件处理函数--监听用户下拉动作
+  /**
+     * @desc :   列表交换器选择事件父级
+     * @date : 2024/2/1 15:49
+     * @author : 姜永辉
      */
-    onPullDownRefresh() {
-
-    },
-
-    /**
-     * 页面上拉触底事件的处理函数
+  onCheckedItem(e) {
+    console.log(e)
+    let _that = this
+    let index = e.currentTarget.dataset.index
+    let tableData = _that.data.tableData
+    tableData[index].checked = !tableData[index].checked
+    if (tableData[index].children && tableData[index].children.length > 0) {
+      console.log('list[index].children', tableData[index].children)
+      tableData[index].children.forEach(res => {
+        res.checked = tableData[index].checked
+      })
+    }
+    _that.setData({
+      tableData: tableData
+    })
+
+  },
+  /**
+     * @desc :   列表交换器选择事件子级
+     * @date : 2024/2/1 15:49
+     * @author : 姜永辉
      */
-    onReachBottom() {
+  onCheckedItem_(e) {
+    let index = e.currentTarget.dataset.index
+    let index_ = e.currentTarget.dataset.index_
+    let tableData = this.data.tableData
+    tableData[index].children[index_].checked = !tableData[index].children[index_].checked
+    if (tableData[index].children.filter(res => {
+      res.checked
+    }).length == tableData[index].children.length) {
+      tableData[index].checked = true
+    } else {
+      tableData[index].checked = false
+    }
+    this.setData({
+      tableData: tableData
+    })
+  },
 
-    },
 
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage() {
 
+  /**
+   * @desc : 设置查询参数
+   * @date : 2024/2/1 15:49
+   * @author : 姜永辉
+   */
+  setSearchParams(params) {
+    if (this.data.id && this.data.id) {
+      params.roleId = this.data.id
     }
+    if (this.data.item && this.data.item.roleId) {
+      params.roleId = this.data.item.roleId
+    }
+    return params;
+  },
+  /**
+ * @desc :   加载数据
+ * @date : 2024/2/1 15:49
+ * @author : 姜永辉
+ */
+  getData(params) {
+    return this.excute(this.data.service, this.data.service.getRoleSensitive, params);
+  },
+
+  /**
+* @desc :   处理接口返回数据
+* @date : 2024/2/1 15:49
+* @author : 姜永辉
+*/
+  handleSearchData(tableData) {
+    this.setData({
+      tableData: util.convertToChildren(tableData, 'parentCode', 'itemCode')
+    })
+  },
+  /**
+ * @desc :   折叠面板多选框事件
+ * @date : 2024/2/1 15:49
+ * @author : 姜永辉
+ */
+  obtainList(e) {
+    this.setData({
+      tableData: e.detail.list
+    })
+  },
+
+  toAdd() {
+    let tableData = this.data.tableData
+    //格式化数据
+    let tableDataTemp = []
+    tableData.forEach(res => {
+      if (res.checked) {
+        tableDataTemp.push({
+          senItemCode: res.itemCode,
+          flgShow: res.checked
+        })
+      }
+      if (res.children && res.children.length > 0) {
+        res.children.forEach(it => {
+          if (it.checked) {
+            tableDataTemp.push({
+              senItemCode: it.itemCode,
+              flgShow: it.checked
+            })
+          }
+        })
+      }
+    })
+    //铭感信息跳转编辑
+    if (this.data.formType == Constants.formMode.edit) {
+      //调用接口修改权限
+      let formData = this.data.formData
+      formData.roleSensitiveList = tableDataTemp
+      formData.roleId = this.data.id
+      this.setData({
+        formData: JSON.stringify(this.data.formData)
+      })
+      let params = {}
+      this.save(params)
+    } else {
+      // 给父页面传递数据
+      const eventChannel = this.getOpenerEventChannel();
+      eventChannel.emit('bindData', {
+        showFlag: 'selectSensitiveData',
+        list: tableDataTemp
+      })
+      wx.navigateBack({
+        delta: 1
+      })
+    }
+
+  },
+
+  /**
+  * @desc : 批量修改敏感信息接口
+  * @date : 2024/2/1 15:49
+  * @author : 姜永辉
+  */
+  saveData(params) {
+    return this.excute(this.data.service, this.data.service.updateBatch, params);
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+    //接收父页面传递的参数
+    let that = this
+    const eventChannel = this.getOpenerEventChannel()
+    eventChannel.on('params', function (data) {
+      let formData = that.data.formData
+      formData.roleName = data.item ?  data.item.roleName : data.roleName
+      that.setData({
+        formData: formData,
+        id: data.item ? data.item.roleId : data.id,
+        formType: data.item ?  data.item.button.formType : data.formType
+      })
+    })
+  },
+ 
 })

+ 2 - 1
package-basic-data/pages/register/company-param-setting/company-param-setting.json

@@ -1,3 +1,4 @@
 {
-    "usingComponents": {}
+    "usingComponents": {},
+    "navigationBarTitleText": "参数设置"
 }

+ 36 - 2
package-basic-data/pages/register/company-param-setting/company-param-setting.wxml

@@ -1,2 +1,36 @@
-<!--package-basic-data/pages/register/company-param-setting/company-param-setting.wxml-->
-<text>package-basic-data/pages/register/company-param-setting/company-param-setting.wxml</text>
+<!-- 前台导入wxmlUtil.wxs -->
+<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
+<loading wx:if="{{loading}}" loadingName="{{$t['loading']}}" backgroundColor="#f2f2f2;" opacity="0.8"></loading> 
+
+<!-- 数据列表区 -->
+<view wx:for="{{tableData}}" wx:for-item="item" wx:for-index="index" data-item="{{item}}" wx:key="index" class="main-class">
+  <view class="main-foot-2" style="position: relative;">
+    <view class="corner-view" style="padding:20rpx">
+      <view style="display: flex;">
+        <view class="corner-view-text font" style="width: 70%;">{{item.itemName}}</view>
+        <view style="width: 30%;text-align: right;">
+          <van-switch bind:change="onCheckedItem"  data-index="{{index}}" active-color="#00A7B5" checked="{{ item.checked }}" size="18px"></van-switch>
+        </view>
+
+      </view>
+
+    </view>
+
+    <view style="background-color: white;">
+      <view wx:for="{{item.children}}"  wx:for-item="item_" wx:for-index="index_" wx:key="index_" style="display: flex;padding:20rpx">
+        <view class="corner-view-text font" style="width: 70%;">{{item_.itemName}}</view>
+        <view style="width: 30%;text-align: right;">
+          <van-switch bind:change="onCheckedItem_"  data-index="{{index}}"  data-index_="{{index_}}" active-color="#00A7B5" checked="{{ item_.checked }}" size="18px"></van-switch>
+        </view>
+
+      </view>
+    </view>
+  </view>
+
+
+
+</view>
+
+
+
+<dk-save-bottom flagTypeName="select-functional-permissions" bottomClass="{{true}}" bind:submit="toClose" bind:allClean="toAdd" />

+ 8 - 1
package-basic-data/pages/register/company-param-setting/company-param-setting.wxss

@@ -1 +1,8 @@
-/* package-basic-data/pages/register/company-param-setting/company-param-setting.wxss */
+.font {
+	font-family: PingFang HK;
+	font-size: 30rpx;
+	font-weight: 400;
+	line-height: 40rpx;
+	letter-spacing: 0em;
+	text-align: left;	
+  }

+ 66 - 0
package-basic-data/pages/register/company-register/company-register.js

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

+ 3 - 0
package-basic-data/pages/register/company-register/company-register.json

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

+ 2 - 0
package-basic-data/pages/register/company-register/company-register.wxml

@@ -0,0 +1,2 @@
+<!--package-basic-data/pages/register/company-register/company-register.wxml-->
+<text>package-basic-data/pages/register/company-register/company-register.wxml</text>

+ 1 - 0
package-basic-data/pages/register/company-register/company-register.wxss

@@ -0,0 +1 @@
+/* package-basic-data/pages/register/company-register/company-register.wxss */

+ 58 - 48
package-basic-data/pages/register/company-setting/company-setting.js

@@ -1,66 +1,76 @@
-// package-basic-data/pages/register/company-setting/company-setting.js
+const mixins = require('@/mixins/index.js')
+const app = getApp()
+const util = require('@/utils/util.js')
+const Constants = require('@/utils/Constants.js');
+const api = require('@/utils/api.js');
 Page({
-
+    mixins: [mixins],
     /**
      * 页面的初始数据
      */
     data: {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面加载
-     */
-    onLoad(options) {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面初次渲染完成
-     */
-    onReady() {
-
-    },
-
-    /**
-     * 生命周期函数--监听页面显示
-     */
-    onShow() {
-
+        // 路由
+        routeObjName: 'setting',
+        cardList: ['main'],
+        contentObj: {
+            main: [
+                { code: 'standardVersion', type: 'str', readonly: 'true', title: mixins.$t('standardVersion') },
+                { code: 'companyName', type: 'str', readonly: 'true', required: 'true', title: mixins.$t('companyName') },
+                { code: 'headName', type: 'str', readonly: 'true', required: 'true', title: mixins.$t('headName') },
+                { code: 'contactPhone', type: 'str', readonly: 'true', required: 'true', title: mixins.$t('contactPhone') },
+                { code: 'userCount', type: 'str', readonly: 'true', title: mixins.$t('userCount') },
+                { code: 'shopCount', type: 'str', readonly: 'true', title: mixins.$t('shopCount') },
+                { code: 'communicationFeedback', type: 'textarea', readonly: 'true', title: mixins.$t('communicationFeedback') },
+            ],
+        },
     },
 
     /**
-     * 生命周期函数--监听页面隐藏
-     */
-    onHide() {
-
+    * @desc : 参数设置
+    * @date : 2024/2/1 15:49
+    * @author : 姜永辉
+    */
+    paramSetting(e) { 
+        wx.navigateTo({
+          url: this.data.route.companyRegister.url,
+          events: {
+            // 回调后,在这里给页面赋值
+            bandData: function (e) {
+            }
+          },
+          success: function (res) {
+            // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+            res.eventChannel.emit('params', {})
+          }
+        })
     },
 
-    /**
-     * 生命周期函数--监听页面卸载
-     */
-    onUnload() {
-
-    },
 
     /**
-     * 页面相关事件处理函数--监听用户下拉动作
-     */
-    onPullDownRefresh() {
-
+    * @desc : 加载数据
+    * @date : 2024/2/1 15:49
+    * @author : 姜永辉
+    */
+    loadInit() {
+        this.getCompanySetting()
     },
 
     /**
-     * 页面上拉触底事件的处理函数
-     */
-    onReachBottom() {
-
+   * @desc : 加载商户设置
+   * @date : 2022/5/15 16:49
+   * @author : 姜永辉
+   */
+    getCompanySetting() {
+        let param = {
+            dataSourceCode: 'purviewType',
+        }
+        api.request(Constants.BASIC_COMMON_API + 'get_wx_init_data', 'POST', param)
+            .then(res => {
+                if (res.data.code === Constants.SUCESS_CODE) {
+                    let list = res.data.data
+
+                }
+            })
     },
 
-    /**
-     * 用户点击右上角分享
-     */
-    onShareAppMessage() {
-
-    }
 })

+ 2 - 1
package-basic-data/pages/register/company-setting/company-setting.json

@@ -1,3 +1,4 @@
 {
-    "usingComponents": {}
+    "usingComponents": {},
+    "navigationBarTitleText": "商户设置"
 }

+ 23 - 2
package-basic-data/pages/register/company-setting/company-setting.wxml

@@ -1,2 +1,23 @@
-<!--package-basic-data/pages/register/company-setting/company-setting.wxml-->
-<text>package-basic-data/pages/register/company-setting/company-setting.wxml</text>
+<!-- 加载图层 -->
+<loading wx:if="{{loading}}"></loading>
+
+<!-- 销售任务进度 -->
+<view class="task-progress">
+  <view class="task-progress-header">
+    <view class="task-progress-header-name">商户信息</view>
+    <view class="task-progress-header-name">
+      <van-button size='mini' bind:click="paramSetting" type="default">参数设置
+      </van-button>
+    </view>
+  </view>
+</view>
+
+<!-- 列表区 -->
+<dk-form id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" contentObj="{{contentObj}}" model:value="{{formData}}" bind:chooseData="chooseData">
+</dk-form>
+
+<!--  保存 -->
+<view class="bottom-class">
+  <van-button custom-class="save-button-class" disabled="{{loading}}" loading="{{loading}}" bind:click="close" type="default">关闭
+  </van-button>
+</view>

+ 48 - 1
package-basic-data/pages/register/company-setting/company-setting.wxss

@@ -1 +1,48 @@
-/* package-basic-data/pages/register/company-setting/company-setting.wxss */
+/**底部的样式*/
+.bottom-class{
+	position: fixed;
+	bottom: 20rpx;
+	width: 100%;
+	align-items: center;
+	justify-content: center;
+	border-top: 2rpx solid #efefef;
+	z-index: 2;
+	display: flex;
+  }  
+  /**底部保存按钮的样式*/
+  .save-button-class{
+	width: 640rpx;
+	background: #1B365D !important;
+	border-radius: 15rpx !important;
+	color:#fff !important;
+	font-size: 16px !important;
+	font-weight: 500 !important;
+  }
+
+  
+  .task-progress {
+	margin-left: 30rpx;
+	width: calc(100% - 60rpx);
+	background: #FFFFFF;
+	box-shadow: 0px 10px 20px rgba(225, 229, 238, 0.6);
+	border-radius: 15rpx;
+	margin-top: 30rpx;
+	margin-bottom: -15rpx;
+  }
+  
+  .task-progress-header {
+	display: flex;
+	background: linear-gradient(90.12deg, #9BCBEB 0.13%, #D9F0FF 99.92%);
+	padding: 24rpx;
+	border-radius: 15rpx 15rpx 0px 0px;
+	align-items: center;
+	justify-content: space-between;
+  }
+  
+  .task-progress-header-name {
+	font-style: normal;
+	font-weight: 500;
+	font-size: 16px;
+	color: #FFFFFF;
+	font-family: 'PingFang SC';
+  }

+ 66 - 0
package-basic-data/pages/register/product-professional-detail/product-professional-detail.js

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

+ 3 - 0
package-basic-data/pages/register/product-professional-detail/product-professional-detail.json

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

+ 2 - 0
package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxml

@@ -0,0 +1,2 @@
+<!--package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxml-->
+<text>package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxml</text>

+ 1 - 0
package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxss

@@ -0,0 +1 @@
+/* package-basic-data/pages/register/product-professional-detail/product-professional-detail.wxss */

+ 66 - 0
package-basic-data/pages/register/product-standard-detail/product-standard-detail.js

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

+ 3 - 0
package-basic-data/pages/register/product-standard-detail/product-standard-detail.json

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

+ 2 - 0
package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxml

@@ -0,0 +1,2 @@
+<!--package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxml-->
+<text>package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxml</text>

+ 1 - 0
package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxss

@@ -0,0 +1 @@
+/* package-basic-data/pages/register/product-standard-detail/product-standard-detail.wxss */

+ 6 - 46
package-basic-data/pages/role/add/add.js

@@ -13,8 +13,8 @@ Page({
       main: [
         { code: 'roleName', type: 'str', required: true, title: mixins.$t('roleName') },
         { code: 'remarks', type: 'textarea', title: mixins.$t('remarks') },
-        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectFunctionalPermissions', required: true, type: 'choose', title: mixins.$t('functionalPermissions') },
-        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectSensitiveData', required: true, type: 'choose', title: mixins.$t('sensitiveData') }
+        { formMode: 'index',code:'roleFunList', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectFunctionalPermissions', required: true, type: 'choose', title: mixins.$t('functionalPermissions') },
+        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectSensitiveData', required: true, code:'roleSensitiveList', type: 'choose', title: mixins.$t('sensitiveData') }
       ],
     },
     // 路由
@@ -52,49 +52,7 @@ Page({
     }
   },
 
-  /**
-     * @desc :   表单选择跳转事件
-     * @date : 2024/2/1 15:49
-     * @author : 于继渤
-     */
-  openObjPop(e) {
-    let that = this
-    let key = e.currentTarget.dataset.key
-    wx.navigateTo({
-      url: key,
-      events: {
-        // 回调后
-        bindData: function (data) {
-          let formData = JSON.parse(that.data.formData)
-          if (data.showFlag == 'selectFunctionalPermissions') {
-            formData.roleFunList = data.list
-            that.setData({
-              selectFunctionalPermissionsFlag: data.list.length > 0,
-              formData: JSON.stringify(formData)
-            })
-          } else if (data.showFlag == 'selectSensitiveData') {
-            formData.roleSensitiveList = data.list
-            that.setData({
-              selectSensitiveDataFlag: data.list.length > 0,
-              formData: JSON.stringify(formData)
-            })
-          }
-
-        }
-      },
-      success: function (res) {
-        // 通过eventChannel向被打开页面传送数据
-        let formData = JSON.parse(that.data.formData)
 
-        let data = {
-          roleName: formData.roleName,
-          id: that.data.id,
-          formMode: Constants.formMode.index
-        }
-        res.eventChannel.emit('params', data)
-      }
-    })
-  },
   /**
     * @desc   : 处理数据
     * @author : 于继渤
@@ -153,9 +111,11 @@ Page({
     }
     let contentObj = this.data.contentObj
     if (data.selectFunctionalPermissionsFlag) {
+      data.roleFunList = [{}]
       contentObj.main[2].placeholder = mixins.$t('setUp')
     }
     if (data.selectSensitiveDataFlag) {
+      data.roleSensitiveList = [{}]
       contentObj.main[3].placeholder = mixins.$t('setUp')
     }
 
@@ -266,8 +226,8 @@ Page({
       contentObj.main = [
         { code: 'roleCode', type: 'str', required: false, readonly: true, title: mixins.$t('roleCode') },
         { code: 'roleName', type: 'str', required: true, title: mixins.$t('roleName') },
-        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectFunctionalPermissions', required: true, type: 'choose', title: mixins.$t('functionalPermissions') },
-        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectSensitiveData', required: true, type: 'choose', title: mixins.$t('sensitiveData') }
+        { formMode: 'index',code:'roleFunList', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectFunctionalPermissions', required: true, type: 'choose', title: mixins.$t('functionalPermissions') },
+        { formMode: 'index', idKey: 'roleId', placeholder: mixins.$t('notSet'), urlKey: 'selectSensitiveData', required: true, code:'roleSensitiveList', type: 'choose', title: mixins.$t('sensitiveData') }
       ]
       this.setData({
         contentObj: contentObj

+ 1 - 1
package-basic-data/pages/role/role.js

@@ -137,7 +137,7 @@ Page({
     */
   handleSearchData(tableData) {
     tableData.forEach(res => {
-      res.displayStatus = res.flgValid ? '启用' : '停用'
+      res.displayStatus = res.flgValid ? mixins.$t('enable') : mixins.$t('disable')
       res.backgroundColor = res.flgValid ? '' : 'red'
     })
     this.setData({

+ 31 - 87
pages/mine/mine.js

@@ -2,26 +2,34 @@
  * Copyright(c) 2022 dongke All rights reserved. / Confidential
  * 类的信息:
  *		1.程序名称:
- *		2.功能描述:我的
+ *		2.功能描述:我的设置
  * 编辑履历:
  *		作者				日期					版本				修改内容
- *		于继渤		        2022-0-12	            1.00		   	    
+ *		姜永辉		  2024-2-12	    1.00		   	    
  *******************************************************************************/
 const api = require('@/utils/api.js');
-
+const common = require('@/utils/common.js')
 const Constants = require('@/utils/Constants.js');
 const util = require('@/utils/util.js')
-const common = require('@/utils/common.js')
+const mixins = require('@/mixins/index.js')
+
 import { getReportQuery, getDateQuery } from '/mine-report-params.js'
 
 const app = getApp()
 
 Page({
-
+  mixins: [mixins],
   /**
    * 页面的初始数据
    */
   data: {
+    companyName: '沈阳东科软件有限公司',
+    staffName: '王暖暖',
+    orgName: '沈阳浑南红心美凯龙店',
+    // 路由
+    routeObjName: 'setting',
+
+
     appCount: 0,
     noticeCount: 0,
 
@@ -125,9 +133,18 @@ Page({
     * @date : 2022/5/12 13:49
     * @author : 于继渤
     */
-  toSetting() {
+  toSetting() { 
     wx.navigateTo({
-      url: './setting/setting',
+      url: this.data.route.companySetting.url,
+      events: {
+        // 回调后,在这里给页面赋值
+        bandData: function (e) {
+        }
+      },
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', {})
+      }
     })
   },
   /**
@@ -298,11 +315,11 @@ Page({
     // let waitApprovalflg = common.hasPageUUidRight(Constants.PAGE_RIGHT.WAITAPPROVAL)
     // let storeManagerFlg = common.hasPageUUidRight(Constants.PAGE_RIGHT.STORE_MANAGER)
     this.setData({
-      storeManagerFlg:false,
-      customerflg:false,
-      orderflg:false,
-      receivecustomersflg:false,
-      waitApprovalflg:false,
+      storeManagerFlg: false,
+      customerflg: false,
+      orderflg: false,
+      receivecustomersflg: false,
+      waitApprovalflg: false,
       version: wx.getAccountInfoSync().miniProgram.version,
     })
     /**
@@ -330,79 +347,6 @@ Page({
   },
 
 
-  /** 查询页面展示的所有 */
-  getReportData() {
-    let params = {
-      storeHelper: getReportQuery('storeHelper', 'nearly7days'),
-      staffHelper: getReportQuery('staffHelper', 'nearly7days'),
-      storeOrderRate: Object.assign(getReportQuery('storeOrderRate', null), { type: 'f_kpi_order_rate_month' }),
-      staffOrderRate: Object.assign(getReportQuery('staffOrderRate', null), { type: 'f_kpi_order_rate_month' }),
-      storeRepayRate: Object.assign(getReportQuery('storeRepayRate', null), { type: 'f_kpi_repay_rate_month' }),
-      staffRepayRate: Object.assign(getReportQuery('staffRepayRate', null), { type: 'f_kpi_repay_rate_month' }),
-    }
-
-    api.request(Constants.WX_REPORT + 'select_report_batch', 'POST', params).then(res => {
-
-      if (res.data.code === 200) {
-        this.setData({
-          storeHelper: res.data.data.storeHelper,
-          staffHelper: res.data.data.staffHelper,
-          storeOrderRate: res.data.data.storeOrderRate,
-          staffOrderRate: res.data.data.staffOrderRate,
-          storeRepayRate: res.data.data.storeRepayRate,
-          staffRepayRate: res.data.data.staffRepayRate
-        })
-      } else {
-        console.error("获取报表失败", res)
-      }
-    })
-  },
-
-  /** 查询单个(助手) */
-  getReportDataSingle(e) {
-    let elementQuery = e.currentTarget.dataset
-    let params = getReportQuery(elementQuery.querytype, e.detail.id)
-    this.setData({
-      ['filterBlur' + elementQuery.filterindex]: '5px'
-    })
-    api.request(Constants.WX_REPORT + 'select_report', 'POST', params).then(res => {
-      setTimeout(() => {
-        this.setData({
-          ['filterBlur' + elementQuery.filterindex]: '0'
-        })
-        if (res.data.code === 200) {
-          this.setData({
-            [elementQuery.querytype]: res.data.data,
-          })
-        } else {
-          console.error("获取报表失败", res)
-        }
-      }, 500); /** loading效果 记得去掉 */
-    })
-  },
-  /** 查询单个的(kpi) */
-  getReportDataSingleRate(e) {
-    let elementQuery = e.currentTarget.dataset
-    let params = Object.assign(getReportQuery(elementQuery.querytype, null), { type: elementQuery.funcname + e.detail.id })
-    this.setData({
-      ['filterBlur' + elementQuery.filterindex]: '5px'
-    })
-    api.request(Constants.WX_REPORT + 'select_report', 'POST', params).then(res => {
-      setTimeout(() => {
-        this.setData({
-          ['filterBlur' + elementQuery.filterindex]: '0'
-        })
-        if (res.data.code === 200) {
-          this.setData({
-            [elementQuery.querytype]: res.data.data,
-          })
-        } else {
-          console.error("获取报表失败", res)
-        }
-      }, 500);/** loading效果 记得去掉 */
-    })
-  },
-
   /**
    * @desc : 跳转审批中心
    * @date : 2022/8/09 9:49
@@ -421,8 +365,8 @@ Page({
       this.setData({
         menuBtnInfo: wx.getMenuButtonBoundingClientRect()
       })
-     
- 
+
+
     }
   },
   /**

+ 11 - 10
pages/mine/mine.wxml

@@ -1,11 +1,12 @@
-<wxs src='../../utils/numberFormat.wxs' module="numberFormat"></wxs>
-<!-- loading -->
-<loading wx:if="{{loading}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0.8"></loading>
-<loading wx:if="{{loadingShow}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0"></loading>
+
+<!-- 前台导入numberFormat.wxs -->
+<wxs src='/utils/numberFormat.wxs' module="numberFormat"></wxs> 
+<!-- 加载图层 -->
+<loading wx:if="{{loading}}"></loading> 
 <view class="head">
   <view class="company">
     <view>
-      沈阳东科软件有限公司
+      {{companyName}}
       <image src="/static/img/triangle.png" style="width: 28rpx;height:28rpx;"></image>
     </view>
     <!-- 头像 -->
@@ -15,7 +16,7 @@
     <!-- 昵称 -->
     <view class="nick-name" style="display: flex;width: 100%;">
       <view style="width: 99%;">
-        你好 王暖暖
+        你好 {{staffName}}
       </view>
       <view style="text-align: right;margin-right: 10rpx;" bindtap="toNotice">
         <view class="notice-view">
@@ -27,7 +28,7 @@
     <!-- 门店 -->
     <view class="store">
       <view>
-        <view> 沈阳浑南红心美凯龙店</view>
+        <view> {{orgName}}</view>
         <view wx:if="{{version}}" style="width:77vw;text-align-last: right;font-size: 11px;display: flex; justify-content: flex-end;"> 当前版本号: {{version}}
           <van-icon name="upgrade" size="20px" bind:click="checkHasManualUpdate" />
         </view>
@@ -407,11 +408,11 @@
 
   <view style="height: 39rpx;"></view>
   <view class="todo-view">
-    <view class="todo-view-title" catch:tap="register">注册商户</view>
+    <view class="todo-view-title" catch:tap="register">{{$t['registerCommany']}}</view>
   </view>
   <view style="height: 30rpx;"></view>
   <view class="todo-view">
-    <view class="todo-view-title">商户设置</view>
+    <view class="todo-view-title" catch:tap="toSetting">{{$t['settingCommany']}}</view>
   </view>
   <view style="height: 30rpx;"></view>
   <view class="todo-view" style="display: flex;justify-content:space-between;align-items: center;">
@@ -423,7 +424,7 @@
   </view>
   <view style="height: 30rpx;"></view>
   <view class="todo-view" style="display: flex;justify-content:space-between;align-items: center;">
-    <view class="todo-view-title">推荐有礼</view>
+    <view class="todo-view-title">{{$t['recommendedGifts']}}</view>
     <view style="font-size: 12px;color: grey;" >积分:3500</view>
   </view>
   <view style="height: 59rpx;"></view>