| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270 |
- 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: {
- showPop: false,
- // gradeCode: app.globalData.company.gradeCode,
- active: 0,
- // 选择数据
- choosedData: [],
- // // 是否显示tab
- // tabFlag: false,
- // 页签默认在第一个
- // 查询条件
- searchContent: null,
- // 路由
- routeObjName: 'common',
- // pop使用
- routeObjNamePop: '',
- // 列表区(内容)
- contentList: null,
- // 方法名
- method: null,
- // 字典类型
- dictCode: null,
- // 标题
- title: null,
- // 弹出pop的标题
- popTitle: null,
- // 需要调到的新建路由
- addUrl: null,
- // 是否多选
- chooseFlag: false,
- // 供应商类别
- supTypeList: null,
- // 提示信息
- placeholder: [],
- // tab页签
- tagList: [],
- // 用于多选
- valueKey: null,
- labelKey: null,
- // 多选时是否允许重复
- repeatFlag: false,
- // 简单标识
- simpleFlag: false,
- // 弹出新建
- popContent: null,
- // 是否有默认值
- defaultFlag: false,
- // 状态
- status: null,
- // 控制是否显示状态
- statusFlag: false,
- // 确定按钮
- buttonList: [{
- name: 'confirm',
- title: '确定'
- }],
- // 新加的数据
- addItem: null,
- // 其他查询条件
- otherSearchParam: null,
- },
- /**
- * @desc : 调到新建
- * @author : 姜永辉
- * @date : 2022/5/23 15:16
- */
- toAdd() {
- let addUrl = this.data.addUrl
- // 如果链接有值,跳转
- if (addUrl) {
- let _this = this
- wx.navigateTo({
- url: this.data.addUrl,
- events: {
- // 保存成功后刷新页面
- refresh: function (data) {
- // 刷新一览界面
- _this.searchData();
- }
- },
- success: function (res) {
- // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
- 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) {
- let popContent = this.data.popContent
- popContent.forEach(it => {
- if (it.code == 'decimalPlaces') {
- let formData = this.data.formData ? JSON.parse(this.data.formData) : {
- decimalPlaces: 1
- }
- this.setData({
- formData: JSON.stringify(formData)
- })
- }
- })
- this.setData({
- showPop: true
- })
- }
- },
- /**
- * @desc : 选择数据
- * @author : 周兴
- * @date : 2024/3/25 15:16
- */
- chooseData(e) {
- let list = e.detail.list;
- let item = e.detail.item;
- let valueKey = this.data.valueKey;
- if (!valueKey) {
- this.setData({
- choosedData: list
- })
- } else {
- let choosedData = this.data.choosedData
- // 不允许重复
- if (!this.data.repeatFlag) {
- if (e.detail.checked) { // 勾选
- let filters = choosedData.filter(it => it[valueKey] == item[valueKey])
- if (!filters || filters.length == 0) {
- choosedData.push(item);
- }
- } else { // 取消勾选
- choosedData = choosedData.filter(it => it[valueKey] != item[valueKey])
- }
- } else {
- if (e.detail.checked) { // 勾选
- // 可以重复
- choosedData.push(item);
- }
- }
- this.setData({
- choosedData: choosedData
- })
- }
- },
- /**
- * @desc : 确定事件-返回数据
- * @author : 周兴
- * @date : 2024/3/25 15:16
- */
- confirm() {
- let list = [...this.data.choosedData]
- let id = list.map(it => it[this.data.valueKey])
- let name = list.map(it => it[this.data.labelKey])
- const eventChannel = this.getOpenerEventChannel();
- eventChannel.emit('bindData', {
- data: {
- list,
- id,
- name
- }
- })
- wx.navigateBack({
- delta: 1
- })
- },
- /**
- * @desc : 点击事件-返回数据
- * @author : 周兴
- * @date : 2024/5/8 15:16
- */
- choose(e) {
- // 如果选择框开启就走确定模式
- if (this.data.chooseFlag) {
- return;
- }
- let item = e.currentTarget.dataset.item
- let index = e.currentTarget.dataset.index
- let tableData = this.data.tableData
- tableData.forEach(res => {
- res.checked = false
- })
- tableData[index].checked = true
- this.setData({
- tableData: tableData
- })
- // 执行点击事件
- this._toDetail(item);
- },
- /**
- * @desc : 点击事件-返回数据
- * @author : 姜永辉
- * @date : 2022/5/23 15:16
- */
- toDetail(e) {
- // 如果选择框开启就走确定模式
- if (this.data.chooseFlag) {
- return;
- }
- let item = e.detail.item
- let tableData = this.data.tableData
- tableData.forEach(res => {
- res.checked = false
- })
- tableData[e.detail.index].checked = true
- this.setData({
- tableData: tableData
- })
- // 执行点击事件
- this._toDetail(item);
- },
- /**
- * @desc : 执行点击事件(私有方法)
- * @author : 周兴
- * @date : 2024/5/9 15:16
- */
- _toDetail(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,
- orgId: item.orgId,
- orgName: item.orgName,
- staffPhone: item.staffPhone,
- }
- break;
- // 角色
- case Constants.chooseType.role:
- data = {
- id: item.roleId,
- name: item.roleName,
- }
- break;
- //渠道
- case Constants.chooseType.saleChannel:
- data = {
- id: item.channelId,
- name: item.channelName,
- code: item.channelCode
- }
- break;
- //发票抬头
- case Constants.chooseType.invoiceType:
- data = {
- id: item.cpId,
- name: item.cpName,
- taxNo: item.taxNo,
- setId: item.setId,
- }
- break;
- //资金账户
- case Constants.chooseType.moneyAccount:
- data = {
- id: item.macId,
- name: item.macName,
- code: item.macCode
- }
- break;
- //客户来源
- case Constants.chooseType.cusFrom:
- data = {
- id: item.dataId,
- name: item.dataValue,
- code: item.dataCode
- }
- break;
- // 供应商
- case Constants.chooseType.supplier:
- case Constants.chooseType.outSupplier:
- data = {
- id: item.supId,
- name: item.supName,
- item: item
- }
- break;
- // 对象类型
- case Constants.chooseType.objectType:
- data = {
- id: item.objId,
- name: item.objName,
- objType: item.objType
- }
- break;
- // 仓库
- case Constants.chooseType.warehouse:
- data = {
- id: item.whId,
- name: item.whName
- }
- break;
- case Constants.chooseType.inventorySku:
- data = {
- id: item.whId,
- name: item.whName,
- item: item
- }
- break;
- // 品牌
- case Constants.chooseType.brand:
- data = {
- id: item.brandId,
- name: item.brandName
- }
- break;
- // 系列 刘尧 2024.05.29
- case Constants.chooseType.series:
- data = {
- id: item.seriesId,
- name: item.seriesName
- }
- break;
- // 计量单位 刘尧 2024.05.29
- case Constants.chooseType.unit:
- data = {
- id: item.unitId,
- name: item.unitName,
- decimalPlaces: item.decimalPlaces
- }
- break;
- // 系统数据
- case Constants.chooseType.kindData:
- data = {
- id: item.kindCode,
- name: item.kindName
- }
- break;
- // 数据字典
- case Constants.chooseType.dictionary:
- data = {
- id: item.dataId,
- name: item.dataValue,
- dictCode: item.dictCode,
- dataCode: item.dataCode,
- flgDefault: item.flgDefault,
- }
- break;
- // 系统数据
- case Constants.chooseType.kindType:
- data = {
- id: item.id,
- name: item.kindName,
- kindType: item.kindType,
- kindCode: item.kindCode,
- 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) {
- params.flgValid = true
- // 字典类别
- if (this.data.dictCode) {
- params.dictCode = this.data.dictCode
- }
- // 系统数据
- if (this.data.kindType) {
- params.kindType = this.data.kindType
- }
- if (this.data.otherSearchParam) {
- Object.assign(params, this.data.otherSearchParam)
- }
- let chooseType = this.data.chooseRoute.type;
- // 供应商
- if (chooseType == Constants.chooseType.supplier) {
- params.supType = "";
- let active = this.data.active
- // params.supType = Constants.kindCode.supplierPur;
- params.supTypeList = this.data.supTypeList;
- if (active == 1) { //采购供应商
- params.supType = Constants.kindCode.supplierPur;
- } else if (active == 2) { //服务供应商
- params.supType = Constants.kindCode.supplierService;
- }
- }
- // 外协供应商
- if (chooseType == Constants.chooseType.outSupplier) {
- params.supType = Constants.kindCode.supplierOutsourcing;
- }
- //跟据色号公司skuid判断库存
- if (chooseType == Constants.chooseType.inventorySku) {
- params.skuId = this.data.item.skuId
- params.nonStdCode = this.data.item.nonStdCode
- params.cpId = app.globalData.company.cpId
- }
- if (chooseType == Constants.chooseType.saleChannel) {
- params.dataSourceCode = Constants.chooseType.saleChannel
- }
- if (chooseType == Constants.chooseType.cusFrom) {
- params.dataSourceCode = Constants.chooseType.cusFrom
- }
- if (chooseType == Constants.chooseType.inventorySku) {
- params.flgValid = true
- }
- if (chooseType == Constants.chooseType.warehouse) {
- params.flgValid = true
- }
- return params
- },
- /**
- * @desc : 删除已选
- * @date : 2024年3月26日
- * @author : 周兴
- */
- delChoosed(e) {
- let choosedData = this.data.choosedData;
- choosedData = choosedData.filter((it, index) => index != e.detail.index)
- this.setData({
- choosedData: choosedData
- })
- },
- /**
- * @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 : 保存数据
- * @date : 2024年5月9日
- * @author : 周兴
- */
- editItems(e) {
- let data = e.detail.form
- // 基础资料的传值
- data.dictCode = this.data.dictCode
- this.setData({
- formData: JSON.stringify(data)
- })
- //执行保存编辑操作
- this.save({})
- },
- /**
- * @desc : 执行保存
- * @date : 2024年5月9日
- * @author : 周兴
- */
- saveData(params) {
- let routeObjNamePop = this.data.routeObjNamePop
- if (!routeObjNamePop) return;
- this.setData({
- addItem: null
- })
- let service = app.globalData[routeObjNamePop + 'Service']
- let defaultFlag = this.data.defaultFlag;
- // 没有默认值就直接保存
- if (!defaultFlag) {
- return this.excute(service, service.insert, params).then(res => {
- if (res.data.code === Constants.SUCESS_CODE) {
- wx.showToast({
- title: '保存成功',
- image: '/static/image/success.png',
- duration: 2000
- })
- if (res.data.data) {
- setTimeout(() => {
- // 多选就选中
- if (this.data.chooseFlag) {
- this.setData({
- addItem: res.data.data
- })
- this.searchData();
- } else {
- // 执行点击事件
- this._toDetail(res.data.data)
- }
- }, 2000)
- }
- }
- })
- } else {
- this.isFlgDefaultSave(service).then(it => {
- //存在默认
- Dialog.confirm({
- message: mixins.$t('defaultInfo'),
- }).then(() => {
- return this.excute(service, service.insert, params).then(res => {
- if (res.data.code === Constants.SUCESS_CODE) {
- wx.showToast({
- title: '保存成功',
- image: '/static/image/success.png',
- duration: 2000
- })
- if (res.data.data) {
- setTimeout(() => {
- // 执行点击事件
- this._toDetail(res.data.data)
- }, 2000)
- }
- }
- })
- }).catch(() => {
- // this.setData({
- // dataItem: null
- // })
- // //清除组件数据
- // this.selectComponent('#popup').setFormNull()
- return
- });
- })
- }
- },
- /**
- * @desc : 新建默认设置提示
- * @author : 于继渤
- * @date : 2022/5/26 20:16
- */
- isFlgDefaultSave(service) {
- return new Promise((resolve, reject) => {
- this.excute(service, service.selectByCond, {
- flgDefault: true
- }).then(res => {
- if (res.data.data.list && res.data.data.list.length > 0) {
- resolve(false)
- } else {
- resolve(true)
- }
- })
- })
- },
- /**
- * @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 : stickyView的高度
- * @date : 2024年3月23日
- * @author : 周兴
- */
- queryHeight() {
- let _this = this
- var query = wx.createSelectorQuery();
- query.select('#stickyView').boundingClientRect(function (rect) {
- var height = rect.height; // 获取元素的高度
- _this.setData({
- heightList: height + 20
- })
- }).exec();
- },
- /**
- * @desc : 生命周期函数(初始加载)
- * @date : 2024年3月23日
- * @author : 周兴
- */
- loadInit(e) {
- // // stickyView的高度
- // this.queryHeight()
- let route = this.data.chooseRoute;
- if (!route || !route.type) {
- return;
- }
- let title;
- // 读取传入的单据类型
- let chooseType = route.type
- //
- let dataItemData = {}
- switch (chooseType) {
- // 角色
- case Constants.chooseType.role:
- title = "角色"
- this.setData({
- addUrl: '/package-basic-data/pages/role/add/add',
- routeObjName: 'common',
- method: 'getRole',
- valueKey: 'roleId',
- title: 'roleName',
- chooseFlag: route.chooseFlag,
- simpleFlag: true,
- contentList: [{
- name: 'roleCode',
- title: '编码'
- }, ],
- placeholder: ['roleName']
- })
- break;
- // 部门
- case Constants.chooseType.org:
- title = "部门"
- this.setData({
- addUrl: app.globalData.company.gradeCode == Constants.gradeCode.STD ? null : '/package-basic-data/pages/org/org',
- routeObjName: 'common',
- method: 'getOrg',
- valueKey: 'orgId',
- title: 'orgName',
- simpleFlag: true,
- // 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',
- valueKey: 'staffId',
- title: 'staffName',
- contentList: [{
- name: 'staffCode',
- title: '员工工号'
- },
- {
- name: 'orgName',
- title: '部门'
- },
- ],
- placeholder: ['staffName']
- })
- break;
- //客户来源
- case Constants.chooseType.cusFrom:
- title = "客户来源"
- this.setData({
- routeObjName: 'common',
- method: 'getInitData',
- valueKey: 'dataId',
- title: 'dataValue',
- contentList: [{
- name: 'dataCode',
- title: '来源编码'
- },
- {
- name: 'dataValue',
- title: '来源名称'
- },
- ],
- placeholder: ['sourceName']
- })
- break;
- // 资金账户
- case Constants.chooseType.moneyAccount:
- title = "资金账户"
- this.setData({
- routeObjName: 'common',
- pageFlag: false,
- method: 'getMac',
- valueKey: 'macId',
- title: 'macName',
- contentList: [{
- 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({
- routeObjName: 'common',
- method: 'getInitData',
- valueKey: 'channelId',
- title: 'channelName',
- simpleFlag: true,
- placeholder: ['channelName']
- })
- break;
- // 供应商
- case Constants.chooseType.supplier:
- case Constants.chooseType.outSupplier:
- title = "供应商"
- this.setData({
- addUrl: '/package-purchase/pages/supplier-list/add/add',
- routeObjName: 'supplier',
- method: 'selectByCond',
- title: 'supName',
- valueKey: 'supId',
- labelKey: 'supName',
- chooseFlag: route.chooseFlag,
- supTypeList: route.supTypeList,
- placeholder: ['supplier']
- })
- if (this.data.item.defaultSupplier) {
- this.setData({
- contentList: [{
- name: 'returnAddress',
- title: '供应商地址'
- },
- {
- name: 'payableResidue',
- title: '供应商欠款'
- },
- ],
- })
- } else {
- this.setData({
- contentList: [{
- name: 'supTypeName',
- title: '供应商类别'
- },
- {
- name: 'returnAddress',
- title: '供应商地址'
- },
- //bug 7524 跟采购订单保持一致
- // {
- // name: 'balance',
- // title: '余额'
- // },
- {
- name: 'payableResidue',
- title: '供应商欠款'
- },
- ],
- })
- }
- // 多选时就不要有其他的tag标签
- // if (!route.chooseFlag) {
- // this.setData({
- // tagList: [{
- // title: mixins.$t("all") //全部
- // }, {
- // title: mixins.$t("procurementSupplier") //采购供应商
- // }, {
- // title: mixins.$t("serviceProvider") // 服务供应商
- // }],
- // })
- // }
- break;
- // 仓库
- case Constants.chooseType.warehouse:
- title = "仓库"
- dataItemData['supervisor'] = app.globalData.user.staffName
- dataItemData['contactPhone'] = app.globalData.user.userPhone
- this.setData({
- routeObjName: 'common',
- routeObjNamePop: 'warehouse',
- method: 'getWarehouseListBy',
- valueKey: 'whId',
- title: 'whName',
- simpleFlag: true,
- contentList: [{
- 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
- }
- ],
- //设置默认主管
- dataItem: JSON.stringify(dataItemData)
- })
- break;
- case Constants.chooseType.inventorySku:
- title = "库存"
- this.setData({
- routeObjName: 'common',
- method: 'getInventory',
- title: 'skuName',
- contentList: [{
- name: 'skuCode',
- title: '商品编码'
- },
- {
- name: 'whName',
- title: '库区'
- },
- {
- name: 'nonStdCode',
- title: '色号'
- },
- {
- name: 'usableQty',
- title: '可售量'
- },
- {
- name: 'invQty',
- title: '库存量'
- },
- {
- name: 'outingQty',
- title: '占库量'
- },
- {
- name: 'freezeQty',
- title: '冻结量'
- },
- ],
- placeholder: ['whName']
- })
- break;
- // 品牌
- case Constants.chooseType.brand:
- title = "品牌"
- this.setData({
- routeObjName: 'common',
- routeObjNamePop: 'goodsBrand',
- method: 'goodsBrandListNoPage',
- chooseFlag: route.chooseFlag,
- repeatFlag: route.repeatFlag,
- valueKey: 'brandId',
- pageFlag: false,
- popTitle: mixins.$t('add') + title,
- title: 'brandName',
- simpleFlag: true,
- // contentList: [{
- // name: 'brandCode',
- // title: '品牌编码'
- // },
- // {
- // name: 'brandName',
- // title: '品牌名称'
- // },
- // ],
- placeholder: ['brandName']
- })
- // 标准版没有供应商
- 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
- }
- ],
- })
- } 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
- }
- ],
- })
- }
- break;
- // 系列 刘尧 2024.05.29
- case Constants.chooseType.series:
- title = "系列"
- this.setData({
- routeObjName: 'common',
- routeObjNamePop: 'goodsSeries',
- method: 'getGoodsSeriesNoPage',
- chooseFlag: route.chooseFlag,
- repeatFlag: route.repeatFlag,
- valueKey: 'seriesId',
- pageFlag: false,
- popTitle: mixins.$t('add') + title,
- 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
- }
- ]
- })
- break;
- // 计量单位 刘尧 2024.05.29
- case Constants.chooseType.unit:
- title = "单位"
- dataItemData['decimalPlaces'] = 0
- this.setData({
- routeObjName: 'common',
- routeObjNamePop: 'unit',
- method: 'getUnitNoPage',
- status: 'decimalPlacesStr',
- chooseFlag: route.chooseFlag,
- repeatFlag: route.repeatFlag,
- statusFlag: true,
- valueKey: 'unitId',
- pageFlag: false,
- popTitle: mixins.$t('add') + title,
- 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
- }
- ],
- //设置小数位数
- dataItem: JSON.stringify(dataItemData)
- })
- break;
- // 数据字典
- case Constants.chooseType.dictionary:
- title = "数据字典"
- let dictCode = route.dictCode
- this.setData({
- addUrl: '/package-basic-data/pages/basic-data/basic-data',
- routeObjName: 'common',
- method: 'getDictionaryData',
- routeObjNamePop: 'basicData',
- dictCode: route.dictCode,
- chooseFlag: route.chooseFlag,
- repeatFlag: route.repeatFlag,
- simpleFlag: true,
- pageFlag: false,
- valueKey: 'dataId',
- title: 'dataValue',
- contentList: [{
- 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,
- },
- ]
- this.setData({
- popContent
- })
- }
- break;
- // 系统数据
- case Constants.chooseType.kindData:
- title = "系统数据"
- this.setData({
- pageFlag: false,
- routeObjName: 'common',
- method: 'getDataKind',
- kindType: route.kindType,
- valueKey: 'kindCode',
- title: 'kindName',
- chooseFlag: route.chooseFlag,
- repeatFlag: route.repeatFlag,
- contentList: [{
- name: 'kindCode',
- title: '数据代码'
- },
- {
- name: 'kindName',
- title: '数据名称'
- },
- ],
- placeholder: ['sensitiveName']
- })
- break;
- // 对象类型
- case Constants.chooseType.objectType:
- this.setData({
- title: 'objName',
- routeObjName: 'common',
- method: 'getSupplierAndCustomerData',
- })
- if (!route.objectType) {
- title = "对象类型"
- this.setData({
- contentList: [{
- 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
- }
- ]
- }],
- placeholder: ['customerName', 'supplierName', 'address', 'telephone']
- })
- } else {
- // 客户
- if (route.objectType == 'customer') {
- title = "客户"
- this.setData({
- contentList: [{
- name: 'phone',
- title: '客户电话'
- },
- {
- name: 'addressFull',
- title: '客户地址'
- }
- ],
- placeholder: ['customerName', 'address', 'telephone'],
- otherSearchParam: {
- 'supplier-customerList': "2"
- }
- })
- } else {
- // 供应商
- title = "供应商"
- this.setData({
- contentList: [{
- name: 'phone',
- title: '供应商电话'
- },
- {
- name: 'addressFull',
- title: '供应商地址'
- }
- ],
- placeholder: ['supplierName', 'address', 'telephone'],
- otherSearchParam: {
- 'supplier-customerList': "1"
- }
- })
- }
- }
- break;
- default:
- break;
- }
- // 多选,数据回显到已选列表
- if (this.data.chooseFlag && this.data.item && this.data.item.data) {
- this.setData({
- choosedData: this.data.item.data
- })
- }
- wx.setNavigationBarTitle({
- title: '选择' + title,
- })
- // 调取查询
- this.searchData();
- },
- /**
- * @desc : 对获取到的数据进行处理
- * @date : 2024年5月29日
- * @author : 刘尧
- */
- handleSearchData(tableData) {
- let addItem = this.data.addItem
- let valueKey = this.data.valueKey
- let choosedData = this.data.choosedData
- tableData.forEach(item => {
- if (addItem && valueKey) {
- if (item[valueKey] == addItem[valueKey]) {
- item.checked = true;
- choosedData.push({
- ...item
- });
- }
- }
- // 判断数据中是否存在计量单位的小数位数字段
- if (item && (item.decimalPlaces || item.decimalPlaces === 0)) {
- item.decimalPlacesStr = '小数:' + item.decimalPlaces
- }
- 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') {
- // item.balance = item.paymentResidue - item.payableResidue //bug 7524 跟采购订单保持一致
- item.payableResidue = item.payableResidue - item.paymentResidue
- }
- })
- this.setData({
- tableData: tableData,
- choosedData: choosedData
- })
- if (this.data.item.defaultSupplier) {
- wx.setNavigationBarTitle({
- title: '选择采购供应商',
- })
- }
- }
- })
|