| | |
| | | WupinFindValue: "", |
| | | //相似项查询 |
| | | similarVisible: false, |
| | | //发布 |
| | | //启动流程 |
| | | parameter: { |
| | | ids: [], |
| | | btmtype:'', |
| | | code: "", |
| | | type: '', |
| | | // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC' |
| | | template: "", |
| | | processName: "", |
| | | vars: { |
| | | codeClassifyOid: "", |
| | | templateOid: "" |
| | |
| | | result: '' |
| | | }; |
| | | }, |
| | | computed: {}, |
| | | computed: { |
| | | oids() { |
| | | let oids = []; |
| | | this.selectRow.forEach(ele => { |
| | | oids.push(ele.oid); |
| | | }); |
| | | return oids; |
| | | } |
| | | }, |
| | | created() { |
| | | // const index = this.$route.query.id.indexOf('@name=') + '@name='.length; |
| | | // this.result = this.$route.query.id.substring(index); |
| | | getUserInfo().then(res=>{ |
| | | console.log(res.data.data) |
| | | this.result=res.data.data.realName |
| | | }) |
| | | }, |
| | |
| | | codeClassifyOid: { |
| | | handler(newval, oldval) { |
| | | this.codeClassifyOid = newval; |
| | | this.parameter.vars.codeClassifyOid = newval |
| | | }, |
| | | deep: true, |
| | | }, |
| | |
| | | }, |
| | | templateOid: { |
| | | handler(newval, oldval) { |
| | | this.parameter.code = newval; |
| | | this.fileOptions.ownbizOid = "0"; |
| | | this.parameter.vars.templateOid = newval |
| | | }, |
| | | deep: true, |
| | | }, |
| | |
| | | }, |
| | | // 发布 |
| | | setHandler() { |
| | | console.log('Treedata',this.Treedata) |
| | | if (this.selectRow.length > 0) { |
| | | let hasEditing = this.selectRow.some(item => item.lcstatus !== 'Editing'); |
| | | let showMessage = true; |
| | | this.selectRow.forEach(item => { |
| | | if (this.selectRow.length === 1 && item.lcstatus !== "Editing" && showMessage) { |
| | | this.$message.warning('只有状态是【编辑中】的数据才可以发起流程'); |
| | | showMessage = false; |
| | | } else if (hasEditing && showMessage) { |
| | | this.$message.warning('您选择的数据全部为【编辑中】才可以发起流程'); |
| | | showMessage = false; |
| | | } else if (showMessage) { |
| | | processTS({templateId: this.templateOid, buttonTypeKey: 'PUBLIC'}).then(res => { |
| | | if (res.data.data.records && res.data.data.records.length != 0) { |
| | | this.parameter.processName = this.result + '-申请[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; |
| | | this.parameter.type = 'PUBLIC'; |
| | | this.parameter.code = this.templateOid; |
| | | this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; |
| | | this.title = '流程审批' |
| | | this.visibleFlow = true; |
| | | } else { |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Released'}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('发布成功') |
| | | this.onLoad() |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }); |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | } else { |
| | | this.$message.warning('请至少选择一条数据') |
| | | var options = { |
| | | processUse:'PUBLIC', |
| | | processUseText:'申请', |
| | | allowStatus:'Editing', |
| | | allowStatusText:'已编辑', |
| | | startStatus:'Auditing', |
| | | resetStatus:'Editing', |
| | | batchTitle:'批量提交编码数据到流程审批', |
| | | title:'提交编码数据到流程审批' |
| | | } |
| | | this.checkStatusAndSubmitProcess(options,'Released'); |
| | | }, |
| | | //停用 |
| | | Deactivate() { |
| | | if (this.selectRow.length <= 0) { |
| | | this.$message.warning("请选择一条数据"); |
| | | } else { |
| | | let hasEditing = this.selectRow.every(item => item.lcstatus == 'Released'); |
| | | let showMessage = true; |
| | | this.selectRow.forEach(item => { |
| | | if (this.selectRow.length === 1 && item.lcstatus === "Disabled" && showMessage) { |
| | | this.$message.warning('选择的数据中状态无需再执行当前操作'); |
| | | showMessage = false; |
| | | } else if (this.selectRow.length > 1 && !hasEditing && showMessage) { |
| | | this.$message.warning('您选择的数据全部为【发布状态】才可以发起流程'); |
| | | showMessage = false; |
| | | } else if (this.selectRow.length >= 1 && hasEditing && showMessage) { |
| | | processTS({templateId: this.templateOid, buttonTypeKey: 'DISABLE'}).then(res => { |
| | | if (res.data.records != [] && res.data.data.records.length != 0) { |
| | | this.parameter.processName = this.result + '-停用[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; |
| | | this.parameter.type = 'DISABLE'; |
| | | this.parameter.code = this.templateOid |
| | | this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; |
| | | this.title = '停用(冻结)编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Disabled'}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('停用成功') |
| | | this.onLoad() |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } else if(this.selectRow.length == 1 && !hasEditing && showMessage ) { |
| | | this.$message.warning('您选择的数据为【发布状态】才可以发起流程') |
| | | } |
| | | }); |
| | | var options = { |
| | | processUse:'DISABLE', |
| | | processUseText:'停用', |
| | | allowStatus:'Released', |
| | | allowStatusText:'已发布', |
| | | resetStatus:'Released', |
| | | batchTitle:'批量停用(冻结)的编码数据', |
| | | title:'停用(冻结)编码数据', |
| | | confirmMsg:'是否要停用这些数据' |
| | | } |
| | | this.checkStatusAndSubmitProcess(options,'Disabled'); |
| | | }, |
| | | //启用 |
| | | Enable() { |
| | | if (this.selectRow.length <= 0) { |
| | | this.$message.warning("请选择一条数据"); |
| | | } else { |
| | | let hasEditing = this.selectRow.every(item => item.lcstatus == 'Disabled'); |
| | | let showMessage = true; |
| | | this.selectRow.forEach(item => { |
| | | if (this.selectRow.length === 1 && item.lcstatus !== "Disabled" && showMessage) { |
| | | this.$message.warning('选择的数据中状态无需再执行当前操作'); |
| | | showMessage = false; |
| | | } else if (this.selectRow.length >= 1 && hasEditing && showMessage) { |
| | | processTS({templateId: this.templateOid, buttonTypeKey: 'ENABLE'}).then(res => { |
| | | if (res.data.data.records && res.data.data.records.length != 0) { |
| | | this.parameter = res.data.data.records[0] |
| | | this.parameter.processName = this.result + '-启用[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; |
| | | this.parameter.type = 'Released'; |
| | | this.parameter.code = this.templateOid |
| | | this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; |
| | | this.title = '启用编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'Released'}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('启用成功') |
| | | this.onLoad() |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }); |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | } else if (this.selectRow.length > 1 && !hasEditing && showMessage) { |
| | | this.$message.warning('您选择的数据全部为【停用状态】才可以发起流程'); |
| | | showMessage = false; |
| | | } |
| | | }); |
| | | var options = { |
| | | processUse:'ENABLE', |
| | | processUseText:'启用', |
| | | allowStatus:'Disabled', |
| | | allowStatusText:'已停用', |
| | | resetStatus:'Disabled', |
| | | batchTitle:'批量启用(解冻)的编码数据', |
| | | title:'启用(解冻)编码数据', |
| | | confirmMsg:'是否要启用(解冻)这些数据' |
| | | } |
| | | this.checkStatusAndSubmitProcess(options,'Released'); |
| | | }, |
| | | //回收 |
| | | Recovery() { |
| | | var options = { |
| | | processUse:'ROLLBACK', |
| | | processUseText:'回收', |
| | | allowStatus:'Released,Disabled', |
| | | allowStatusText:'已发布,已停用', |
| | | batchTitle:'批量回收的编码数据', |
| | | title:'回收编码数据', |
| | | confirmMsg:'是否要回收这些数据', |
| | | } |
| | | this.checkStatusAndSubmitProcess(options,'TakeBack'); |
| | | }, |
| | | checkStatusAndSubmitProcess(options,targetLcstatus){ |
| | | // 编辑中-只能发布,不能回收 |
| | | // 审核中-什么都不能做 |
| | | // 已发布-停用、回收 |
| | | // 停用-只能启用、回收 |
| | | if (this.selectRow.length <= 0) { |
| | | this.$message.warning("请选择一条数据"); |
| | | this.$message.warning("请选择数据"); |
| | | } else if (this.selectRow.length >1000) { |
| | | this.$message.warning("每次提交到流程的数量请不要超过1000条"); |
| | | } else { |
| | | // 编辑中-只能发布,不能回收 |
| | | // 审核中-什么都不能做 |
| | | // 已发布-停用、回收 |
| | | // 停用-只能启用、回收 |
| | | const disabledCount = this.selectRow.filter(item => item.lcstatus === 'Disabled').length; |
| | | const releasedCount = this.selectRow.filter(item => item.lcstatus === 'Released').length; |
| | | let showMessage = true; |
| | | this.selectRow.forEach(item => { |
| | | if (this.selectRow.length === 1 && item.lcstatus == "TakeBack" && showMessage) { |
| | | this.$message.warning('选择的数据中状态无需再执行当前操作'); |
| | | showMessage = false; |
| | | } else if (this.selectRow.length >= 1 && (disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0) && showMessage) { |
| | | //disabledCount 和 releasedCount 中任意一个等于 this.selectRow 数组的长度则表示全部是同一种状态,返回 true 如果disabledCount 和 releasedCount 都大于0,则表示既有Disabled也有Released返回 true |
| | | processTS({templateId: this.templateOid, buttonTypeKey: 'ROLLBACK'}).then(res => { |
| | | if (res.data.records != [] && res.data.data.records.length != 0) { |
| | | this.parameter.processName = this.result + '-回收[' + this.selectRow[0].btmname + '-' + this.selectRow[0].name + ']'; |
| | | this.parameter.type = 'TakeBack'; |
| | | this.parameter.code = this.templateOid |
| | | this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; |
| | | this.title = '回收编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({oid: oid, btmname: this.selectRow[0].btmname, lcStatus: 'TakeBack'}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('回收成功') |
| | | this.onLoad() |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }); |
| | | }); |
| | | //审批的数据的状态必须相同 |
| | | var lcstatus = this.selectRow[0].lcstatus; |
| | | let hasDiff = this.selectRow.every(item => item.lcstatus == lcstatus); |
| | | if (!hasDiff) { |
| | | this.$message.warning("您选择的数据的状态不相同"); |
| | | return false; |
| | | } |
| | | if (lcstatus == targetLcstatus) { |
| | | this.$message.warning("选择的数据中状态无需再执行当前操作"); |
| | | return false; |
| | | } |
| | | if(options.processUseText=='申请' && !validatenull(this.selectRow[0].copyfromversion)){ |
| | | options.processUseText='修改' |
| | | options.processUse='EDIT' |
| | | } |
| | | let checkStatus = this.selectRow.every(item => options.allowStatus.indexOf(item.lcstatus)!=-1); |
| | | if(!checkStatus){ |
| | | this.$message.warning('只有状态是【'+options.allowStatusText+'】的数据才可以发起流程'); |
| | | return false; |
| | | } |
| | | processTS({templateId: this.templateOid, buttonTypeKey: options.processUse}).then(res => { |
| | | if (res.data.data.records && res.data.data.records.length != 0) { |
| | | this.parameter.ids=this.oids; |
| | | this.parameter.processName = this.result + '-'+options.processUseText+'[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']'; |
| | | this.parameter.type = options.processUse; |
| | | this.parameter.code = this.templateOid |
| | | this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype; |
| | | this.parameter.vars= { |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | templateOid: this.templateOid |
| | | }; |
| | | this.title = this.selectRow.length>1?options.batchTitle:options.title; |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | changeStatus({oid: this.oids.join(','), btmname: this.selectRow[0].btmname, lcStatus: targetLcstatus}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success(options.processUseText + '成功') |
| | | this.onLoad() |
| | | } |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消' |
| | | }); |
| | | }); |
| | | } else if (showMessage && this.selectRow.length > 1 && !(disabledCount === this.selectRow.length || releasedCount === this.selectRow.length) || (disabledCount > 0 && releasedCount > 0)) { |
| | | this.$message.warning('您选择的数据全部为【停用状态或发布状态】才可以发起流程'); |
| | | showMessage = false; |
| | | } else if (showMessage) { |
| | | this.$message.warning('您选择的数据为【停用状态或发布状态】才可以发起流程') |
| | | } |
| | | }); |
| | | } |
| | |
| | | //多选 |
| | | handleSelectionChange(list) { |
| | | this.selectRow = list; |
| | | console.log(this.selectRow) |
| | | this.parameter.ids = []; |
| | | list.forEach((item) => { |
| | | this.parameter.ids.push(item.oid); |
| | | }); |
| | | }, |
| | | //选择 |
| | | handleSelection(list, row) { |