| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823 |
- /*******************************************************************************
- * Copyright(c) 2022 dongke All rights reserved. / Confidential
- * 类的信息:
- * 1.程序名称:
- * 编辑履历:
- * 作者 日期 版本 修改内容
- * 于继渤 2022-5-28 1.00 筛选多选标签
- * 作者 日期 版本 修改内容
- * 于继渤 2022-5-31 1.01 完善抛出事件
- *******************************************************************************/
- const app = getApp()
- const Constants = require('../../../utils/Constants.js');
- const api = require('../../../utils/api.js');
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- typeName: {
- type: String,
- default: ''
- },
- oneSelectFlag: {
- type: Boolean,
- default: false
- },
- show: {
- type: Boolean,
- default: true,
- observer: function (newVal) {
- let show = this.properties.show
- if (show) {
- let stowList = this.data.stowList;
- let moreList = this.data.moreList;
- if (stowList.length == 0 && moreList.length == 0) {
- let dataSourceCode = this.data.dataSourceCode
- let typeName = this.data.typeName
- // 从数据库中取值
- if (this.data.loadDataFlag) {
- this.getData(dataSourceCode).then(res => {
- // 赋值逻辑
- let list = res.data
- list.forEach(function (item) {
- if (!item.id) {
- item.id = item.code
- }
- })
- if (list == null || list.length <= 0) return
- list.forEach(item => {
- item.infotype = 'default'
- })
- if (list.length > 4) {
- //收起内容(不包含前4个)
- stowList = list.slice(5, list.length - 1)
- moreList = list.slice(0, 4)
- } else {
- //更多 前4个
- moreList = list
- }
- this.setData({
- stowList: stowList,
- moreList: moreList
- })
- })
- }
- }
- }
- }
- }
- },
- options: {
- multipleSlots: true, //插槽
- },
- /**
- * 组件的初始数据
- */
- data: {
- stowList: [],
- moreList: [],
- dataList: [],
- dataListTemp: [],
- loadDataFlag: true, // 是否从数据库加载数据
- },
- /**
- * 组件生命周期
- */
- lifetimes: {
- attached: function () {
- let dataSourceCode = ''
- let typeName = this.data.typeName
- let name = ''
- if (typeName === 'other') {
- dataSourceCode = 'other'
- name = '其他'
- }
- if (typeName === 'salesChannel') {
- dataSourceCode = 'saleChannel'
- name = '销售渠道'
- this.getdata(dataSourceCode).then(res => {
- let list = res.data
- if (list == null || list.length <= 0) return
- let datalist = []
- list.forEach(item2 => {
- let item = {
- id: item2.channelId,
- name: item2.channelName,
- infotype: 'default'
- }
- datalist.push(item)
- })
- this.setData({
- moreList: datalist,
- moreFlag: false,
- loadDataFlag: false
- })
- })
- }
- if (typeName === 'org') {
- dataSourceCode = 'org'
- name = '业务部门'
- }
- //收付款类型
- if (typeName === 'rpType') {
- dataSourceCode = 'rpType'
- name = '收付款类型'
- let stowList = [{
- name: '收款',
- id: '收付款类型-收款',
- infotype: 'default'
- },
- {
- name: '付款',
- id: '收付款类型-付款',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //业务员
- if (typeName === 'staff') {
- dataSourceCode = 'staff'
- name = '业务员'
- }
- //入库类型-标准版没有采购
- if (typeName === 'intoTypeSt') {
- dataSourceCode = 'intoType'
- name = '入库类型'
- let stowList = [
- {
- name: '销退回库',
- id: '出库类型-销退回库',
- infotype: 'default'
- },
- {
- name: '其他入库',
- id: '入库类型-其他入库',
- infotype: 'default'
- },
- {
- name: '期初入库',
- id: '入库类型-期初入库',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //入库类型
- if (typeName === 'intoType') {
- dataSourceCode = 'intoType'
- name = '入库类型'
- let stowList = [{
- name: '采购入库',
- id: '入库类型-采购入库',
- infotype: 'default'
- },
- {
- name: '销退回库',
- id: '出库类型-销退回库',
- infotype: 'default'
- },
- {
- name: '其他入库',
- id: '入库类型-其他入库',
- infotype: 'default'
- },
- {
- name: '期初入库',
- id: '入库类型-期初入库',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //出库进度
- if (typeName === 'outStatus') {
- dataSourceCode = 'outStatus'
- name = '出库进度'
- let stowList = [
- {
- name: '出库中',
- id: '出库状态-出库中',
- infotype: 'default'
- },
- {
- name: '已出库',
- id: '出库状态-已出库',
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //入库进度
- if (typeName === 'intoStatus') {
- dataSourceCode = 'intoStatus'
- name = '入库进度'
- let stowList = [{
- name: '待入库',
- id: '入库状态-待入库',
- infotype: 'default'
- },
- {
- name: '入库中',
- id: '入库状态-入库中',
- infotype: 'default'
- },
- {
- name: '已入库',
- id: '入库状态-已入库',
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- // 收支类型
- if (typeName === 'recType'){
- dataSourceCode = 'recType'
- name = '收支类型'
- this.setData({
- moreFlag: false,
- loadDataFlag: true
- })
- this.getdata(dataSourceCode).then(res => {
- let list = res.data
- if (list == null || list.length <= 0) return
- let datalist = []
- if (typeName === 'recType') {
- list.forEach(item2 => {
- let item = {
- id: item2.kindCode,
- name: item2.kindName,
- infotype: 'default'
- }
- datalist.push(item)
- })
- }
- this.setData({
- moreList: datalist,
- moreFlag: false,
- loadDataFlag: false
- })
- })
- }
- // 资金账户
- if(typeName === 'moneyAccount'){
- dataSourceCode = 'moneyAccount'
- name = '资金账户'
- this.getdata(dataSourceCode).then(res => {
- let list = res.data
- if (list == null || list.length <= 0) return
- let datalist = []
- if (typeName === 'moneyAccount') {
- list.forEach(item2 => {
- let item = {
- id: item2.macCode,
- name: item2.macName,
- infotype: 'default'
- }
- datalist.push(item)
- })
- }
- this.setData({
- moreList: datalist,
- moreFlag: false,
- loadDataFlag: false
- })
- })
- }
- //入库类型
- if (typeName === 'receiptType') {
- dataSourceCode = 'entryType'
- name = '入库类型'
- }
- //入库原因
- if (typeName === 'intoReason') {
- dataSourceCode = 'inReason'
- name = '入库原因'
- let stowList = [{
- name: '盘盈入库',
- id: '10112024-0314-0000-0000-000010d79635',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //出库类型
- if (typeName === 'outType') {
- dataSourceCode = 'outType'
- name = '出库类型'
- let stowList = [{
- name: '销售出库',
- id: '出库类型-销售出库',
- infotype: 'default'
- },
- {
- name: '采退出库',
- id: '入库类型-采退出库',
- infotype: 'default'
- },
- {
- name: '其他出库',
- id: '出库类型-其他出库',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //出库类型-报表
- if (typeName === 'outTypeR') {
- dataSourceCode = 'outType'
- name = '出库类型'
- let stowList = [{
- name: '销售出库',
- id: '出库类型-销售出库',
- infotype: 'default'
- },
- {
- name: '采退出库',
- id: '入库类型-采退出库',
- infotype: 'default'
- },
- {
- name: '其他出库',
- id: '出库类型-其他出库',
- infotype: 'default'
- },
- {
- name: '调整出库',
- id: '出库类型-调整出库',
- infotype: 'default'
- },
- {
- name: '盘亏出库',
- id: '出库类型-盘亏出库',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //出库原因
- if (typeName === 'outReason') {
- dataSourceCode = 'outReason'
- name = '出库原因'
- let stowList = [{
- name: '破损出库',
- id: '10112024-0312-0000-0000-00000f5759fd',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //采购入库状态
- if (typeName === 'inInventoryStatus') {
- dataSourceCode = 'inInventoryStatus'
- name = '入库状态'
- let stowList = [{
- name: '待入库',
- id: '入库状态-入库中',
- infotype: 'default'
- },
- {
- name: '已入库',
- id: '入库状态-已入库',
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //采购状态
- if (typeName === 'purchaseStatus') {
- dataSourceCode = 'purchaseStatus'
- name = '采购状态'
- let stowList = [{
- name: '暂存',
- id: 0,
- infotype: 'default'
- },
- {
- name: '成交',
- id: 1,
- infotype: 'default'
- },
- {
- name: '出库中',
- id: 2,
- infotype: 'default'
- },
- {
- name: '待入库',
- id: 3,
- infotype: 'default'
- },
- {
- name: '已入库',
- id: 4,
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //退货状态
- if (typeName === 'outInventoryStatus') {
- dataSourceCode = 'outInventoryStatus'
- name = '退货状态'
- let stowList = [{
- name: '审批中',
- id: 0,
- infotype: 'default'
- },
- {
- name: '未出库',
- id: 1,
- infotype: 'default'
- },
- {
- name: '已出库',
- id: 2,
- infotype: 'default'
- },
- {
- name: '已退货',
- id: 3,
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- if (typeName === 'purchaseAccordingStatus') {
- dataSourceCode = 'purchaseAccordingStatus'
- name = '采购状态'
- let stowList = [
- {
- name: '成交',
- id: 0,
- infotype: 'info'
- },
- {
- name: '出库中',
- id: 1,
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //收款进度
- if (typeName === 'rpType') {
- dataSourceCode = 'rpType'
- name = '收付款类型'
- let stowList = [{
- name: '收款',
- id: '收付款类型-收款',
- infotype: 'default'
- },
- {
- name: '退收款',
- id: '收付款类型-收款',
- infotype: 'default'
- }
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //客户接待
- if (typeName === 'followStatus') {
- dataSourceCode = 'followStatus'
- name = '接待类型'
- let stowList = [{
- name: '留资接待',
- id: '跟进状态-报备',
- infotype: 'default'
- },
- {
- name: '陌生接待',
- id: '跟进状态-接待',
- infotype: 'default'
- }
- ]
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //盘点状态
- if (typeName === 'coilingState') {
- dataSourceCode = 'coilingState'
- name = '盘点状态'
- let stowList = [{
- name: '暂存',
- id: '盘点状态-暂存',
- infotype: 'default'
- },
- {
- name: '完成',
- id: '盘点状态-完成',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //调整类型
- if (typeName === 'transferType') {
- dataSourceCode = 'transferType'
- name = '调整类型'
- let stowList = [{
- name: '仓库调整',
- id: '调整类型-仓库调整',
- infotype: 'default'
- },
- {
- name: '批次调整',
- id: '调整类型-批次调整',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- //冻结状态
- if (typeName === 'freezeStatus') {
- dataSourceCode = 'freezeStatus'
- name = '冻结状态'
- let stowList = [{
- name: '全部冻结',
- id: '冻结状态-全部冻结',
- infotype: 'default'
- },
- {
- name: '全部解冻',
- id: '冻结状态-全部解冻',
- infotype: 'default'
- },
- ];
- this.setData({
- moreList: stowList,
- moreFlag: false,
- loadDataFlag: false
- })
- }
- this.setData({
- dataSourceCode: dataSourceCode,
- name: name
- })
- },
- detached: function () {
- // 在组件实例被从页面节点树移除时执行
- },
- },
- /**
- * 组件的方法列表
- */
- methods: {
- /**
- * @desc : 筛选更多触发事件
- * @author : 于继渤
- * @date : 2022/5/28 08:50
- */
- onChangeMore(e) {
- if (this.data.stowList.length == 0) {
- return
- }
- this.setData({
- moreFlag: !this.data.moreFlag
- })
- },
- /**
- * @desc : 点击标签事件
- * @author : 于继渤
- * @date : 2022/5/28 08:50
- */
- onClickTag(e) {
- let key = e.currentTarget.dataset.key
- let typekey = e.currentTarget.dataset.typekey
- let index = e.currentTarget.dataset.index
- let moreList = this.data.moreList
- let stowList = this.data.stowList
- if (key === 'more') {
- if (moreList[index].infotype === 'default') {
- moreList[index].infotype = 'info'
- } else if (moreList[index].infotype === 'info') {
- moreList[index].infotype = 'default'
- }
- }
- if (key === 'stow') {
- if (stowList[index].infotype === 'default') {
- stowList[index].infotype = 'info'
- } else if (stowList[index].infotype === 'info') {
- stowList[index].infotype = 'default'
- }
- }
- this.setData({
- moreList: moreList,
- stowList: stowList
- })
- let dataList = this.data.dataList
- if (moreList.length > 0) {
- moreList.forEach(res1 => {
- if (res1.infotype === 'info') {
- dataList.push(res1)
- }
- })
- }
- if (this.data.oneSelectFlag) {
- moreList.forEach(itt => {
- if (itt.name == moreList[index].name) {
- itt.infotype = 'info'
- } else {
- itt.infotype = 'default'
- }
- })
- this.setData({
- moreList: moreList
- })
- }
- if (stowList.length > 0) {
- stowList.forEach(res2 => {
- if (res2.infotype === 'info') {
- dataList.push(res2)
- }
- })
- }
- let dataListTemp = []
- dataList.forEach(res3 => {
- if (res3.infotype == 'info') {
- dataListTemp.push(res3.id)
- }
- })
- dataList = dataList.filter((item, index) => {
- return dataList.indexOf(item) === index
- })
- this.triggerEvent('onClickTag', {
- dataList: Array.from(new Set(dataListTemp)),
- key: typekey
- })
- },
- /**
- * @desc : 重置事件
- * @author : 于继渤
- * @date : 2022/5/28 08:50
- */
- clearForm() {
- let moreList = this.data.moreList
- let stowList = this.data.stowList
- if (moreList.length > 0) {
- moreList.forEach(res => {
- res.infotype = 'default'
- })
- }
- if (stowList.length > 0) {
- stowList.forEach(res => {
- res.infotype = 'default'
- })
- }
- this.setData({
- moreList: moreList,
- stowList: stowList,
- dataList: []
- })
- },
- /**
- * @desc : 筛选数据源获取
- * @author : 于继渤
- * @date : 2022/5/28 08:50
- */
- getData(dataSourceCode) {
- let param = {
- dataSourceCode: dataSourceCode
- }
- return new Promise((resolve, reject) => {
- api.request(Constants.BASIC_COMMON_API + 'get_wx_init_data', 'POST', param).then(res => {
- if (res.data.code === 200) {
- resolve(res.data)
- } else {
- reject(res.data)
- }
- })
- })
- },
- /**
- * 查询数据
- * @param {*} e
- */
- getdata: function (DataSourceCode) {
- let param = {
- dataSourceCode: DataSourceCode
- }
- if(DataSourceCode === 'moneyAccount'){
- return new Promise((resolve, reject) => {
- api.request(Constants.BASIC_COMMON_API + 'get_mac', 'POST', param).then(res => {
- if (res.data.code === 200) {
- resolve(res.data)
- } else {
- reject(res.data)
- }
- })
- })
- }
- return new Promise((resolve, reject) => {
- api.request(Constants.BASIC_COMMON_API + 'get_init_data', 'POST', param).then(res => {
- if (res.data.code === 200) {
- resolve(res.data)
- } else {
- reject(res.data)
- }
- })
- })
- },
- }
- })
|