| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334 |
- const app = getApp();
- const api = require('@/utils/api.js');
- const Constants = require('@/utils/Constants.js')
- const mixins = require('@/mixins/index.js')
- Page({
- mixins: [mixins],
- /**
- * 页面的初始数据
- */
- data: {
- // 选择数据
- choosedData: [],
- // // 是否显示tab
- // tabFlag: false,
- // 页签默认在第一个
- active: 0,
- // 查询条件
- searchContent: null,
- // 路由
- routeObjName: 'common',
- // 列表区(内容)
- contentList: null,
- // 方法名
- method: null,
- // 字典类型
- dictCode: null,
- // 标题
- title: null,
- // 需要调到的新建路由
- addUrl: null,
- // 是否多选
- chooseFlag: false,
- // 提示信息
- placeholder: [],
- // tab页签
- tagList: [],
- // 确定按钮
- buttonList: [{
- name: 'confirm',
- title: '确定'
- }],
- },
- /**
- * @desc : 调到新建
- * @author : 姜永辉
- * @date : 2022/5/23 15:16
- */
- toAdd() {
- console.log('e', this.data.addUrl);
- if (!this.data.addUrl) {
- return;
- }
- let _this = this
- wx.navigateTo({
- url: this.data.addUrl,
- events: {
- // // 回调后,在这里给页面赋值
- // bandData: function (e) {
- // }
- },
- success: function (res) {
- // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
- res.eventChannel.emit('params', {})
- }
- })
- },
- /**
- * @desc : 选择数据
- * @author : 周兴
- * @date : 2024/3/25 15:16
- */
- chooseData(e) {
- let list = e.detail.list;
- this.setData({
- choosedData: list
- })
- },
- /**
- * @desc : 确定事件-返回数据
- * @author : 周兴
- * @date : 2024/3/25 15:16
- */
- confirm() {
- let listComp = this.selectComponent('#list');
- let list = []
- if (listComp) {
- list = listComp.data.list;
- list = list.filter(it => it.checked);
- }
- const eventChannel = this.getOpenerEventChannel();
- eventChannel.emit('bindData', {
- data: list
- })
- wx.navigateBack({
- delta: 1
- })
- },
- /**
- * @desc : 点击事件-返回数据
- * @author : 姜永辉
- * @date : 2022/5/23 15:16
- */
- toDetail(e) {
- console.log('rrr', e);
- // 如果选择框开启就走确定模式
- if (this.data.chooseFlag) {
- return;
- }
- let item = e.detail.item
- // 读取传入的单据类型
- let route = this.data.chooseRoute
- let data = {}
- switch (route.type) {
- // 部门
- case Constants.chooseType.org:
- data = { id: item.orgId, name: item.orgName }
- break;
- // 员工
- case Constants.chooseType.staff:
- data = { id: item.staffId, name: item.staffName }
- break;
- // 供应商
- case Constants.chooseType.supplier:
- data = { id: item.supId, name: item.supName }
- break;
- // 对象类型
- case Constants.chooseType.objectType:
- data = {
- id: item.objId,
- name: item.objName,
- objType: item.objType
- }
- break;
- // 数据字典
- case Constants.chooseType.dictionary:
- data = {
- id: item.dataId,
- name: item.dataValue,
- dictCode: item.dictCode,
- dataCode: item.dataCode,
- flgDefault: item.flgDefault,
- }
- break;
- default:
- data = {}
- break;
- }
- const eventChannel = this.getOpenerEventChannel();
- eventChannel.emit('bindData', {
- data: data
- })
- wx.navigateBack({
- delta: 1
- })
- },
- /**
- * @desc : 设置查询参数
- * @date : 2024/3/25 15:49
- * @author : 周兴
- */
- setSearchParams(params) {
- // 字典类别
- if (this.data.dictCode) {
- params.dictCode = this.data.dictCode
- }
- let chooseType = this.data.chooseRoute.type;
- // 供应商
- if (chooseType == Constants.chooseType.supplier) {
- params.supType = "";
- let active = this.data.active
- if (active == 1) { //采购供应商
- params.supType = Constants.kindCode.supplierPur;
- }
- else if (active == 2) { //服务供应商
- params.supType = Constants.kindCode.supplierService;
- }
- }
- return params
- },
- /**
- * @desc : 查询数据
- * @date : 2024年3月23日
- * @author : 周兴
- */
- getData(params) {
- let service = app.globalData[this.data.routeObjName + 'Service'];
- return this.excute(service, service[this.data.method], params);
- },
- /**
- * @desc : tab切换(列表和已选)
- * @date : 2024/3/25 15:49
- * @author : 周兴
- */
- changeTag(e) {
- this.setData({
- active: e.detail.index
- })
- },
- /**
- * @desc : 切换tab
- * @date : 2024/2/1 15:49
- * @author : 周兴
- */
- onChangeTabs(e) {
- let index = e.detail.detail.index
- this.setData({
- active: index,
- })
- // 查询
- this.searchData()
- },
- /**
- * @desc : 生命周期函数(初始加载)
- * @date : 2024年3月23日
- * @author : 周兴
- */
- onLoad(e) {
- let route = this.data.chooseRoute;
- if (!route || !route.type) {
- return;
- }
- let title;
- // 读取传入的单据类型
- let chooseType = route.type
- switch (chooseType) {
- // 部门
- case Constants.chooseType.org:
- title = "部门"
- this.setData({
- addUrl: '/package-basic-data/pages/org/org',
- routeObjName: 'common',
- method: 'getOrg',
- title: 'orgName',
- contentList: [
- { name: 'orgCode', title: '部门编码' },
- ],
- placeholder: ['orgName']
- })
- break;
- // 员工
- case Constants.chooseType.staff:
- title = "员工"
- this.setData({
- addUrl: '/package-basic-data/pages/staff/add/add',
- routeObjName: 'common',
- method: 'getStaff',
- title: 'staffName',
- contentList: [
- { name: 'staffCode', title: '员工编码' },
- { name: 'orgName', title: '部门' },
- ],
- placeholder: ['staffName']
- })
- break;
- // 供应商
- case Constants.chooseType.supplier:
- title = "供应商"
- this.setData({
- addUrl: '/package-purchase/pages/supplier-list/add/add',
- routeObjName: 'supplier',
- method: 'selectByCond',
- title: 'supName',
- tagList: [{
- title: mixins.$t("all") //全部
- }, {
- title: mixins.$t("procurementSupplier") //采购供应商
- }, {
- title: mixins.$t("serviceProvider") // 服务供应商
- }],
- contentList: [
- { name: 'supTypeName', title: '供应商类别' },
- { name: 'returnAddress', title: '供应商地址' },
- ],
- placeholder: ['supplier']
- })
- break;
- // 数据字典
- case Constants.chooseType.dictionary:
- title = "数据字典"
- this.setData({
- addUrl: '/package-basic-data/pages/basic-data/basic-data',
- routeObjName: 'common',
- method: 'getDictionaryData',
- dictCode: route.dictCode,
- chooseFlag: route.chooseFlag,
- title: 'dataValue',
- contentList: [
- { name: 'dataCode', title: '数据编码' },
- { name: 'dictCode', title: '字典项目' },
- ],
- placeholder: ['orgName']
- })
- break;
- // 对象类型
- case Constants.chooseType.objectType:
- title = "对象类型"
- this.setData({
- routeObjName: 'common',
- method: 'getSupplierAndCustomerData',
- title: 'objName',
- contentList: [
- { name: 'objCode', title: '对象编码' },
- { name: 'objTypeName', title: '对象' },
- { name: 'addressFull', title: '地址' },
- ],
- searchContent: [
- {
- code: 'supplier-customer',
- title: '选择对象',
- searchType: Constants.searchType.switch,
- list:
- [{ code: 'supplier', title: '供应商' },
- { code: 'customer', title: '客户' }]
- },
- ],
- placeholder: ['customerName', 'supplierName', 'address', 'telephone']
- })
- break;
- default:
- break;
- }
- wx.setNavigationBarTitle({
- title: '选择' + title,
- })
- // 调取查询
- this.searchData();
- },
- })
|