/******************************************************************************* * Copyright(c) 2022 dongke All rights reserved. / Confidential * 类的信息: * 1.程序名称: * 编辑履历: * 作者 日期 版本 修改内容 * 于继渤 2024-1-23 1.00 基础资料 *******************************************************************************/ 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: { flgValidList: null, routeObjNameGoTo: '', formDataName: mixins.$t('warehouse'), //接口 warehouseService: app.globalData['warehouseService'], saleChannelService: app.globalData['saleChannelService'], routeObjName: 'basicData', tableData: [], // 查询条件 searchContent: [{ code: 'flgValid', title: mixins.$t('allValidInvalid'), searchType: Constants.searchType.switch, list: [ { code: 1, title: mixins.$t('valid'), value: true }, { code: 2, title: mixins.$t('invalid'), value: false }] }], sidebarList: [ { id: 0, name: mixins.$t('warehouse') }, { id: 1, name: mixins.$t('saleChannel') }, { id: 2, name: mixins.$t('incomeCategory') }, { id: 3, name: mixins.$t('expenditureCategory') }, { id: 4, name: mixins.$t('reasonStorage') }, { id: 5, name: mixins.$t('reasonOutbound') }, { id: 6, name: mixins.$t('accountCategory') }, { id: 7, name: mixins.$t('customerSource') }, { id: 8, name: mixins.$t('customerlabel') }, ], contentList: [ { name: 'whCode', title: mixins.$t('whCode') }, { name: 'whName', title: mixins.$t('whName') }, { name: 'supervisor', title: mixins.$t('supervisor') } ], contentObj: { //TODO 怎么国际化 ? '仓库档案': [{ name: 'whCode', title: mixins.$t('whCode') }, { name: 'whName', title: mixins.$t('whName') }, { name: 'supervisor', title: mixins.$t('supervisor') }], '销售渠道': [{ name: 'channelCode', title: mixins.$t('channelCode') }, { name: 'channelName', title: mixins.$t('channelName') }], '收入类别': [{ name: 'dataCode', title: mixins.$t('incomeCode') }, { name: 'dataValue', title: mixins.$t('incomeName') }], '支出类别': [{ name: 'dataCode', title: mixins.$t('expenditureCode') }, { name: 'dataValue', title: mixins.$t('expenditureName') }], '入库原因': [{ name: 'dataCode', title: mixins.$t('reasonCode') }, { name: 'dataValue', title: mixins.$t('reasonName') }], '出库原因': [{ name: 'dataCode', title: mixins.$t('reasonCode') }, { name: 'dataValue', title: mixins.$t('reasonName') }], '账户类别': [{ name: 'dataCode', title: mixins.$t('accountCode') }, { name: 'dataValue', title: mixins.$t('accountName') }], '客户来源': [{ name: 'dataCode', title: mixins.$t('sourceCode') }, { name: 'dataValue', title: mixins.$t('sourceName') }], }, popContent: [ { code: 'whCode', type: 'str', title: mixins.$t('whCode'), required: false, readonly: true, }, { code: 'whName', type: 'str', title: mixins.$t('whName'), required: true }, { code: 'supervisor', type: 'str', title: mixins.$t('supervisor'), required: true }, { code: 'contactPhone', type: 'str', title: mixins.$t('contactPhone'), required: true }, { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false } ], sideKey: 0, }, /** * @desc : 设置pop字段 * @author : 于继渤 * @date : 2024/1/23 9:16 */ setPopContent() { let formDataName = this.data.formDataName let popContent = this.data.popContent let contentList = this.data.contentList let routeObjNameGoTo = this.data.routeObjNameGoTo if (formDataName == mixins.$t('warehouse')) {//仓库档案 //设置新建编辑字段 popContent = [ { code: 'whCode', type: 'str', title: mixins.$t('whCode'), required: false, readonly: true, }, { code: 'whName', type: 'str', title: mixins.$t('whName'), required: true }, { code: 'supervisor', type: 'str', title: mixins.$t('supervisor'), required: true }, { code: 'contactPhone', type: 'str', title: mixins.$t('contactPhone'), required: true }, { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false } ] routeObjNameGoTo = 'warehouse' } else if (formDataName == mixins.$t('saleChannel')) { //设置新建编辑字段 popContent = [ { code: 'channelCode', type: 'str', title: mixins.$t('channelCode'), required: false, readonly: true, }, { code: 'channelName', type: 'str', title: mixins.$t('channelName'), required: true }, { code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false } ] } else { if (formDataName == mixins.$t('incomeCategory')) { //设置新建编辑字段 收入类别 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('incomeCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('incomeName'), required: true } ] } if (formDataName == mixins.$t('expenditureCategory')) { //设置新建编辑字段 支出类别 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('expenditureCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('expenditureName'), required: true } ] } if (formDataName == mixins.$t('reasonStorage')) { //设置新建编辑字段 入库原因 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('reasonCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('reasonName'), required: true } ] } if (formDataName == mixins.$t('reasonOutbound')) { //设置新建编辑字段 出库原因 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('reasonCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('reasonName'), required: true } ] } if (formDataName == mixins.$t('accountCategory')) { //设置新建编辑字段 账户类别 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('accountCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('accountName'), required: true } ] } if (formDataName == mixins.$t('customerSource')) { //设置新建编辑字段 客户来源 popContent = [ { code: 'dataCode', type: 'str', title: mixins.$t('sourceCode'), required: false, readonly: true, }, { code: 'dataValue', type: 'str', title: mixins.$t('sourceName'), required: true }, ] } popContent.push({ code: 'remarks', type: 'str', title: mixins.$t('remarks'), required: false }) } this.setData({ contentList: contentList, popContent: popContent, routeObjNameGoTo: routeObjNameGoTo }) }, /** * @desc : 启用停用 * @date : 2024/2/1 15:49 * @author : 于继渤 */ deactivateEnable(e) { let item = e.detail.item let service = null let id = null if (this.data.formDataName == mixins.$t('warehouse')) { service = this.data.warehouseService id = 'whId' } else if (this.data.formDataName == mixins.$t('saleChannel')) { service = this.data.saleChannelService id = 'channelId' } else { //基础数据 service = this.data.service id = 'dataId' } //执行接口 this.handleMoreDataIsValid(service, item, id) }, /** * @desc : 分类切换 * @author : 于继渤 * @date : 2022/5/26 20:16 */ changeSidebar(e) { let detail = e.detail this.setData({ formDataName: this.data.sidebarList[detail].name }) this.setPopContent(); this.searchData() }, /** * @desc : 列表对象点击 * @author : 于继渤 * @date : 2024/1/23 9:16 */ toDetail(e) { this.setPopContent(); let item = e.detail.item this.setData({ popContent: this.data.popContent, showPop: true, dataItem: JSON.stringify(item) }) }, /** * @desc : 新建 * @author : 于继渤 * @date : 2024/1/23 9:16 */ toAdd() { this.setPopContent(); this.setData({ dataItem: null, formData: null, showPop: true, }) }, /** * @desc : 跳转排序 * @author : 于继渤 * @date : 2024/1/23 9:16 */ toSort() { let this_ = this wx.navigateTo({ url: this.data.route.sort.url, success: function (res) { // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取 res.eventChannel.emit('params', { formType: this_.data.formDataName, formMode: 'index' }) } }) }, /** * @desc : 设置查询参数 * @author : 于继渤 * @date : 2024/1/23 9:16 */ setSearchParams(params) { //有效标识 if (params.flgValidList && params.flgValidList.indexOf("true") != -1 && params.flgValidList.indexOf("false") == -1) { params.flgValid = true } else if (params.flgValidList && params.flgValidList.indexOf("true") == -1 && params.flgValidList.indexOf("false") != -1) { params.flgValid = false } params.dictCode = this.data.formDataName params.cpId = 1 return params }, /** * @desc : 加载数据 * @author : 于继渤 * @date : 2024/1/23 9:16 */ getData(params) { if (this.data.formDataName == mixins.$t('warehouse')) { //仓库档案 return this.excute(this.data.warehouseService, this.data.warehouseService.selectByCond, params); } else if (this.data.formDataName == mixins.$t('saleChannel')) { //销售渠道 return this.excute(this.data.saleChannelService, this.data.saleChannelService.selectByCond, params); } else { //基础数据接口 return this.excute(this.data.service, this.data.service.selectByCond, params); } }, /** * @desc : 处理接口返回数据 * @date : 2024/2/1 15:49 * @author : 于继渤 */ handleSearchData(tableData) { tableData.forEach(res => { res.listItemTitle = this.data.formDataName }) this.setData({ tableData: tableData }) }, /** * @desc : 新建编辑事件 * @author : 于继渤 * @date : 2024/1/26 11:46 */ editItems(e) { let data = e.detail.form this.setData({ formData: JSON.stringify(data) }) //执行保存编辑操作 this.save({}) }, /** * @desc : 保存编辑 * @author : 于继渤 * @date : 2022/5/26 20:16 */ saveData(params) { let id = null let service = null if (this.data.formDataName == mixins.$t('warehouse')) { //仓库档案 service = this.data.warehouseService id = params.whId } else if (this.data.formDataName == mixins.$t('saleChannel')) { //销售渠道 service = this.data.saleChannelService id = params.channelId } else { //基础数据 service = this.data.service id = params.data_id params.dictCode = this.data.formDataName } if (id) { //编辑 return this.excute(service, service.update, params); } else { //新建 return this.excute(service, service.insert, params); } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let _this = this; wx.getSystemInfo({ success: function (res) { _this.setData({ windowHeight: res.windowHeight, windowWidth: res.windowWidth }) } }) }, })