| | |
| | | <div class="testbox" style=""> |
| | | <div> |
| | | </div> |
| | | <el-row style="width: 100%;margin-bottom: 20px"> |
| | | <div> |
| | | <el-row style="width: 100%;margin-bottom: 10px"> |
| | | <div style="margin-bottom: 10px"> |
| | | <el-button v-for="(item, index) in masterVrBtnList" |
| | | v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)" |
| | | :key="index" plain size="small" |
| | |
| | | item.name |
| | | }} |
| | | </el-button> |
| | | <span v-if="tableHeadFindData.length > 0"> |
| | | <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small"> |
| | | <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label" |
| | | :value="item.prop"></el-option> |
| | | </el-select> |
| | | <el-input v-model="WupinFindValue" placeholder="请输入关键字按回车查询" |
| | | size="small" style="width: 180px; margin-left: 5px; margin-top: 10px" |
| | | @keyup.enter.native="tableFindInp" v-if="tableData.length != 0"></el-input> |
| | | @keyup.enter.native="tableFindInp"></el-input> |
| | | </span> |
| | | <span v-if="tableHeadFindData.length > 0" style="margin-left: 10px"> |
| | | <p style="font-size: 13px;display: inline-block;"> 状态:</p> |
| | | <el-select slot="prepend" v-model="statusSelect" placeholder="请选择" size="small" |
| | | @change="cellSelectHandler"> |
| | | <el-option label="全部" value="all"></el-option> |
| | | <el-option label="已发布" value="Released"></el-option> |
| | | <el-option label="编辑中" value="Editing"></el-option> |
| | | <el-option label="已停用" value="Disabled"></el-option> |
| | | <el-option label="审核中" value="Auditing"></el-option> |
| | | </el-select></span> |
| | | </div> |
| | | <el-table ref="dataTable" v-loading="isLoading" :data="tableData" |
| | | :height="tableHeight" |
| | | @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick" |
| | | @select-all="handleSelectionAll" @selection-change="handleSelectionChange" |
| | | @sort-change="sortChange"> |
| | | <el-table-column fixed type="selection" width="55" v-if="tableData.length != 0"></el-table-column> |
| | | <el-table-column fixed label="序号" type="index" width="55" v-if="tableData.length != 0"> |
| | | </el-table-column> |
| | | <el-table-column v-for="item in this.tableHeadFindData" :key="item.id" :formatter="item.formatter" |
| | | :label="item.label" |
| | | :prop="item.prop" :show-overflow-tooltip="true" |
| | | :sortable="item.sortable" |
| | | :width="item.width" |
| | | align="center"> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="custom-table"> |
| | | <el-table class="cus-table" ref="dataTable" v-loading="isLoading" :data="tableData" |
| | | :height="tableHeight" border |
| | | @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick" |
| | | @select-all="handleSelectionAll" @selection-change="handleSelectionChange" |
| | | @sort-change="sortChange"> |
| | | <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column> |
| | | <el-table-column v-if="tableData.length != 0" fixed label="序号" type="index" width="55"> |
| | | </el-table-column> |
| | | <!-- 生命周期--> |
| | | <el-table-column v-for="(item,index) in lcstatusArray" key="index" v-if=" lcstatusArray.length !== 0 && !item.hidden" label="生命周期值" prop="lcstatus" |
| | | :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.lcstatus_text }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- 编号--> |
| | | <el-table-column v-for="(item, index) in CodeArray" key="index" v-if="CodeArray.length !== 0 && !item.hidden" :label="item.label" :prop="item.prop" |
| | | :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width" |
| | | align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-link type="primary" @click="CodeLinkHandler(scope.row)"> |
| | | {{ scope.row[item.prop] }} |
| | | </el-link> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus'" |
| | | :key="item.id" |
| | | :formatter="item.formatter" |
| | | :label="item.label" :prop="item.prop" |
| | | :show-overflow-tooltip="true" |
| | | :sortable="item.sortable" |
| | | :width="item.width" |
| | | align="center"> |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | </div> |
| | | </el-row> |
| | | <!-- 新增--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible" |
| | | <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid" |
| | | :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid" |
| | | :visible.sync="addvisible" |
| | | type="add" |
| | | @submit="AddSumbit"> |
| | | </FormTemplateDialog> |
| | |
| | | :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'" |
| | | :visible.sync="editvisible" |
| | | type="edit" @submit="EditSumbit"></FormTemplateDialog> |
| | | <!-- 数据详情--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :rowOid="this.LinkObject.oid" :templateOid="templateOid" |
| | | :title="'数据详情'" |
| | | :visible.sync="LinkVisible" |
| | | type="detail"></FormTemplateDialog> |
| | | <!-- 已发布数据修改--> |
| | | <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid" |
| | | :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" |
| | | :title="'已发布数据更改'" |
| | | :type="edit" |
| | | :visible.sync="DataVisible"></FormTemplateDialog> |
| | | :visible.sync="DataVisible" |
| | | type="edit" @submit="updataSumbit"></FormTemplateDialog> |
| | | <!-- 发布--> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleFlow" @onLoad="onLoad"></set-personnel> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleFlow" |
| | | @onLoad="onLoad"></set-personnel> |
| | | <!-- 停用--> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleDeactivate" @onLoad="onLoad"></set-personnel> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleDeactivate" |
| | | @onLoad="onLoad"></set-personnel> |
| | | <!-- 启用--> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleEnable" @onLoad="onLoad"></set-personnel> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleEnable" |
| | | @onLoad="onLoad"></set-personnel> |
| | | <!-- 回收--> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleRecovery" @onLoad="onLoad"></set-personnel> |
| | | <set-personnel :parameter="this.parameter" :title="title" :visible.sync="visibleRecovery" |
| | | @onLoad="onLoad"></set-personnel> |
| | | <!-- 高级查询--> |
| | | <advanced-query :options="this.options" :visible.sync="findvisible" |
| | | @echoContion="echoContion"></advanced-query> |
| | | <!-- 导出--> |
| | | <MasterTransfer :codeClassifyOid="codeClassifyOid" :limit="page.pageSize" :templateOid="templateOid" :selectRow="selectRow" |
| | | :tableData="tableData" :tableHeadData="tableHeadFindData" |
| | | <MasterTransfer :codeClassifyOid="codeClassifyOid" :limit="page.pageSize" :selectRow="selectRow" |
| | | :tableData="tableData" |
| | | :tableHeadData="tableHeadFindData" :templateOid="templateOid" |
| | | :visible.sync="dialogPush"></MasterTransfer> |
| | | <!-- 相似项--> |
| | | <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid" |
| | | :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog> |
| | | <div class="block" style="display: flex; justify-content: flex-end"> |
| | | <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes" |
| | | <el-pagination :current-page="page.currentPage" :page-size="page.pageSize" :page-sizes="page.pageSizes" |
| | | :total="page.total" layout="total, sizes, prev, pager, next, jumper" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange"> |
| | |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :visible.sync="batchImportData.visible" :resetTable="CrudRend"> |
| | | <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend" |
| | | :visible.sync="batchImportData.visible"> |
| | | </BatchImport> |
| | | </div> |
| | | <div class="bottom"> |
| | |
| | | </basic-container> |
| | | </template> |
| | | <script> |
| | | import {MasterTable, TableData, FindData, addSaveCode, editSaveCode,deleteCode} from "@/api/GetItem"; |
| | | import {processTS,changeStatus} from "@/api/template/setPersonnel" |
| | | import { |
| | | MasterTable, |
| | | TableData, |
| | | FindData, |
| | | addSaveCode, |
| | | editSaveCode, |
| | | deleteCode, |
| | | upSaveCode, |
| | | applyGroupCode, |
| | | receiveEditApply |
| | | } from "@/api/GetItem"; |
| | | import {processTS, changeStatus} from "@/api/template/setPersonnel" |
| | | import {listCodeAttributeByClassId} from "@/api/integration/integration.js"; |
| | | import integrationTransfer from "@/views/integration/integrationTransfer"; |
| | | import SetPersonnel from "@/components/template/SetPersonnel"; |
| | |
| | | import BatchImport from '@/components/BatchImport' |
| | | import {validatenull} from "@/util/validate"; |
| | | import fileInHtml from "@/components/file/inHtml.vue"; |
| | | import {getUserInfo} from "@/api/system/user"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | tableDataArray: { |
| | | type: Array, |
| | | }, |
| | | TreeValue: { |
| | | type: String, |
| | | default: "", |
| | | }, |
| | | total: { |
| | | type: String, |
| | | default: "", |
| | |
| | | tableHeadBtnData: { |
| | | type: Array, |
| | | }, |
| | | Treedata: { |
| | | type: Array |
| | | }, |
| | | |
| | | }, |
| | | data() { |
| | | return { |
| | | LinkVisible: false, |
| | | LinkObject: {}, // 编码数据 |
| | | LinkList: [], |
| | | isCodeArrayPushed: false, // 编码数组添加标识变量 |
| | | CodeArray: [], |
| | | lcstatusArray:[], |
| | | islcstatusPushed:false, |
| | | // 状态搜索 |
| | | statusSelect: "all", |
| | | // 关键字查询 |
| | | keyWordFind: "", |
| | | searchResults: [], |
| | | //首页右侧搜索 |
| | | WupinFindValue: "", |
| | | //相似项查询 |
| | | similarVisible: false, |
| | | //发布 |
| | | //启动流程 |
| | | parameter: { |
| | | ids: [], |
| | | btmtype: '', |
| | | code: "", |
| | | type: '', |
| | | // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC' |
| | | template: "", |
| | | processName: "", |
| | | vars: { |
| | | codeClassifyOid: "", |
| | | templateOid: "" |
| | |
| | | datetime: "datetime", |
| | | }, |
| | | tableData: [], |
| | | tableHeight: 'calc(100vh - 330px)', |
| | | tableHeight: 'calc(100vh - 350px)', |
| | | DataVisible: false, |
| | | tableHeadData: [], |
| | | items: {}, |
| | |
| | | fileDocClassifyName: '', |
| | | hasDownload: true, |
| | | hasUpload: true, |
| | | height: 100 |
| | | } |
| | | height: 110 |
| | | }, |
| | | 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 => { |
| | | this.result = res.data.data.realName |
| | | }) |
| | | }, |
| | | mounted() { |
| | | }, |
| | | activated() { |
| | | this.doLayout() |
| | | this.doLayout() |
| | | }, |
| | | updated() { |
| | | this.doLayout() |
| | |
| | | codeClassifyOid: { |
| | | handler(newval, oldval) { |
| | | this.codeClassifyOid = newval; |
| | | this.parameter.vars.codeClassifyOid = newval |
| | | }, |
| | | deep: true, |
| | | }, |
| | |
| | | tableHeadFindData: { |
| | | handler(newval, oldval) { |
| | | newval.forEach((record, _index) => { |
| | | if (record.field == 'id' && validatenull(record.templet)) { |
| | | if (record.queryField == 'id' && validatenull(record.templet)) { |
| | | //企业编码的默认添加超链接,暂未实现 |
| | | record.formatter = ''; |
| | | } else { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (_index == 0) { |
| | | this.keyWordFind = record.queryField |
| | | } |
| | | }) |
| | | this.tableHeadFindDatas = newval; |
| | | // console.log('new',newval) |
| | | if (!this.isCodeArrayPushed) { |
| | | if (newval.find(item => item.prop === 'id')) { |
| | | this.CodeArray.push(newval.find(item => item.prop === 'id')); |
| | | } else { |
| | | this.CodeArray.push([]); |
| | | } |
| | | // console.log('CodeArray', this.CodeArray); |
| | | this.isCodeArrayPushed = true; |
| | | } |
| | | if (!this.islcstatusPushed) { |
| | | if (newval.find(item => item.prop === 'lcstatus')) { |
| | | this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus')); |
| | | } else { |
| | | this.lcstatusArray.push([]); |
| | | } |
| | | // console.log('lcstatusArray', this.lcstatusArray); |
| | | this.islcstatusPushed = true; |
| | | } |
| | | // console.log('new',newval) |
| | | this.WupinFindValue = '' |
| | | }, |
| | | }, |
| | | total: { |
| | |
| | | }, |
| | | templateOid: { |
| | | handler(newval, oldval) { |
| | | this.parameter.code = newval; |
| | | this.fileOptions.ownbizOid = "0"; |
| | | this.parameter.vars.templateOid = newval |
| | | }, |
| | | deep: true, |
| | | }, |
| | |
| | | } |
| | | }, |
| | | deep: true |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | CodeLinkHandler(row) { |
| | | this.LinkObject = row; |
| | | this.LinkVisible = true; |
| | | this.LinkList = Object.keys(row).map(property => property) |
| | | // console.log(result); |
| | | // console.log(this.LinkObject) |
| | | }, |
| | | //状态搜索 |
| | | cellSelectHandler(row) { |
| | | if (row === 'all') { |
| | | this.cellStatusFind() |
| | | } else { |
| | | this.cellStatusFind(row) |
| | | } |
| | | }, |
| | | cellStatusFind(lcstatus) { |
| | | TableData({ |
| | | templateOid: this.templateOid, |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | page: this.page.currentPage, |
| | | limit: this.page.pageSize, |
| | | 'conditionMap[lcstatus]': lcstatus |
| | | }).then(res => { |
| | | this.tableData = res.data.data |
| | | }) |
| | | }, |
| | | //展开附件 |
| | | handleCollapse(activeNames) { |
| | | if (activeNames.length > 0) { |
| | | this.tableHeight = 'calc(100vh - 630px)'; |
| | | this.$refs.dataTable.doLayout() |
| | | } else { |
| | | this.tableHeight = 'calc(100vh - 330px)'; |
| | | this.tableHeight = 'calc(100vh - 350px)'; |
| | | this.$refs.dataTable.doLayout() |
| | | } |
| | | }, |
| | |
| | | if (uniqueFlag === 'CODERECYCLE') return this.Recovery() |
| | | //删除 |
| | | if (uniqueFlag === 'CODEDELETE') return this.enumDeleteRow() |
| | | //申请集团码数据 |
| | | if (uniqueFlag === 'applyGroupCode') return this.applyGroupCode() |
| | | //更新集团码数据 |
| | | if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply() |
| | | // 相似项查询 |
| | | // if(uniqueFlag === 'CODEEDIT') return this.similarHandler() |
| | | }); |
| | | }, |
| | | //申请集团码数据 |
| | | applyGroupCode() { |
| | | if (this.selectRow.length <= 0) { |
| | | this.$message.warning('请选择一条数据模板!') |
| | | } else { |
| | | // const requestData = this.selectRow.forEach(item => { |
| | | // return { oids: item.oid, btmName: item.btmname }; |
| | | // }); |
| | | const oids = this.selectRow.map(item => item.oid).join(','); |
| | | applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('申请成功') |
| | | } |
| | | this.onLoad() |
| | | }) |
| | | } |
| | | }, |
| | | //更新集团码数据 |
| | | receiveEditApply() { |
| | | if (this.selectRow.length <= 0) { |
| | | this.$message.warning('请选择一条数据模板!') |
| | | } else { |
| | | // const requestData = this.selectRow.forEach(item => { |
| | | // return { oids: item.oid, btmName: item.btmname }; |
| | | // }); |
| | | const oids = this.selectRow.map(item => item.oid).join(','); |
| | | receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => { |
| | | if (res.data.code == 200) { |
| | | this.$message.success('更新成功') |
| | | this.onLoad() |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | openD() { |
| | | this.getListCodeByClassId(); |
| | |
| | | this.transferData = data; |
| | | } |
| | | }, |
| | | handelTransferSave(val) { |
| | | console.log('发布', val) |
| | | }, |
| | | rend() { |
| | | this.tableData = this.tableHeadData; |
| | | }, |
| | | // 发布 |
| | | setHandler() { |
| | | 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.userName = localStorage.getItem("username"); |
| | | this.parameter.template = this.userName + "-发布" + "[物品]"; |
| | | this.parameter.type = 'PUBLIC'; |
| | | this.parameter.code=this.templateOid |
| | | this.title = '流程审批' |
| | | this.visibleFlow = true; |
| | | } else { |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const index = this.$route.query.id.indexOf('@'); |
| | | const result = this.$route.query.id.substring(0, index); |
| | | console.log(this.$route.query) |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({ oid: oid, btmname: result, 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: 'PUBLIC' }).then(res => { |
| | | if (res.data.records != [] && res.data.data.records.length!=0) { |
| | | this.userName = localStorage.getItem("username"); |
| | | this.parameter.template = this.userName + "停用" + "[物品]"; |
| | | this.parameter.type = 'DISABLE'; |
| | | this.parameter.code=this.templateOid |
| | | this.title = '停用(冻结)编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const index = this.$route.query.id.indexOf('@'); |
| | | const result = this.$route.query.id.substring(0, index); |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({ oid: oid, btmname: result, lcStatus: 'Disabled' }).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: '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: 'PUBLIC' }).then(res => { |
| | | if (res.data.data.records && res.data.data.records.length!=0) { |
| | | this.parameter=res.data.data.records[0] |
| | | this.userName = localStorage.getItem("username"); |
| | | this.parameter.template = this.userName + "启用" + "[物品]"; |
| | | this.parameter.type = 'Released'; |
| | | this.parameter.code=this.templateOid |
| | | this.title = '启用编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const index = this.$route.query.id.indexOf('@'); |
| | | const result = this.$route.query.id.substring(0, index); |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({ oid: oid, btmname: result, 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: 'PUBLIC' }).then(res => { |
| | | if (res.data.records != [] && res.data.data.records.length!=0) { |
| | | this.userName = localStorage.getItem("username"); |
| | | this.parameter.template = this.userName + "回收" + "[物品]"; |
| | | this.parameter.type = 'TakeBack'; |
| | | this.parameter.code=this.templateOid |
| | | this.title = '回收编码数据' |
| | | this.visibleDeactivate = true; |
| | | } else { |
| | | if (showMessage) { |
| | | showMessage = false; // 标记已执行过操作 |
| | | this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const index = this.$route.query.id.indexOf('@'); |
| | | const result = this.$route.query.id.substring(0, index); |
| | | const oid = this.selectRow.map(obj => obj.oid).join(","); |
| | | changeStatus({ oid: oid, btmname: result, 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('您选择的数据为【停用状态或发布状态】才可以发起流程') |
| | | } |
| | | }); |
| | | } |
| | |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | const list=[]; |
| | | this.selectRow.forEach((item)=>{list.push(item.oid)}) |
| | | deleteCode({codeClassifyOid:this.codeClassifyOid,oidList:list}).then(res=>{ |
| | | console.log(res) |
| | | if(res.data.code === 200){ |
| | | const list = []; |
| | | this.selectRow.forEach((item) => { |
| | | list.push(item.oid) |
| | | }) |
| | | deleteCode({codeClassifyOid: this.codeClassifyOid, oidList: list}).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message({ |
| | | type: 'success', |
| | | message: '删除成功!' |
| | |
| | | this.List.forEach((item) => { |
| | | let columnItem = { |
| | | label: item.title, |
| | | prop: item.field, |
| | | prop: item.queryField, |
| | | type: this.columnType[item.type], |
| | | sortable: item.sort, |
| | | width: item.minWidth, |
| | |
| | | }, |
| | | // 排序 |
| | | sortChange(val) { |
| | | // console.log(val) |
| | | this.isLoading = true; |
| | | let order = ""; |
| | | if (val.order == "ascending") { |
| | |
| | | //多选 |
| | | handleSelectionChange(list) { |
| | | this.selectRow = list; |
| | | this.parameter.ids = []; |
| | | list.forEach((item) => { |
| | | this.parameter.ids.push(item.oid); |
| | | }); |
| | | }, |
| | | //选择 |
| | | handleSelection(list, row) { |
| | |
| | | this.$message.warning("只有状态为已发布的数据才能进行数据更改"); |
| | | } else { |
| | | this.DataVisible = true; |
| | | this.rowOid = this.selectRow[0]['oid'] |
| | | } |
| | | }, |
| | | //增加保存 |
| | | AddSumbit(val) { |
| | | this.addvisible = false; |
| | | addSaveCode(val).then(res => { |
| | | this.$nextTick(() => { |
| | | this.addvisible = false; |
| | | this.$message.success("保存成功"); |
| | | this.onLoad() |
| | | }) |
| | | }) |
| | | }, |
| | | //修改回调 |
| | | EditSumbit(val) { |
| | | this.editvisible = false; |
| | | editSaveCode(val).then(res => { |
| | | this.$nextTick(() => { |
| | | this.editvisible = false; |
| | | this.$message.success("保存成功"); |
| | | this.onLoad() |
| | | }) |
| | | }) |
| | | }, |
| | | //数据更改回调 |
| | | updataSumbit(val) { |
| | | val.copyFromVersion = this.rowOid; |
| | | val.oid = ''; |
| | | upSaveCode(val).then(res => { |
| | | this.$nextTick(() => { |
| | | this.DataVisible = false; |
| | | this.$message.success("保存成功"); |
| | | this.onLoad() |
| | | }) |
| | | }) |
| | |
| | | }, |
| | | //输入回车搜索 |
| | | tableFindInp() { |
| | | if (this.WupinFindValue.trim() === '') { |
| | | /*if (this.WupinFindValue.trim() === '') { |
| | | this.$message.warning('输入值不能为空') |
| | | return; |
| | | } |
| | | this.tableData = this.searchResults.filter(item => { |
| | | if (typeof item.name === 'string') { |
| | | return item.name.includes(this.WupinFindValue); |
| | | } else { |
| | | return false; // item.name不是字符串类型,返回false |
| | | } |
| | | }); |
| | | }*/ |
| | | TableData({ |
| | | templateOid: this.templateOid, |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | page: this.page.currentPage, |
| | | limit: this.page.pageSize, |
| | | ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*' |
| | | }).then(res => { |
| | | this.tableData = res.data.data |
| | | }) |
| | | } |
| | | |
| | | } |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .testbox { |
| | | .el-table--scrollable-x .el-table__body-wrapper { |
| | | overflow: auto !important; |
| | | } |
| | | //固定列高度 |
| | | /deep/ .el-table__fixed { |
| | | height: calc(100vh - 370px)!important; |
| | | } |
| | | // 滚动条样式修改 |
| | | // 滚动条的宽度 |
| | | /deep/ .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 15px; // 纵向滚动条 必写 |
| | | background: white; |
| | | border: white; |
| | | width: 10px; |
| | | |
| | | .el-table__fixed-right-patch { |
| | | background-color: #f5f7fa !important; |
| | | } |
| | | } |
| | | // 滚动条的滑块 |
| | | /deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { |
| | | background-color: #ececec; |
| | | border-radius: 20px; |
| | | border: #ececec; |
| | | } |
| | | |
| | | /deep/ .el-button { |
| | | |
| | | .el-button { |
| | | margin: 0 10px 10px 0; |
| | | } |
| | | |
| | | /deep/ .dialog-footer .el-button { |
| | | margin: 0 10px 0 0; |
| | | } |
| | | |
| | | .main { |
| | |
| | | } |
| | | |
| | | .bottom { |
| | | margin-top: 20px; |
| | | overflow-y: scroll; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .el-collapse-item__content { |
| | | padding-bottom: 0; |
| | | .el-table__body-wrapper{ |
| | | height: calc(100% - 44px) !important; |
| | | } |
| | | </style> |