样式 (1:搜索按钮放入右侧,2:隐藏表格显影按钮,3:页码改为(15,30,50,100))
126 files modified
1 files added
| | |
| | | <td width="60px">性别</td> |
| | | <td width="120px">准考证号</td> |
| | | <td width="160px">身份证号</td> |
| | | <td width="300px">单位名称</td> |
| | | <td width="300px">企业名称</td> |
| | | <td width="100px">报考证件</td> |
| | | <td width="200px">报名时间</td> |
| | | </tr>` |
| | |
| | | <template> |
| | | <div class="avue-logo"> |
| | | <transition name="fade"> |
| | | <span v-if="keyCollapse" |
| | | class="avue-logo_subtitle" |
| | | key="0"> |
| | | <span v-if="keyCollapse" class="avue-logo_subtitle" key="0"> |
| | | {{website.logo}} |
| | | </span> |
| | | </transition> |
| | | <transition-group name="fade"> |
| | | <template v-if="!keyCollapse"> |
| | | <span class="avue-logo_title" |
| | | key="1">{{website.indexTitle}} </span> |
| | | <span class="avue-logo_title" key="1">{{ website.indexTitle }} </span> |
| | | </template> |
| | | </transition-group> |
| | | </div> |
| | |
| | | }, |
| | | created() {}, |
| | | computed: { |
| | | ...mapGetters(["website", "keyCollapse"]) |
| | | ...mapGetters(["website", "keyCollapse"]), |
| | | }, |
| | | methods: {} |
| | | methods: {}, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | state.isShade = active; |
| | | }, |
| | | SET_COLLAPSE: (state, val = 3) => { |
| | | // console.log(val) |
| | | if (val == 3) { |
| | | state.isCollapse = !state.isCollapse; |
| | | } else { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | .avue-form__group > div:last-child { |
| | | display: inline-block !important; |
| | | width: auto !important; |
| | | } |
| | | |
| | | // 表格搜索按钮样式覆盖 |
| | | @import "./tableSearchBut.scss"; |
| | |
| | | } |
| | | } |
| | | |
| | | @media screen and (max-width: 992px) { |
| | | $width: 240px; |
| | | // ele的自适应 |
| | | .el-dialog, |
| | | .el-message-box { |
| | | width: 98% !important; |
| | | } |
| | | //登录页面 |
| | | .login-left { |
| | | display: none !important; |
| | | } |
| | | .login-logo { |
| | | padding-top: 30px !important; |
| | | margin-left: -30px; |
| | | } |
| | | .login-weaper { |
| | | margin: 0 auto; |
| | | width: 96% !important; |
| | | } |
| | | .login-border { |
| | | border-radius: 5px; |
| | | padding: 40px; |
| | | margin: 0 auto; |
| | | float: none !important; |
| | | width: 100% !important; |
| | | } |
| | | .login-main { |
| | | width: 100% !important; |
| | | } |
| | | //主框架 |
| | | .avue-tags { |
| | | display: none; |
| | | } |
| | | .avue-left, |
| | | .avue-logo { |
| | | left: -$width; |
| | | } |
| | | .avue-main { |
| | | left: 0; |
| | | width: 100%; |
| | | } |
| | | .avue-header { |
| | | margin-bottom: 15px; |
| | | padding-left: 15px; |
| | | } |
| | | .top-bar__item { |
| | | display: none; |
| | | } |
| | | .avue--collapse { |
| | | .avue-left, |
| | | .avue-logo { |
| | | width: $width; |
| | | left: 0; |
| | | } |
| | | // @media screen and (max-width: 992px) { |
| | | // $width: 240px; |
| | | // // ele的自适应 |
| | | // .el-dialog, |
| | | // .el-message-box { |
| | | // width: 98% !important; |
| | | // } |
| | | // //登录页面 |
| | | // .login-left { |
| | | // display: none !important; |
| | | // } |
| | | // .login-logo { |
| | | // padding-top: 30px !important; |
| | | // margin-left: -30px; |
| | | // } |
| | | // .login-weaper { |
| | | // margin: 0 auto; |
| | | // width: 96% !important; |
| | | // } |
| | | // .login-border { |
| | | // border-radius: 5px; |
| | | // padding: 40px; |
| | | // margin: 0 auto; |
| | | // float: none !important; |
| | | // width: 100% !important; |
| | | // } |
| | | // .login-main { |
| | | // width: 100% !important; |
| | | // } |
| | | // //主框架 |
| | | // .avue-tags { |
| | | // display: none; |
| | | // } |
| | | // .avue-left, |
| | | // .avue-logo { |
| | | // left: -$width; |
| | | // } |
| | | // .avue-main { |
| | | // left: 0; |
| | | // width: 100%; |
| | | // } |
| | | // .avue-header { |
| | | // margin-bottom: 15px; |
| | | // padding-left: 15px; |
| | | // } |
| | | // .top-bar__item { |
| | | // display: none; |
| | | // } |
| | | // .avue--collapse { |
| | | // .avue-left, |
| | | // .avue-logo { |
| | | // width: $width; |
| | | // left: 0; |
| | | // } |
| | | |
| | | .avue-main { |
| | | width: calc(100% - 60px); |
| | | left: 60px; |
| | | } |
| | | // .avue-main { |
| | | // width: calc(100% - 60px); |
| | | // left: 60px; |
| | | // } |
| | | |
| | | .avue-header { |
| | | padding-left: 60px; |
| | | } |
| | | } |
| | | } |
| | | // .avue-header { |
| | | // padding-left: 60px; |
| | | // } |
| | | // } |
| | | // } |
| New file |
| | |
| | | .tooRowSearch .avue-crud__search .avue-form__group.avue-form__group--flex .avue-form__menu--center { |
| | | width: 222px !important; |
| | | position: absolute !important; |
| | | right: 0 !important; |
| | | top: 126px !important; |
| | | z-index: 100 !important; |
| | | } |
| | | .tooRowSearch .el-card.is-never-shadow.avue-crud__search { |
| | | overflow: visible; |
| | | } |
| | | |
| | | .oneRowSearch .avue-crud__search .avue-form__group.avue-form__group--flex .avue-form__menu--center { |
| | | width: 222px !important; |
| | | position: absolute !important; |
| | | right: 0 !important; |
| | | top: 71px !important; |
| | | z-index: 100 !important; |
| | | } |
| | | .oneRowSearch .el-card.is-never-shadow.avue-crud__search { |
| | | overflow: visible; |
| | | } |
| | |
| | | <template> |
| | | <basic-container class="desk1"> |
| | | <basic-container |
| | | :class="[ |
| | | 'desk1', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | <el-tag>{{ row.deptName }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="sex"> |
| | | <el-tag>{{ row.sex=="1"?"男":row.sex=="2"?"女":""}}</el-tag> |
| | | <el-tag>{{ |
| | | row.sex == "1" ? "男" : row.sex == "2" ? "女" : "" |
| | | }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | |
| | | remove, |
| | | update, |
| | | add, |
| | | getAccreditationRecords |
| | | getAccreditationRecords, |
| | | } from "@/api/accreditationRecords/accreditationRecords"; |
| | | import { getDept } from "@/api/system/dept"; |
| | | import { mapGetters } from "vuex"; |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | saveBtnText: "发布", |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "申请时间", |
| | |
| | | // display: false, |
| | | }, |
| | | // { |
| | | // label: "所属保安公司", |
| | | // label: "企业名称", |
| | | // searchLabelWidth: "110", |
| | | // // prop: "deptName", |
| | | // prop: "deptId", |
| | |
| | | // minWidth: 260, |
| | | // }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | prop: "deptName", |
| | | // type: "tree", |
| | |
| | | searchSpan: 5, |
| | | search: true, |
| | | overHidden: true, |
| | | minWidth: 200 |
| | | minWidth: 200, |
| | | }, |
| | | { |
| | | label: "性别", |
| | |
| | | dicData:[ |
| | | { |
| | | label:"全部", |
| | | value:3 |
| | | value: 3, |
| | | }, |
| | | { |
| | | label:"有", |
| | | value:1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label:"无", |
| | | value:2 |
| | | } |
| | | ] |
| | | value: 2, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(null, false), |
| | | viewBtn: this.vaildData(this.permission.accreditationRecords_view, false), |
| | | delBtn: this.vaildData(this.permission.accreditationRecords_delete, false), |
| | | viewBtn: this.vaildData( |
| | | this.permission.accreditationRecords_view, |
| | | false |
| | | ), |
| | | delBtn: this.vaildData( |
| | | this.permission.accreditationRecords_delete, |
| | | false |
| | | ), |
| | | editBtn: this.vaildData(null, false), |
| | | }; |
| | | }, |
| | |
| | | //获取查询条件 |
| | | const { releaseTimeRange } = this.questionBankSearch; |
| | | if (releaseTimeRange) { |
| | | this.questionBankSearch['startTime'] = releaseTimeRange[0]; |
| | | this.questionBankSearch['endTime'] = releaseTimeRange[1]; |
| | | this.questionBankSearch["startTime"] = releaseTimeRange[0]; |
| | | this.questionBankSearch["endTime"] = releaseTimeRange[1]; |
| | | } |
| | | var data = { |
| | | type:1, |
| | |
| | | } |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/accreditationRecords/export-security-paper?${this.website.tokenHeader}=${getToken()}&`+data); |
| | | window.open( |
| | | `/api/accreditationRecords/export-security-paper?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data |
| | | ); |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | <template> |
| | | <basic-container class="desk1"> |
| | | <basic-container |
| | | :class="[ |
| | | 'desk1', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | <el-tag>{{ row.categoryName }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="userType"> |
| | | {{ |
| | | row.userType == 6 ? "已制证" : row.userType == 7 ? "未制证" : "" |
| | | }} |
| | | {{ row.userType == 6 ? "已制证" : row.userType == 7 ? "未制证" : "" }} |
| | | </template> |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | |
| | | add, |
| | | getAccreditationRecords, |
| | | audit, |
| | | batchAudit |
| | | batchAudit, |
| | | } from "@/api/accreditationRecords/accreditationRecords"; |
| | | import { updatePaperTime } from "@/api/system/user"; |
| | | import { getDept } from "@/api/system/dept"; |
| | |
| | | excelBtn: false, |
| | | menuWidth: 230, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "审核状态", |
| | |
| | | excelBtn: false, |
| | | menuWidth: 380, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "所选保安人数", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | saveBtnText: "发布", |
| | | menuWidth: 180, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "申请时间", |
| | |
| | | // display: false, |
| | | }, |
| | | // { |
| | | // label: "所属保安公司", |
| | | // label: "企业名称", |
| | | // searchLabelWidth: "110", |
| | | // // prop: "deptName", |
| | | // prop: "deptId", |
| | |
| | | // minWidth: 260, |
| | | // }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | prop: "deptName", |
| | | // type: "tree", |
| | |
| | | dicData:[ |
| | | { |
| | | label:"全部", |
| | | value:3 |
| | | value: 3, |
| | | }, |
| | | { |
| | | label:"有", |
| | | value:1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label:"无", |
| | | value:2 |
| | | } |
| | | ] |
| | | value: 2, |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(null, false), |
| | | viewBtn: this.vaildData(this.permission.accreditationRecords_paper_view, false), |
| | | viewBtn: this.vaildData( |
| | | this.permission.accreditationRecords_paper_view, |
| | | false |
| | | ), |
| | | delBtn: this.vaildData(null, false), |
| | | editBtn: this.vaildData(null, false), |
| | | }; |
| | |
| | | auditStatus:row.auditStatus, |
| | | auditDetail:row.auditDetail, |
| | | auditUser:this.userInfo.Id, |
| | | } |
| | | }; |
| | | //提交申请 |
| | | batchAudit(data).then( |
| | | () => { |
| | |
| | | } |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/accreditationRecords/export-security-book-paper?${this.website.tokenHeader}=${getToken()}&`+data); |
| | | window.open( |
| | | `/api/accreditationRecords/export-security-book-paper?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data |
| | | ); |
| | | }); |
| | | }, |
| | | //保安员证信息导出 |
| | |
| | | } |
| | | //序列号url形式,用&拼接 |
| | | data = Qs.stringify(data); |
| | | window.open(`/api/accreditationRecords/export-security-book-papers?${this.website.tokenHeader}=${getToken()}&`+data); |
| | | window.open( |
| | | `/api/accreditationRecords/export-security-book-papers?${ |
| | | this.website.tokenHeader |
| | | }=${getToken()}&` + data |
| | | ); |
| | | }); |
| | | }, |
| | | }, |
| | |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-apply-exam-1"> |
| | | <el-col :span="24" class="hasButOne"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <avue-crud |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | }; |
| | | }, |
| | | created() { |
| | | |
| | | // if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) { |
| | | // this.questionBankOption.column[0].dicUrl = |
| | | // "/api/blade-system/dept/lazy-tree-user?parentId="; |
| | |
| | | this.$refs.questionBankCrud.toggleSelection(); |
| | | }); |
| | | }, |
| | | |
| | | |
| | | handleImport() { |
| | | this.excelBox = true; |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-05 12:02:26 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:19:17 |
| | | * menu-name 报名考试 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-apply-exam"> |
| | | <el-col :span="24" |
| | | class="hasButOne"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <avue-crud v-model="obj" |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | | :option="questionBankOption" |
| | | :search.sync="questionBankSearch" |
| | |
| | | @current-change="questionBankCurrentChange" |
| | | @size-change="questionBankSizeChange" |
| | | @row-save="questionBankRowSave" |
| | | @row-del="questionBankRowDel"> |
| | | @row-del="questionBankRowDel" |
| | | > |
| | | <!-- 自定义按钮 --> |
| | | <!-- <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | |
| | | </template> --> |
| | | <!-- 自定义按钮 --> |
| | | <template slot="menuLeft"> |
| | | <el-button type="primary" |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-folder-checked" |
| | | @click="handleBatchExam" |
| | | v-if="permission.applyexam_exam">生成考试 |
| | | v-if="permission.applyexam_exam" |
| | | >生成考试 |
| | | </el-button> |
| | | <!-- v-if="examPersission" --> |
| | | <el-button type="primary" |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-folder-checked" |
| | | v-if="permission.applyexam_import" |
| | | @click="handleImport">批量报名 |
| | | @click="handleImport" |
| | | >批量报名 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, row }" |
| | | slot="menu"> |
| | | <el-button :type="type" |
| | | <template slot-scope="{ type, row }" slot="menu"> |
| | | <el-button |
| | | :type="type" |
| | | size="small" |
| | | icon="el-icon-refresh-left" |
| | | v-if="permission.applyexam_cancel" |
| | | :disabled="row.isApply == 2" |
| | | @click="handleCancel(row)">取消报名 |
| | | @click="handleCancel(row)" |
| | | >取消报名 |
| | | </el-button> |
| | | <el-button style="display: none" |
| | | <el-button |
| | | style="display: none" |
| | | :type="type" |
| | | size="small" |
| | | icon="el-icon-folder-checked" |
| | | :disabled="row.applyStatus == 4" |
| | | @click="handleAudit(row)">审核 |
| | | @click="handleAudit(row)" |
| | | >审核 |
| | | </el-button> |
| | | <el-button :type="type" |
| | | <el-button |
| | | :type="type" |
| | | size="small" |
| | | icon="el-icon-receiving" |
| | | v-if="permission.applyexam_print && row.candidateNo!=''" |
| | | @click="handlePrint(row)">准考证打印 |
| | | @click="handlePrint(row)" |
| | | >准考证打印 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ row }" |
| | | slot="age"> |
| | | <template slot-scope="{ row }" slot="age"> |
| | | {{ row.age == -1 ? "" : row.age }} |
| | | </template> |
| | | </avue-crud> |
| | | |
| | | <el-dialog title="考试资格审核" |
| | | <el-dialog |
| | | title="考试资格审核" |
| | | :visible.sync="dialogFormVisible" |
| | | modal-append-to-body="false" |
| | | append-to-body="true" |
| | | :close-on-click-model="true"> |
| | | <avue-form ref="formAudit" |
| | | :close-on-click-model="true" |
| | | > |
| | | <avue-form |
| | | ref="formAudit" |
| | | v-model="Audit" |
| | | :option="optionAudit" |
| | | @reset-change="emptytChange" |
| | | @submit="submit"></avue-form> |
| | | @submit="submit" |
| | | ></avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="批量报名导入" |
| | | <el-dialog |
| | | title="批量报名导入" |
| | | append-to-body |
| | | :visible.sync="excelBox" |
| | | width="555px"> |
| | | <avue-form :option="excelOption" |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | :option="excelOption" |
| | | v-model="excelForm" |
| | | :upload-after="uploadAfter"> |
| | | :upload-after="uploadAfter" |
| | | > |
| | | <template slot="excelTemplate"> |
| | | <el-button type="primary" |
| | | @click="handleTemplate"> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | 点击下载<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> |
| | | </avue-form> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="考试生成" |
| | | <el-dialog |
| | | title="考试生成" |
| | | append-to-body |
| | | :visible.sync="dialogExamFormVisible" |
| | | width="900px" |
| | | @close="closeDialog"> |
| | | <avue-form ref="formExamApply" |
| | | @close="closeDialog" |
| | | > |
| | | <avue-form |
| | | ref="formExamApply" |
| | | v-model="examApply" |
| | | :option="optionExamApply" |
| | | @reset-change="emptytChange" |
| | | @submit="submitExamApply"></avue-form> |
| | | @submit="submitExamApply" |
| | | ></avue-form> |
| | | </el-dialog> |
| | | </div> |
| | | </el-card> |
| | |
| | | excelBtn: false, |
| | | menuWidth: 230, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "审核状态", |
| | |
| | | excelBtn: false, |
| | | menuWidth: 380, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试人数", |
| | | prop: "number", |
| | | type: 'number', |
| | | type: "number", |
| | | span: 12, |
| | | precision: 0, |
| | | step: 50, |
| | | mock: { |
| | | type: 'number', |
| | | type: "number", |
| | | max: 1000, |
| | | min: 0, |
| | | precision: 0 |
| | | precision: 0, |
| | | }, |
| | | rules: [ |
| | | { |
| | |
| | | span: 6, |
| | | value: 1, |
| | | mock: { |
| | | type: 'number', |
| | | type: "number", |
| | | max: 1000, |
| | | min: 1, |
| | | precision: 0 |
| | | precision: 0, |
| | | }, |
| | | minRows: 1, |
| | | maxRows: 1000, |
| | |
| | | span: 6, |
| | | value: 50, |
| | | mock: { |
| | | type: 'number', |
| | | type: "number", |
| | | max: 1000, |
| | | min: 1, |
| | | precision: 0 |
| | | precision: 0, |
| | | }, |
| | | minRows: 1, |
| | | maxRows: 1000, |
| | |
| | | defaultExpandAll: true, |
| | | // 操作栏宽度 |
| | | menuWidth: 250, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "保安姓名", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | }, |
| | | }, |
| | | created () { |
| | | |
| | | if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) { |
| | | this.examPersission = true; |
| | | } |
| | | |
| | | this.questionBankSearch['applyStatus'] = 2; |
| | | this.questionBankSearch["applyStatus"] = 2; |
| | | }, |
| | | mounted () { }, |
| | | computed: { |
| | |
| | | roleIds.forEach((roleId) => { |
| | | getRoleDetail(roleId).then((res) => { |
| | | var roleAlias = res.data.data.roleAlias; |
| | | if ( |
| | | roleAlias == "保安公司管理员" || |
| | | roleAlias == "保安" |
| | | ) { |
| | | if (roleAlias == "保安公司管理员" || roleAlias == "保安") { |
| | | //如果是保安公司管理员 |
| | | params["deptId"] = that.userInfo.dept_id; |
| | | } |
| | |
| | | this.questionBankLoading = false; |
| | | this.questionBankSelectionClear(); |
| | | }); |
| | | }) |
| | | }) |
| | | }); |
| | | }); |
| | | }, |
| | | questionBankSelectionClear () { |
| | | this.questionBankSelectionList = []; |
| | |
| | | var that = this; |
| | | row.startTime = row.startTime + ":00"; |
| | | row.endTime = row.endTime + ":00"; |
| | | if (row.number != ((row.serialEnd - row.serialStart) + 1)) { |
| | | if (row.number != row.serialEnd - row.serialStart + 1) { |
| | | this.$message({ |
| | | type: "error", |
| | | message: "考试人数与序号不匹配!", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | @tree-load="treeLoad"> |
| | | @tree-load="treeLoad" |
| | | > |
| | | <template slot-scope="{row}" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-setting" |
| | | size="small" |
| | | v-if="permission.api_scope_setting" |
| | | plain |
| | | style="border: 0;background-color: transparent !important;" |
| | | @click.stop="handleDataScope(row)">权限配置 |
| | | style="border: 0; background-color: transparent !important" |
| | | @click.stop="handleDataScope(row)" |
| | | >权限配置 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" slot="source"> |
| | |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-drawer :title="`[${scopeMenuName}] 接口权限配置`" :visible.sync="drawerVisible" :direction="direction" |
| | | <el-drawer |
| | | :title="`[${scopeMenuName}] 接口权限配置`" |
| | | :visible.sync="drawerVisible" |
| | | :direction="direction" |
| | | append-to-body |
| | | :before-close="handleDrawerClose" size="1000px"> |
| | | :before-close="handleDrawerClose" |
| | | size="1000px" |
| | | > |
| | | <basic-container> |
| | | <avue-crud :option="optionScope" |
| | | <avue-crud |
| | | :option="optionScope" |
| | | :data="dataScope" |
| | | :page="pageScope" |
| | | v-model="formScope" |
| | |
| | | @selection-change="selectionChangeScope" |
| | | @current-change="currentChangeScope" |
| | | @size-change="sizeChangeScope" |
| | | @on-load="onLoadScope"> |
| | | @on-load="onLoadScope" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDeleteScope">删 除 |
| | | @click="handleDeleteScope" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="scopeType"> |
| | | <template slot-scope="{ row }" slot="scopeType"> |
| | | <el-tag>{{row.scopeTypeName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | remove, |
| | | update, |
| | | getLazyMenuList, |
| | | getMenu |
| | | getMenu, |
| | | } from "@/api/system/menu"; |
| | | import { |
| | | addApiScope, |
| | | removeApiScope, |
| | | updateApiScope, |
| | | getListApiScope, |
| | | getMenuApiScope |
| | | getMenuApiScope, |
| | | } from "@/api/system/scope"; |
| | | import {mapGetters} from "vuex"; |
| | | import iconList from "@/config/iconList"; |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | drawerVisible: false, |
| | | direction: 'rtl', |
| | | direction: "rtl", |
| | | scopeLoading: false, |
| | | scopeMenuId: 0, |
| | | scopeMenuName: "菜单", |
| | |
| | | delBtn: false, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "菜单名称", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单名称", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "路由地址", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入路由地址", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "上级菜单", |
| | |
| | | dicUrl: "/api/blade-system/menu/tree", |
| | | hide: true, |
| | | props: { |
| | | label: "title" |
| | | label: "title", |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择上级菜单", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单图标", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单图标", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单编号", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单编号", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单类型", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "菜单", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "按钮", |
| | | value: 2 |
| | | } |
| | | value: 2, |
| | | }, |
| | | ], |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择菜单类型", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单别名", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单别名", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "按钮功能", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "工具栏", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "操作栏", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "工具操作栏", |
| | | value: 2 |
| | | } |
| | | value: 2, |
| | | }, |
| | | ], |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择按钮功能", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单排序", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单排序", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "新窗口", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | ], |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "菜单备注", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 6, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | data: [], |
| | | formScope: {}, |
| | |
| | | pageScope: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | }, |
| | | optionScope: { |
| | | tip: false, |
| | |
| | | menuWidth: 200, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "权限名称", |
| | | prop: "scopeName", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "权限编号", |
| | | prop: "resourceCode", |
| | | search: true, |
| | | width: 180, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "权限路径", |
| | | prop: "scopePath", |
| | | width: 180, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "接口类型", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=api_scope_type", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | width: 100, |
| | | prop: "scopeType", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入通知类型", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "备注", |
| | |
| | | span: 24, |
| | | hide: true, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | dataScope: [] |
| | | dataScope: [], |
| | | }; |
| | | }, |
| | | |
| | |
| | | addBtn: this.vaildData(this.permission.menu_add, false), |
| | | viewBtn: this.vaildData(this.permission.menu_view, false), |
| | | delBtn: this.vaildData(this.permission.menu_delete, false), |
| | | editBtn: this.vaildData(this.permission.menu_edit, false) |
| | | editBtn: this.vaildData(this.permission.menu_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | scopeIds() { |
| | | let ids = []; |
| | | this.selectionListScope.forEach(ele => { |
| | | this.selectionListScope.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | // 菜单管理模块 |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.parentId = ''; |
| | | this.parentId = ""; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getMenu(this.form.id).then(res => { |
| | | getMenu(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => { |
| | | getLazyMenuList(this.parentId, Object.assign(params, this.query)).then( |
| | | (res) => { |
| | | this.data = res.data.data; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | treeLoad(tree, treeNode, resolve) { |
| | | const parentId = tree.id; |
| | | getLazyMenuList(parentId).then(res => { |
| | | getLazyMenuList(parentId).then((res) => { |
| | | resolve(res.data.data); |
| | | }); |
| | | }, |
| | |
| | | this.drawerVisible = true; |
| | | this.scopeMenuId = row.id; |
| | | this.scopeMenuName = row.name; |
| | | this.onLoadScope(this.pageScope) |
| | | this.onLoadScope(this.pageScope); |
| | | }, |
| | | handleDrawerClose(hide) { |
| | | hide(); |
| | |
| | | ...row, |
| | | menuId: this.scopeMenuId, |
| | | }; |
| | | addApiScope(row).then(() => { |
| | | addApiScope(row).then( |
| | | () => { |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdateScope(row, index, done, loading) { |
| | | row = { |
| | | ...row, |
| | | menuId: this.scopeMenuId, |
| | | }; |
| | | updateApiScope(row).then(() => { |
| | | updateApiScope(row).then( |
| | | () => { |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDelScope(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeApiScope(row.id); |
| | |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeApiScope(this.scopeIds); |
| | |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crudScope.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpenScope(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getMenuApiScope(this.formScope.id).then(res => { |
| | | getMenuApiScope(this.formScope.id).then((res) => { |
| | | this.formScope = res.data.data; |
| | | }); |
| | | } |
| | |
| | | const values = { |
| | | ...params, |
| | | menuId: this.scopeMenuId, |
| | | } |
| | | getListApiScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => { |
| | | }; |
| | | getListApiScope( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(values, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.pageScope.total = data.total; |
| | | this.dataScope = data.records; |
| | |
| | | this.scopeLoading = false; |
| | | }); |
| | | }, |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad" |
| | | @tree-load="treeLoad"> |
| | | @tree-load="treeLoad" |
| | | > |
| | | <template slot-scope="{row}" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-setting" |
| | | size="small" |
| | | v-if="permission.data_scope_setting" |
| | | plain |
| | | style="border: 0;background-color: transparent !important;" |
| | | @click.stop="handleDataScope(row)">权限配置 |
| | | style="border: 0; background-color: transparent !important" |
| | | @click.stop="handleDataScope(row)" |
| | | >权限配置 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" slot="source"> |
| | |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-drawer :title="`[${scopeMenuName}] 数据权限配置`" :visible.sync="drawerVisible" :direction="direction" |
| | | <el-drawer |
| | | :title="`[${scopeMenuName}] 数据权限配置`" |
| | | :visible.sync="drawerVisible" |
| | | :direction="direction" |
| | | append-to-body |
| | | :before-close="handleDrawerClose" size="1000px"> |
| | | :before-close="handleDrawerClose" |
| | | size="1000px" |
| | | > |
| | | <basic-container> |
| | | <avue-crud :option="optionScope" |
| | | <avue-crud |
| | | :option="optionScope" |
| | | :data="dataScope" |
| | | :page="pageScope" |
| | | v-model="formScope" |
| | |
| | | @selection-change="selectionChangeScope" |
| | | @current-change="currentChangeScope" |
| | | @size-change="sizeChangeScope" |
| | | @on-load="onLoadScope"> |
| | | @on-load="onLoadScope" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDeleteScope">删 除 |
| | | @click="handleDeleteScope" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="scopeType"> |
| | | <template slot-scope="{ row }" slot="scopeType"> |
| | | <el-tag>{{row.scopeTypeName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | remove, |
| | | update, |
| | | getLazyMenuList, |
| | | getMenu |
| | | getMenu, |
| | | } from "@/api/system/menu"; |
| | | import { |
| | | addDataScope, |
| | | removeDataScope, |
| | | updateDataScope, |
| | | getListDataScope, |
| | | getMenuDataScope |
| | | getMenuDataScope, |
| | | } from "@/api/system/scope"; |
| | | import {mapGetters} from "vuex"; |
| | | import iconList from "@/config/iconList"; |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | drawerVisible: false, |
| | | direction: 'rtl', |
| | | direction: "rtl", |
| | | scopeMenuId: 0, |
| | | scopeMenuCode: '', |
| | | scopeMenuCode: "", |
| | | scopeMenuName: "菜单", |
| | | scopeLoading: false, |
| | | menu: true, |
| | |
| | | delBtn: false, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "菜单名称", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单名称", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "路由地址", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入路由地址", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "上级菜单", |
| | |
| | | dicUrl: "/api/blade-system/menu/tree", |
| | | hide: true, |
| | | props: { |
| | | label: "title" |
| | | label: "title", |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择上级菜单", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单图标", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单图标", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单编号", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单编号", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单类型", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "菜单", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "按钮", |
| | | value: 2 |
| | | } |
| | | value: 2, |
| | | }, |
| | | ], |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择菜单类型", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单别名", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单别名", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "按钮功能", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "工具栏", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "操作栏", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "工具操作栏", |
| | | value: 2 |
| | | } |
| | | value: 2, |
| | | }, |
| | | ], |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择按钮功能", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "菜单排序", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入菜单排序", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "新窗口", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | ], |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "菜单备注", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 6, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | data: [], |
| | | formScope: {}, |
| | |
| | | pageScope: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | }, |
| | | optionScope: { |
| | | tip: false, |
| | |
| | | menuWidth: 200, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "权限名称", |
| | | prop: "scopeName", |
| | | search: true, |
| | | value: "", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "权限编号", |
| | | prop: "resourceCode", |
| | | search: true, |
| | | width: 100, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "权限字段", |
| | | prop: "scopeColumn", |
| | | width: 130, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "规则类型", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=data_scope_type", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | width: 140, |
| | | prop: "scopeType", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入通知类型", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "可见字段", |
| | |
| | | span: 24, |
| | | hide: true, |
| | | value: "*", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据权限可见的字段", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "权限类名", |
| | | prop: "scopeClass", |
| | | span: 24, |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入MybatisMapper对应方法的完整类名路径", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "规则值", |
| | |
| | | span: 24, |
| | | hide: true, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | dataScope: [] |
| | | dataScope: [], |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'formScope.scopeType'() { |
| | | "formScope.scopeType"() { |
| | | this.initScope(); |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | addBtn: this.vaildData(this.permission.menu_add, false), |
| | | viewBtn: this.vaildData(this.permission.menu_view, false), |
| | | delBtn: this.vaildData(this.permission.menu_delete, false), |
| | | editBtn: this.vaildData(this.permission.menu_edit, false) |
| | | editBtn: this.vaildData(this.permission.menu_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | scopeIds() { |
| | | let ids = []; |
| | | this.selectionListScope.forEach(ele => { |
| | | this.selectionListScope.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | initScope() { |
| | | const scopeType = func.toInt(this.formScope.scopeType); |
| | | const watchMode = this.watchMode; |
| | | let column = "-", name = "暂无"; |
| | | let column = "-", |
| | | name = "暂无"; |
| | | if (scopeType === 1) { |
| | | column = "-"; |
| | | name = "全部可见"; |
| | |
| | | column = ""; |
| | | name = "自定义"; |
| | | } |
| | | this.$refs.crudScope.option.column.filter(item => { |
| | | this.$refs.crudScope.option.column.filter((item) => { |
| | | if (watchMode) { |
| | | if (item.prop === "scopeName") { |
| | | this.formScope.scopeName = `${this.scopeMenuName} [${name}]`; |
| | |
| | | }, |
| | | // 菜单管理模块 |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | searchChange(params, done) { |
| | | this.query = params; |
| | | this.parentId = ''; |
| | | this.parentId = ""; |
| | | this.page.currentPage = 1; |
| | | this.onLoad(this.page, params); |
| | | done(); |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getMenu(this.form.id).then(res => { |
| | | getMenu(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getLazyMenuList(this.parentId, Object.assign(params, this.query)).then(res => { |
| | | getLazyMenuList(this.parentId, Object.assign(params, this.query)).then( |
| | | (res) => { |
| | | this.data = res.data.data; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | treeLoad(tree, treeNode, resolve) { |
| | | const parentId = tree.id; |
| | | getLazyMenuList(parentId).then(res => { |
| | | getLazyMenuList(parentId).then((res) => { |
| | | resolve(res.data.data); |
| | | }); |
| | | }, |
| | |
| | | this.scopeMenuId = row.id; |
| | | this.scopeMenuCode = row.code; |
| | | this.scopeMenuName = row.name; |
| | | this.onLoadScope(this.pageScope) |
| | | this.onLoadScope(this.pageScope); |
| | | }, |
| | | handleDrawerClose(hide) { |
| | | hide(); |
| | |
| | | ...row, |
| | | menuId: this.scopeMenuId, |
| | | }; |
| | | addDataScope(row).then(() => { |
| | | addDataScope(row).then( |
| | | () => { |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdateScope(row, index, done, loading) { |
| | | row = { |
| | | ...row, |
| | | menuId: this.scopeMenuId, |
| | | }; |
| | | updateDataScope(row).then(() => { |
| | | updateDataScope(row).then( |
| | | () => { |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDelScope(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeDataScope(row.id); |
| | |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeDataScope(this.scopeIds); |
| | |
| | | this.onLoadScope(this.pageScope); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crudScope.toggleSelection(); |
| | | }); |
| | |
| | | } |
| | | if (["edit", "view"].includes(type)) { |
| | | this.watchMode = false; |
| | | getMenuDataScope(this.formScope.id).then(res => { |
| | | getMenuDataScope(this.formScope.id).then((res) => { |
| | | this.formScope = res.data.data; |
| | | }); |
| | | } |
| | |
| | | const values = { |
| | | ...params, |
| | | menuId: this.scopeMenuId, |
| | | } |
| | | getListDataScope(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => { |
| | | }; |
| | | getListDataScope( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(values, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.pageScope.total = data.total; |
| | | this.dataScope = data.records; |
| | |
| | | this.scopeLoading = false; |
| | | }); |
| | | }, |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container class="hasButThree"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButThree', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | tip: false, |
| | |
| | | viewBtn: true, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "角色名称", |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-19 19:39:45 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:16:07 |
| | | * menu-name 报名考试 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-apply-exam"> |
| | | <el-col :span="24" class="hasButOne"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | |
| | | excelBtn: false, |
| | | menuWidth: 230, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "审核状态", |
| | |
| | | excelBtn: false, |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | |
| | | defaultExpandAll: true, |
| | | // 操作栏宽度 |
| | | menuWidth: 200, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | <template> |
| | | <basic-container class="desk1"> |
| | | <basic-container |
| | | :class="[ |
| | | 'desk1', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | import { getListPage, remove, update, add, getNotice } from "@/api/desk/notice"; |
| | | import { getDept } from "@/api/system/dept"; |
| | | import { mapGetters } from "vuex"; |
| | | import { mapState } from 'vuex'; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | saveBtnText: "发布", |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "通知标题", |
| | |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: state => state.user.userInfo |
| | | }) |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | mounted() { |
| | | this.getDeptInfo(this.userInfo.dept_id); |
| | |
| | | deptCategory == 1 |
| | | ? (that.deptCategory = true) |
| | | : (that.deptCategory = false); |
| | | |
| | | }); |
| | | }, |
| | | //跳转到附件列表页面 |
| | |
| | | }else{ |
| | | row.category = 2; |
| | | } |
| | | row['type'] = 1; |
| | | row["type"] = 1; |
| | | row.deptId = this.deptId; |
| | | add(row).then( |
| | | () => { |
| | |
| | | <template> |
| | | <basic-container class="desk1"> |
| | | <basic-container |
| | | :class="[ |
| | | 'desk1', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <!-- |
| | | :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | ...this.$store.state.control.clearOtherBut, |
| | | ...this.$store.state.control.changePageSize, |
| | | --> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | import { getListPage, remove, update, add, getNotice } from "@/api/desk/notice"; |
| | | import { getDept } from "@/api/system/dept"; |
| | | import { mapGetters } from "vuex"; |
| | | import { mapState } from 'vuex'; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | saveBtnText: "发布", |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "标题", |
| | |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: state => state.user.userInfo |
| | | }) |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | mounted() { |
| | | this.getDeptInfo(this.userInfo.dept_id); |
| | |
| | | deptCategory == 1 |
| | | ? (that.deptCategory = true) |
| | | : (that.deptCategory = false); |
| | | |
| | | }); |
| | | }, |
| | | //跳转到附件列表页面 |
| | |
| | | }); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | row['type'] = 3; |
| | | row["type"] = 3; |
| | | row.deptId = this.deptId; |
| | | add(row).then( |
| | | () => { |
| | |
| | | <template> |
| | | <basic-container class="desk1"> |
| | | <basic-container |
| | | :class="[ |
| | | 'desk1', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | import { getListPage, remove, update, add, getNotice } from "@/api/desk/notice"; |
| | | import { getDept } from "@/api/system/dept"; |
| | | import { mapGetters } from "vuex"; |
| | | import { mapState } from 'vuex'; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | saveBtnText: "发布", |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "标题", |
| | |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: state => state.user.userInfo |
| | | }) |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | mounted() { |
| | | this.getDeptInfo(this.userInfo.dept_id); |
| | |
| | | deptCategory == 1 |
| | | ? (that.deptCategory = true) |
| | | : (that.deptCategory = false); |
| | | |
| | | }); |
| | | }, |
| | | //跳转到附件列表页面 |
| | |
| | | }); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | row['type'] = 2; |
| | | row["type"] = 2; |
| | | row.deptId = this.deptId; |
| | | add(row).then( |
| | | () => { |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="dispatch"> |
| | | <div |
| | | :class="[ |
| | | 'dispatch', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <!-- <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs> |
| | | <span v-if="typeTABS.prop === 'tab1'"> --> |
| | | <avue-crud |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | menuWidth: 160, |
| | | align: "center", |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | //派遣服务公司登记 |
| | | { |
| | | label: "派遣单位名称", |
| | | label: "派遣企业名称", |
| | | prop: "name", |
| | | search: true, |
| | | searchLabelWidth: 110, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="dispatchChildoperable"> |
| | | <div |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | form: {}, |
| | | query1: {}, |
| | |
| | | // menuWidth: 160, |
| | | align: "center", |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | // }, |
| | | { |
| | |
| | | form["deptId"] = this.useifid; |
| | | } |
| | | console.log(form,123456); |
| | | form["ids"] = form.userIds.join(","), |
| | | delete form.userIds; |
| | | (form["ids"] = form.userIds.join(",")), delete form.userIds; |
| | | console.log(form,321); |
| | | saveDispatcher(form).then( |
| | | (res) => { |
| | |
| | | console.log(row,123); |
| | | const userColumn = this.findObject(this.option.column, "userIds"); |
| | | userColumn.multiple = false; |
| | | userColumn.dicUrl = "/api/blade-user/security-dispatcher-tree?deptId="+this.userInfo.dept_id+"&id="+this.form.userIds+"&realName="+this.form.securityName; |
| | | userColumn.dicUrl = |
| | | "/api/blade-user/security-dispatcher-tree?deptId=" + |
| | | this.userInfo.dept_id + |
| | | "&id=" + |
| | | this.form.userIds + |
| | | "&realName=" + |
| | | this.form.securityName; |
| | | } |
| | | if(type=="add"){ |
| | | const userColumn = this.findObject(this.option.column, "userIds"); |
| | | userColumn.multiple = true; |
| | | userColumn.dicUrl = "/api/blade-user/security-dispatcher-tree?deptId="+this.userInfo.dept_id; |
| | | userColumn.dicUrl = |
| | | "/api/blade-user/security-dispatcher-tree?deptId=" + |
| | | this.userInfo.dept_id; |
| | | } |
| | | done(); |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="dispatchChildoperable"> |
| | | <div |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option1" |
| | | :data="data1" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | form: {}, |
| | | query1: {}, |
| | |
| | | // menuWidth: 160, |
| | | align: "center", |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | // }, |
| | | { |
| | |
| | | } |
| | | }, |
| | | { |
| | | label: "派遣单位名称", |
| | | label: "派遣企业名称", |
| | | prop: "name", |
| | | span: 11, |
| | | labelWidth: 130, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | if (i == 1) { |
| | | // console.log("存在"); |
| | | } else { |
| | | |
| | | this.obj0 = {}; |
| | | this.obj0.name = row.name + " 该派遣单位已删除"; |
| | | window.localStorage.removeItem("paqiandata"); |
| | |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "题目名称", |
| | |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "题目名称", |
| | |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "题目名称", |
| | |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "题目名称", |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-09-28 11:45:28 |
| | | * @Last Modified time: 2021-11-23 14:20:02 |
| | | * menu-name 考试缴费管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24" class="recruitmentManagement"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'recruitmentManagement', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | |
| | | menu: true, |
| | | menuWidth: 186, |
| | | labelWidth: 120, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | // { |
| | | // label: "缴费类型", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-10-25 15:10:09 |
| | | * @Last Modified time: 2021-11-23 14:17:22 |
| | | * menu-name 成绩管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24" class="recruitmentManagement"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'recruitmentManagement', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | |
| | | menu: true, |
| | | menuWidth: 186, |
| | | labelWidth: 120, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 21:02:10 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:18:07 |
| | | * menu-name 成绩查看 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-score"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | |
| | | {{ row.learnGrade == -1 ? "" : row.allGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" slot="qualified"> |
| | | {{ row.learnGrade == -1 ? "" : row.qualified == 0?"合格":row.qualified==1?"不合格":'' }} |
| | | {{ |
| | | row.learnGrade == -1 |
| | | ? "" |
| | | : row.qualified == 0 |
| | | ? "合格" |
| | | : row.qualified == 1 |
| | | ? "不合格" |
| | | : "" |
| | | }} |
| | | </template> |
| | | |
| | | <template slot-scope="{ row }" slot="menu"> |
| | |
| | | menu: true, |
| | | menuWidth: 136, |
| | | labelWidth: 120, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入考试名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "是否合格", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | viewBtn: this.vaildData(null, false), |
| | | delBtn: this.vaildData(null, false), |
| | | editBtn: this.vaildData(this.permission.user_edit, false), |
| | | excelBtn: this.vaildData(this.permission.singleperformance_export, false), |
| | | excelBtn: this.vaildData( |
| | | this.permission.singleperformance_export, |
| | | false |
| | | ), |
| | | }; |
| | | }, |
| | | }, |
| | |
| | | that.questionBankLoading = false; |
| | | that.questionBankSelectionClear(); |
| | | }); |
| | | }) |
| | | }); |
| | | |
| | | }); |
| | | }, |
| | | questionBankSelectionClear() { |
| | | this.questionBankSelectionList = []; |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 17:09:52 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:16:42 |
| | | * menu-name 考试管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-paper"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="form" |
| | | class="company-box" |
| | |
| | | menuWidth: 280, |
| | | |
| | | labelWidth: 140, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | methods: { |
| | | questionBankOnLoad(page, params = {}) { |
| | | this.questionBankLoading = false; |
| | | params['examType'] = 1; |
| | | params["examType"] = 1; |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | |
| | | // 新增 |
| | | questionBankRowSave(row, done, loading) { |
| | | row.startTime = row.startTime+":00"; |
| | | row['examType'] = 1; |
| | | row["examType"] = 1; |
| | | // row.endTime = row.examTime[1]; |
| | | // row.examTime = JSON.stringify(row.examTime); |
| | | add(row).then( |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 16:04:26 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:14:38 |
| | | * menu-name 题库查询 |
| | | */ |
| | | <template> |
| | |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | class="company-box" |
| | | :option="questionBankOption" |
| | |
| | | dialogClickModal: false, |
| | | // 操作栏宽度 |
| | | menuWidth: 226, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "题目名称", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | <template slot-scope="{row}" |
| | | slot="suspensionState"> |
| | | <el-tag>{{row.suspensionState===1?'激活':'挂起'}}</el-tag> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="{ row }" slot="suspensionState"> |
| | | <el-tag>{{ row.suspensionState === 1 ? "激活" : "挂起" }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程删除" |
| | | <el-dialog |
| | | title="流程删除" |
| | | append-to-body |
| | | :visible.sync="followBox" |
| | | width="20%"> |
| | | <el-form :model="form" |
| | | ref="form" |
| | | label-width="80px"> |
| | | width="20%" |
| | | > |
| | | <el-form :model="form" ref="form" label-width="80px"> |
| | | <el-form-item label="删除理由"> |
| | | <el-input v-model="deleteReason" |
| | | placeholder="请输入删除理由" /> |
| | | <el-input v-model="deleteReason" placeholder="请输入删除理由" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="followBox = false">关 闭</el-button> |
| | | <el-button type="primary" |
| | | @click="handleDelete">确 定</el-button> |
| | | <el-button type="primary" @click="handleDelete">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | selectionId: '', |
| | | processInstanceId: '', |
| | | selectionId: "", |
| | | processInstanceId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | followBox: false, |
| | | deleteReason: '', |
| | | deleteReason: "", |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 100, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "执行id", |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '开始时间', |
| | | prop: 'startTime', |
| | | label: "开始时间", |
| | | prop: "startTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowDel(row) { |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return deleteProcessInstance({deleteReason: this.deleteReason, processInstanceId: this.processInstanceId}); |
| | | return deleteProcessInstance({ |
| | | deleteReason: this.deleteReason, |
| | | processInstanceId: this.processInstanceId, |
| | | }); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.followBox = false; |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | followList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | followList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-radio-group v-model="mode" size="small"> |
| | | <el-radio-button label="1">通用流程</el-radio-button> |
| | |
| | | </el-radio-group> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_manager_state" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleState(scope.row,scope.index)">变更状态 |
| | | @click.stop="handleState(scope.row, scope.index)" |
| | | >变更状态 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_manager_image" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">流程图 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >流程图 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_manager_remove" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleSlotDelete(scope.row,scope.index)">删除 |
| | | @click.stop="handleSlotDelete(scope.row, scope.index)" |
| | | >删除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="tenantId"> |
| | | <el-tag>{{row.tenantId===''?'通用':row.tenantId}}</el-tag> |
| | | <template slot-scope="{ row }" slot="tenantId"> |
| | | <el-tag>{{ row.tenantId === "" ? "通用" : row.tenantId }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="version"> |
| | | <template slot-scope="{ row }" slot="version"> |
| | | <el-tag>v{{row.version}}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="suspensionState"> |
| | | <el-tag>{{row.suspensionState===1?'激活':'挂起'}}</el-tag> |
| | | <template slot-scope="{ row }" slot="suspensionState"> |
| | | <el-tag>{{ row.suspensionState === 1 ? "激活" : "挂起" }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <template slot-scope="{ row }" slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="流程变更" |
| | | <el-dialog |
| | | title="流程变更" |
| | | append-to-body |
| | | :visible.sync="stateBox" |
| | | width="20%"> |
| | | <el-form :model="form" |
| | | ref="form" |
| | | label-width="80px"> |
| | | width="20%" |
| | | > |
| | | <el-form :model="form" ref="form" label-width="80px"> |
| | | <el-form-item label="流程状态"> |
| | | <el-select v-model="flowState" placeholder="请选择" value=""> |
| | | <el-option |
| | | v-for="item in stateOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | :value="item.value" |
| | | > |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="stateBox = false">关 闭</el-button> |
| | | <el-button type="primary" |
| | | @click="handleDoState">确 定</el-button> |
| | | <el-button type="primary" @click="handleDoState">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | mode: '1', |
| | | selectionId: '', |
| | | mode: "1", |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | stateBox: false, |
| | | flowState: '', |
| | | stateOptions: [{ |
| | | value: 'active', |
| | | label: '激活' |
| | | }, { |
| | | value: 'suspend', |
| | | label: '挂起' |
| | | }], |
| | | flowState: "", |
| | | stateOptions: [ |
| | | { |
| | | value: "active", |
| | | label: "激活", |
| | | }, |
| | | { |
| | | value: "suspend", |
| | | label: "挂起", |
| | | }, |
| | | ], |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: '保安单位编号', |
| | | prop: 'tenantId', |
| | | label: "保安单位编号", |
| | | prop: "tenantId", |
| | | slot: true, |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: '流程主键', |
| | | prop: 'id', |
| | | label: "流程主键", |
| | | prop: "id", |
| | | }, |
| | | { |
| | | label: '流程标识', |
| | | prop: 'key', |
| | | label: "流程标识", |
| | | prop: "key", |
| | | search: true, |
| | | width: 150, |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'name', |
| | | label: "流程名称", |
| | | prop: "name", |
| | | width: 150, |
| | | }, |
| | | { |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'version', |
| | | label: "流程版本", |
| | | prop: "version", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '状态', |
| | | prop: 'suspensionState', |
| | | label: "状态", |
| | | prop: "suspensionState", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '部署时间', |
| | | prop: 'deploymentTime', |
| | | label: "部署时间", |
| | | prop: "deploymentTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'mode'() { |
| | | mode() { |
| | | this.onLoad(this.page); |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | deploymentIds() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.deploymentId); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return deleteDeployment(this.deploymentIds); |
| | |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | this.onLoad(this.page); |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return deleteDeployment(row.deploymentId); |
| | |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | this.onLoad(this.page); |
| | |
| | | if (!this.flowState) { |
| | | this.$message({ |
| | | type: "warn", |
| | | message: "请先选择流程状态!" |
| | | message: "请先选择流程状态!", |
| | | }); |
| | | return; |
| | | } |
| | | changeState({processId: this.selectionId, state: this.flowState}).then(res => { |
| | | changeState({ processId: this.selectionId, state: this.flowState }).then( |
| | | (res) => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: data.msg |
| | | message: data.msg, |
| | | }); |
| | | this.stateBox = false; |
| | | this.onLoad(this.page); |
| | | } else { |
| | | this.$message({ |
| | | type: "warn", |
| | | message: data.msg |
| | | message: data.msg, |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | ); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const values = { |
| | | ...params, |
| | | category: (params.category) ? flowCategory(params.category) : null, |
| | | mode: this.mode |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | mode: this.mode, |
| | | }; |
| | | this.loading = true; |
| | | managerList(page.currentPage, page.pageSize, Object.assign(values, this.query)).then(res => { |
| | | managerList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(values, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="primary" |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | icon="el-icon-circle-plus" |
| | | v-if="permission.flow_model_create" |
| | | plain |
| | | @click="handleCreate">创 建 |
| | | @click="handleCreate" |
| | | >创 建 |
| | | </el-button> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | v-if="permission.flow_model_delete" |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_model_update" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleUpdate(scope.row,scope.index)">配置 |
| | | @click.stop="handleUpdate(scope.row, scope.index)" |
| | | >配置 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_model_deploy" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDeploy(scope.row,scope.index)">部署 |
| | | @click.stop="handleDeploy(scope.row, scope.index)" |
| | | >部署 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_model_download" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDownload(scope.row,scope.index)">下载 |
| | | @click.stop="handleDownload(scope.row, scope.index)" |
| | | >下载 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.flow_model_delete" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleSlotDelete(scope.row,scope.index)">删除 |
| | | @click.stop="handleSlotDelete(scope.row, scope.index)" |
| | | >删除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="version"> |
| | | <template slot-scope="{ row }" slot="version"> |
| | | <el-tag>v{{row.version}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程配置" |
| | | <el-dialog |
| | | title="流程配置" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程设计器" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="handleRefresh">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="流程部署" |
| | | <el-dialog |
| | | title="流程部署" |
| | | append-to-body |
| | | :visible.sync="deployBox" |
| | | width="20%"> |
| | | <avue-form ref="form" :option="optionDeploy" v-model="form" @submit="handleSubmit"/> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | width="20%" |
| | | > |
| | | <avue-form |
| | | ref="form" |
| | | :option="optionDeploy" |
| | | v-model="form" |
| | | @submit="handleSubmit" |
| | | /> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="deployBox = false">取 消</el-button> |
| | | <el-button type="primary" @click="handleDoDeploy" :loading="deployLoading">确 定</el-button> |
| | | <el-button |
| | | type="primary" |
| | | @click="handleDoDeploy" |
| | | :loading="deployLoading" |
| | | >确 定</el-button |
| | | > |
| | | </span> |
| | | </el-dialog> |
| | | </basic-container> |
| | |
| | | |
| | | <script> |
| | | import {mapGetters} from "vuex"; |
| | | import website from '@/config/website'; |
| | | import website from "@/config/website"; |
| | | import {modelList, removeModel, deployModel} from "@/api/flow/flow"; |
| | | import {flowCategory} from "@/util/flow"; |
| | | |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | prop: "categoryValue", |
| | | search: true, |
| | | span: 24, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择流程类型", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "流程模式", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "通用流程", |
| | | value: 1 |
| | | value: 1, |
| | | }, |
| | | { |
| | | label: "定制流程", |
| | | value: 2 |
| | | } |
| | | value: 2, |
| | | }, |
| | | ], |
| | | value: 1, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择流程模式', |
| | | trigger: 'blur' |
| | | } |
| | | message: "请选择流程模式", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | |
| | | dicUrl: "/api/blade-system/tenant/select", |
| | | props: { |
| | | label: "tenantName", |
| | | value: "tenantId" |
| | | value: "tenantId", |
| | | }, |
| | | display: false, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: '请选择所属保安单位', |
| | | trigger: 'blur' |
| | | } |
| | | message: "请选择所属保安单位", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | selectionId: '', |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | deployBox: false, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: '模型主键', |
| | | prop: 'id', |
| | | label: "模型主键", |
| | | prop: "id", |
| | | }, |
| | | { |
| | | label: '模型标识', |
| | | prop: 'modelKey', |
| | | label: "模型标识", |
| | | prop: "modelKey", |
| | | search: true, |
| | | width: 150, |
| | | }, |
| | | { |
| | | label: '模型名称', |
| | | prop: 'name', |
| | | label: "模型名称", |
| | | prop: "name", |
| | | search: true, |
| | | width: 150, |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'version', |
| | | label: "流程版本", |
| | | prop: "version", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '创建时间', |
| | | prop: 'created', |
| | | label: "创建时间", |
| | | prop: "created", |
| | | width: 165, |
| | | }, |
| | | { |
| | | label: '更新时间', |
| | | prop: 'lastUpdated', |
| | | label: "更新时间", |
| | | prop: "lastUpdated", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'form.flowMode'() { |
| | | this.$refs.form.option.column.filter(item => { |
| | | "form.flowMode"() { |
| | | this.$refs.form.option.column.filter((item) => { |
| | | if (item.prop === "tenantId") { |
| | | item.display = this.form.flowMode === 2; |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | handleSubmit(form, done) { |
| | |
| | | deployModel({ |
| | | modelId: this.selectionId, |
| | | category: flowCategory(form.categoryValue), |
| | | tenantIds: form.tenantId.join(",") |
| | | }).then(res => { |
| | | tenantIds: form.tenantId.join(","), |
| | | }).then((res) => { |
| | | const data = res.data; |
| | | if (data.success) { |
| | | this.$message({ |
| | | type: "success", |
| | | message: data.msg |
| | | message: data.msg, |
| | | }); |
| | | done(); |
| | | this.$refs.form.resetForm(); |
| | |
| | | this.deployLoading = false; |
| | | this.$message({ |
| | | type: "warn", |
| | | message: data.msg |
| | | message: data.msg, |
| | | }); |
| | | } |
| | | }) |
| | | }); |
| | | }, |
| | | searchReset() { |
| | | this.query = {}; |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeModel(this.ids); |
| | |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | this.onLoad(this.page); |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return removeModel(row.id); |
| | |
| | | .then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | this.onLoad(this.page); |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | modelList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | modelList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | * @Author: liu |
| | | * @Date: 2021-08-26 17:00:55 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-05 14:51:45 |
| | | * @Last Modified time: 2021-11-23 14:41:23 |
| | | */ |
| | | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | userData: "", |
| | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | userData: "", |
| | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | userData: "", |
| | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | |
| | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | |
| | |
| | | |
| | | <template> |
| | | <div> |
| | | <basic-container class="permit"> |
| | | <basic-container |
| | | :class="[ |
| | | 'permit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | userData: "", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | detailFlag: false, |
| | | loading: true, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | detailFlag: false, |
| | | loading: true, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | detailFlag: false, |
| | | loading: true, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | addBtn: false, |
| | | delBtn: false, |
| | | menuWidth: 120, |
| | | dialogType: 'drawer', |
| | | dialogType: "drawer", |
| | | column: [ |
| | | { |
| | | label: "服务id", |
| | | prop: "serviceId", |
| | | width:'120', |
| | | search: true |
| | | width: "120", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "服务host", |
| | | prop: "serverHost", |
| | | search: true |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "服务ip", |
| | | prop: "serverIp", |
| | | width:'160' |
| | | width: "160", |
| | | }, |
| | | { |
| | | label: "软件环境", |
| | | prop: "env", |
| | | width:'80', |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "日志名", |
| | | prop: "title" |
| | | prop: "title", |
| | | }, |
| | | { |
| | | label: "请求方法", |
| | | prop: "method", |
| | | width:'80' |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "请求接口", |
| | | prop: "requestUri" |
| | | prop: "requestUri", |
| | | }, |
| | | { |
| | | label: "日志时间", |
| | | prop: "createTime", |
| | | width:'180' |
| | | width: "180", |
| | | }, |
| | | { |
| | | label: "用户代理", |
| | | prop: "userAgent", |
| | | span: 24, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "请求数据", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 2, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | |
| | |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | viewBtn: this.vaildData(this.permission.log_api_view, false) |
| | | viewBtn: this.vaildData(this.permission.log_api_view, false), |
| | | }; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getApiLogs(this.form.id).then(res => { |
| | | getApiLogs(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getApiList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getApiList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | addBtn: false, |
| | | delBtn: false, |
| | | menuWidth: 120, |
| | | dialogType: 'drawer', |
| | | dialogType: "drawer", |
| | | column: [ |
| | | { |
| | | label: "服务id", |
| | | prop: "serviceId", |
| | | search: true, |
| | | width:'120' |
| | | width: "120", |
| | | }, |
| | | { |
| | | label: "服务host", |
| | | prop: "serverHost", |
| | | search: true, |
| | | width:'150' |
| | | width: "150", |
| | | }, |
| | | { |
| | | label: "服务ip", |
| | | prop: "serverIp", |
| | | width:'160' |
| | | width: "160", |
| | | }, |
| | | { |
| | | label: "软件环境", |
| | | prop: "env", |
| | | width:'80' |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "请求方法", |
| | | prop: "method", |
| | | width:'80' |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "请求接口", |
| | | prop: "requestUri" |
| | | prop: "requestUri", |
| | | }, |
| | | { |
| | | label: "日志时间", |
| | | prop: "createTime", |
| | | width:'180' |
| | | width: "180", |
| | | }, |
| | | { |
| | | label: "用户代理", |
| | | prop: "userAgent", |
| | | span: 24, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "请求数据", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 2, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "日志数据", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 16, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | viewBtn: this.vaildData(this.permission.log_error_view, false) |
| | | viewBtn: this.vaildData(this.permission.log_error_view, false), |
| | | }; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getErrorLogs(this.form.id).then(res => { |
| | | getErrorLogs(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getErrorList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getErrorList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | </avue-crud> |
| | | </basic-container> |
| | | </template> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | addBtn: false, |
| | | delBtn: false, |
| | | menuWidth: 120, |
| | | dialogType: 'drawer', |
| | | dialogType: "drawer", |
| | | column: [ |
| | | { |
| | | label: "服务id", |
| | | prop: "serviceId", |
| | | search: true |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "服务host", |
| | | prop: "serverHost", |
| | | search: true |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "服务ip", |
| | | prop: "serverIp" |
| | | prop: "serverIp", |
| | | }, |
| | | { |
| | | label: "软件环境", |
| | | prop: "env", |
| | | width:'80' |
| | | width: "80", |
| | | }, |
| | | { |
| | | label: "日志级别", |
| | | prop: "logLevel" |
| | | prop: "logLevel", |
| | | }, |
| | | { |
| | | label: "日志id", |
| | | prop: "logId" |
| | | prop: "logId", |
| | | }, |
| | | { |
| | | label: "请求接口", |
| | | prop: "requestUri" |
| | | prop: "requestUri", |
| | | }, |
| | | { |
| | | label: "日志时间", |
| | | prop: "createTime", |
| | | width:'180' |
| | | width: "180", |
| | | }, |
| | | { |
| | | label: "用户代理", |
| | | prop: "userAgent", |
| | | span: 24, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "日志数据", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 2, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "请求数据", |
| | |
| | | type: "textarea", |
| | | span: 24, |
| | | minRows: 2, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission"]), |
| | | permissionList() { |
| | | return { |
| | | viewBtn: this.vaildData(this.permission.log_usual_view, false) |
| | | viewBtn: this.vaildData(this.permission.log_usual_view, false), |
| | | }; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | searchReset() { |
| | |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getUsualLogs(this.form.id).then(res => { |
| | | getUsualLogs(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getUsualList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getUsualList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.owner_delete" |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <template slot-scope="{ row }" slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 54, |
| | | dialogWidth: 950, |
| | | tip: false, |
| | |
| | | selection: true, |
| | | excelBtn: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "服务单位", |
| | | prop: "company", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入服务单位", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "联系方式", |
| | |
| | | type: "date", |
| | | format: "yyyy-MM-dd hh:mm:ss", |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入反馈时间", |
| | | trigger: "click" |
| | | }] |
| | | }, { |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "反馈意见", |
| | | prop: "opinion", |
| | | }, { |
| | | }, |
| | | { |
| | | label: "业主", |
| | | prop: "owner", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入反馈时间", |
| | | trigger: "click" |
| | | }] |
| | | }, { |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "业主联系方式", |
| | | prop: "ownerContact", |
| | | }, { |
| | | }, |
| | | { |
| | | label: "备注", |
| | | prop: "remarks", |
| | | }, { |
| | | }, |
| | | { |
| | | label: "处置结果", |
| | | prop: "result", |
| | | } |
| | | ] |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.owner_add, false), |
| | | viewBtn: this.vaildData(this.permission.owner_view, false), |
| | | delBtn: this.vaildData(this.permission.owner_delete, false), |
| | | editBtn: this.vaildData(this.permission.owner_edit, false) |
| | | editBtn: this.vaildData(this.permission.owner_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getNotice(this.form.id).then(res => { |
| | | getNotice(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | ...params, |
| | | startTime: releaseTimeRange[0], |
| | | endTime: releaseTimeRange[1], |
| | | ...this.query |
| | | ...this.query, |
| | | }; |
| | | values.releaseTimeRange = null; |
| | | } |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, values).then(res => { |
| | | getList(page.currentPage, page.pageSize, values).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | } |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | disabled: true, |
| | | span: 24, |
| | |
| | | editDisplay: false, |
| | | addDisplay: false |
| | | }, { |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | |
| | | export var practitionersColumns = [{ |
| | | width: 200, |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | |
| | | |
| | | <template> |
| | | <basic-container class="dispatchChildoperable"> |
| | | <basic-container |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option1" |
| | | :data="data1" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | headerAlign: "center", |
| | | align: "center", |
| | | column: trackRecordColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | |
| | | |
| | | <template> |
| | | <basic-container class="dispatchChildoperable"> |
| | | <basic-container |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option1" |
| | | :data="data1" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | headerAlign: "center", |
| | | align: "center", |
| | | column: practitionersColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="recruitmentManagement"> |
| | | <div |
| | | :class="[ |
| | | 'recruitmentManagement', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | useifid: 266, |
| | | }; |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" slot="name"> |
| | | <el-tag style="cursor:pointer" @click="handlePreview(row.name)">{{ row.name }}</el-tag> |
| | | <el-tag style="cursor: pointer" @click="handlePreview(row.name)">{{ |
| | | row.name |
| | | }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | </basic-container> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | selection: true, |
| | | viewBtn: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "文件名", |
| | |
| | | { |
| | | label: "更新时间", |
| | | prop: "updateTime", |
| | | } |
| | | ] |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: false, |
| | | viewBtn: false, |
| | | delBtn: true, |
| | | editBtn: false |
| | | editBtn: false, |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | handlePreview(name) { |
| | | this.$router.push({path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`}); |
| | | this.$router.push({ |
| | | path: `/myiframe/urlPath?name=preview-${name}&src=${this.website.reportUrl}/preview?_u=blade-${name}`, |
| | | }); |
| | | }, |
| | | handleDesign(name) { |
| | | this.$router.push({path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`}); |
| | | this.$router.push({ |
| | | path: `/myiframe/urlPath?name=designer-${name}&src=${this.website.reportUrl}/designer?_u=blade-${name}`, |
| | | }); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件名称", |
| | |
| | | <template> |
| | | <basic-container class="hasButOne"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | labelWidth: 100, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "分类", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.sms_delete" |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-video-play" |
| | | size="small" |
| | | v-if="userInfo.role_name.includes('admin')" |
| | | @click="handleDebug(scope.row)">调试 |
| | | @click="handleDebug(scope.row)" |
| | | >调试 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-circle-check" |
| | | size="small" |
| | | v-if="permission.sms_enable" |
| | | @click.stop="handleEnable(scope.row)">启用 |
| | | @click.stop="handleEnable(scope.row)" |
| | | >启用 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="status"> |
| | | <template slot-scope="{ row }" slot="status"> |
| | | <el-tag>{{row.statusName}}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <template slot-scope="{ row }" slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="手机短信发送调试" |
| | | <el-dialog |
| | | title="手机短信发送调试" |
| | | append-to-body |
| | | :visible.sync="box" |
| | | width="550px"> |
| | | <avue-form :option="debugOption" v-model="debugForm" @submit="handleSend"/> |
| | | width="550px" |
| | | > |
| | | <avue-form |
| | | :option="debugOption" |
| | | v-model="debugForm" |
| | | @submit="handleSend" |
| | | /> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getList, getDetail, add, update, remove, enable, send} from "@/api/resource/sms"; |
| | | import { |
| | | getList, |
| | | getDetail, |
| | | add, |
| | | update, |
| | | remove, |
| | | enable, |
| | | send, |
| | | } from "@/api/resource/sms"; |
| | | import {mapGetters} from "vuex"; |
| | | import func from "@/util/func"; |
| | | |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | labelWidth: 100, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "分类", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=sms", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | prop: "category", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择分类", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "资源编号", |
| | |
| | | span: 24, |
| | | width: 200, |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入资源编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "模版ID", |
| | |
| | | span: 24, |
| | | width: 200, |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入模版ID", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "accessKey", |
| | | prop: "accessKey", |
| | | span: 24, |
| | | overHidden: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入accessKey", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "secretKey", |
| | |
| | | overHidden: true, |
| | | display: true, |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入secretKey", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "regionId", |
| | |
| | | span: 24, |
| | | value: "cn-hangzhou", |
| | | hide: true, |
| | | display: false |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "短信签名", |
| | | prop: "signName", |
| | | span: 24, |
| | | width: 200, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入短信签名", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "是否启用", |
| | |
| | | label: "备注", |
| | | prop: "remark", |
| | | span: 24, |
| | | hide: true |
| | | hide: true, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [], |
| | | debugForm: { |
| | | code: '', |
| | | code: "", |
| | | }, |
| | | debugOption: { |
| | | submitText: "发送", |
| | |
| | | span: 24, |
| | | placeholder: "例: {'code':2333,'title':'通知标题'}", |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'form.category'() { |
| | | "form.category"() { |
| | | const category = func.toInt(this.form.category); |
| | | this.$refs.crud.option.column.filter(item => { |
| | | this.$refs.crud.option.column.filter((item) => { |
| | | if (item.prop === "templateId") { |
| | | if (category === 1) { |
| | | item.label = "模版内容"; |
| | |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["userInfo", "permission"]), |
| | |
| | | addBtn: this.vaildData(this.permission.sms_add, false), |
| | | viewBtn: this.vaildData(this.permission.sms_view, false), |
| | | delBtn: this.vaildData(this.permission.sms_delete, false), |
| | | editBtn: this.vaildData(this.permission.sms_edit, false) |
| | | editBtn: this.vaildData(this.permission.sms_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("是否确定启用这条配置?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return enable(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | |
| | | this.debugForm.code = row.smsCode; |
| | | }, |
| | | handleSend(form, done, loading) { |
| | | send(form.code, form.phones, form.params).then((res) => { |
| | | send(form.code, form.phones, form.params).then( |
| | | (res) => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "发送成功!" |
| | | message: "发送成功!", |
| | | }); |
| | | done(); |
| | | window.console.log(res); |
| | | this.box = false; |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | attachBox: false, |
| | | selectionList: [], |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "附件地址", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="dispatchChildoperable"> |
| | | <div |
| | | :class="[ |
| | | 'dispatchChildoperable', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option1" |
| | | :data="data1" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | form1: {}, |
| | | query1: {}, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | form2: {}, |
| | | query2: {}, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | column: [ |
| | | //派遣服务公司登记 |
| | | { |
| | | label: "派遣单位名称", |
| | | label: "派遣企业名称", |
| | | prop: "name", |
| | | search: true, |
| | | searchLabelWidth: 110, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | menu: false, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | |
| | | }] |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | searchSpan: 6, |
| | | searchLabelWidth: 110, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入所属保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | hide: true, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="equipments"> |
| | | <div |
| | | :class="[ |
| | | 'equipments', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | selection: true, |
| | | labelWidth: 110, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | useifid: 266, |
| | | }; |
| | |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | data.records.forEach(item=>{ |
| | | data.records.forEach((item) => { |
| | | if(item.numberType==-1){ |
| | | item.numberType=null; |
| | | } |
| | | if(item.carType==-1){ |
| | | item.carType=null; |
| | | } |
| | | }) |
| | | }); |
| | | this.data = data.records; |
| | | console.log(this.data); |
| | | this.loading = false; |
| | |
| | | width: 70, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | searchSpan: 6, |
| | | searchLabelWidth: 110, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入所属保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | hide: true, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="equipments"> |
| | | <div |
| | | :class="[ |
| | | 'equipments', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | labelWidth: 110, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | |
| | | useifid: 266, |
| | |
| | | // }] |
| | | // }, |
| | | { |
| | | label: "发证单位名称", |
| | | label: "发证企业名称", |
| | | searchLabelWidth: 110, |
| | | labelWidth: 160, |
| | | prop: "issueUnit", |
| | | searchSpan: 4, |
| | | rules: [{ |
| | | required: false, |
| | | message: "请输入发证单位名称", |
| | | message: "请输入发证企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | search: true, |
| | |
| | | // search: true, |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | searchSpan: 6, |
| | | searchLabelWidth: 110, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入所属保安公司", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | hide: true, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="equipments"> |
| | | <div |
| | | :class="[ |
| | | 'equipments', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | selection: true, |
| | | labelWidth: 110, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | useifid: 266, |
| | | }; |
| | |
| | | } |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697", |
| | |
| | | editDisplay: false, |
| | | addDisplay: false |
| | | }, { |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | |
| | | export var practitionersColumns = [{ |
| | | width: 200, |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | roleId: "1412226235153731586", |
| | | deptId: "1413470343230877697", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | icon: "el-icon-user-solid", |
| | | column: [ |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | // dicUrl: |
| | |
| | | column: [ |
| | | { |
| | | width: 200, |
| | | label: "单位名称", |
| | | label: "企业名称", |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | roleId: "1412226235153731586", |
| | | deptId: "1413470343230877697", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | icon: "el-icon-user-solid", |
| | | column: [ |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | // dicUrl: |
| | |
| | | column: [ |
| | | { |
| | | width: 200, |
| | | label: "单位名称", |
| | | label: "企业名称", |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | roleId: "1412226235153731586", |
| | | deptId: "1413470343230877697", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | icon: "el-icon-user-solid", |
| | | column: [ |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | // dicUrl: |
| | |
| | | // alert("Got IP! :" + ip); |
| | | baseURL = ip; |
| | | }); |
| | | console.log(baseURL, 666666); |
| | | // console.log(baseURL, 666666); |
| | | var result = ""; |
| | | var iParam1 = "1"; |
| | | //创建请求 第一个参数是代表以post方式发送;第二个是请求端口和地址;第三个表示是否异步 |
| | |
| | | } |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | disabled: true, |
| | | span: 24, |
| | |
| | | editDisplay: false, |
| | | addDisplay: false |
| | | }, { |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | |
| | | export var practitionersColumns = [{ |
| | | width: 200, |
| | | label: '单位名称', |
| | | label: '企业名称', |
| | | prop: "companyname", |
| | | formslot: true, |
| | | }, { |
| | |
| | | display: false |
| | | }, |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | searchLabelWidth: "110", |
| | | // prop: "deptName", |
| | | prop: "deptId", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | page2: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | query2: {}, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="securityUnit"> |
| | | <div |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="securityUnit"> |
| | | <div |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | submitBtn: true, |
| | | gutter: 30, |
| | | column: column0, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | obj1: { |
| | | title1: "保安单位出资人员", |
| | |
| | | submitBtn: false, |
| | | gutter: 30, |
| | | column: column1, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | obj2: { |
| | | title2: "主要管理人员信息", |
| | |
| | | submitBtn: false, |
| | | gutter: 30, |
| | | column: column2, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | |
| | | forms: false, |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="securityUnit"> |
| | | <div |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="securityUnit"> |
| | | <div |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | border: true, |
| | | |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | ...column, |
| | | { |
| | |
| | | <template> |
| | | <basic-container> |
| | | <div class="securityUnit"> |
| | | <div |
| | | :class="[ |
| | | 'securityUnit', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :data="data" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <!-- </span> --> |
| | | </el-tab-pane> |
| | | <!-- <span v-else-if="typeTABS.prop === 'tab2'" class="tab"> --> |
| | | <el-tab-pane label="保安单位出资人员" name="tab2"> |
| | | <el-tab-pane |
| | | label="保安单位出资人员" |
| | | name="tab2" |
| | | :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <basic-container> |
| | | <avue-crud |
| | | :option="option1" |
| | |
| | | <!-- </span> --> |
| | | </el-tab-pane> |
| | | <!-- <span v-else-if="typeTABS.prop === 'tab3'" class="tab"> --> |
| | | <el-tab-pane label="主要管理人员信息" name="tab3"> |
| | | <el-tab-pane |
| | | label="主要管理人员信息" |
| | | name="tab3" |
| | | :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <basic-container> |
| | | <avue-crud |
| | | :option="option2" |
| | |
| | | excelOption1: { |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "文件上传", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query1: {}, |
| | | data1: [], |
| | |
| | | menuWidth: 200, |
| | | align: "center", |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: column1, |
| | | }, |
| | | |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query2: {}, |
| | | data2: [], |
| | |
| | | menuAlign: "center", |
| | | align: "center", |
| | | selection: true, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: column2, |
| | | }, |
| | | }; |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | menu: false, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | align: "center", |
| | | selection: true, |
| | | column: column, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | |
| | | treeData: [], |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.social_delete" |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | <el-button type="success" |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | @click="handleImport">导入 |
| | | @click="handleImport" |
| | | >导入 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="用户数据导入" |
| | | <el-dialog |
| | | title="用户数据导入" |
| | | append-to-body |
| | | :visible.sync="excelBox" |
| | | width="555px"> |
| | | <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter"> |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | :option="excelOption" |
| | | v-model="excelForm" |
| | | :upload-after="uploadAfter" |
| | | > |
| | | <template slot="excelTemplate"> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | 点击下载<i class="el-icon-download el-icon--right"></i> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height:'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | | prop: "namb", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入姓名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "性别", |
| | | prop: "sex", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入性别", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "民族", |
| | | prop: "nation", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入民族", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "出生日期", |
| | | prop: "birthday", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入出生日期", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | | prop: "telephone", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入联系电话", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "身份证号", |
| | | prop: "cardid", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入身份证号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "户籍所在地址", |
| | | prop: "residence", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入户籍所在地址", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "居住地址 ", |
| | | prop: "address", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入居住地址 ", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "户籍性质", |
| | | prop: "nature", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入户籍性质", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "个人缴费额", |
| | | prop: "amount", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入个人缴费额", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "参保时间", |
| | | prop: "insuredtime", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入参保时间", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "所属机构", |
| | |
| | | dicUrl: "/api/blade-system/dept/selectIn", |
| | | props: { |
| | | label: "deptname", |
| | | value: "deptid" |
| | | value: "deptid", |
| | | }, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [], |
| | | excelForm: {}, |
| | |
| | | emptyBtn: false, |
| | | column: [ |
| | | { |
| | | label: '模板上传', |
| | | prop: 'excelFile', |
| | | type: 'upload', |
| | | label: "模板上传", |
| | | prop: "excelFile", |
| | | type: "upload", |
| | | drag: true, |
| | | loadText: '模板上传中,请稍等', |
| | | loadText: "模板上传中,请稍等", |
| | | span: 24, |
| | | propsHttp: { |
| | | res: 'data' |
| | | res: "data", |
| | | }, |
| | | tip: '请上传 .xls,.xlsx 标准格式文件', |
| | | action: "/api/social/import-user" |
| | | tip: "请上传 .xls,.xlsx 标准格式文件", |
| | | action: "/api/social/import-user", |
| | | }, |
| | | { |
| | | label: "数据覆盖", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1 |
| | | } |
| | | value: 1, |
| | | }, |
| | | ], |
| | | value: 0, |
| | | slot: true, |
| | |
| | | { |
| | | required: true, |
| | | message: "请选择是否覆盖", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: '模板下载', |
| | | prop: 'excelTemplate', |
| | | label: "模板下载", |
| | | prop: "excelTemplate", |
| | | formslot: true, |
| | | span: 24, |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'excelForm.isCovered'() { |
| | | if (this.excelForm.isCovered !== '') { |
| | | "excelForm.isCovered"() { |
| | | if (this.excelForm.isCovered !== "") { |
| | | const column = this.findObject(this.excelOption.column, "excelFile"); |
| | | column.action = `/api/social/import-user?isCovered=${this.excelForm.isCovered}`+"&deptid="+this.userInfo.dept_id; |
| | | column.action = |
| | | `/api/social/import-user?isCovered=${this.excelForm.isCovered}` + |
| | | "&deptid=" + |
| | | this.userInfo.dept_id; |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ... mapGetters(["permission", "userInfo"]), |
| | |
| | | addBtn: this.vaildData(this.permission.social_add, false), |
| | | viewBtn: this.vaildData(this.permission.social_view, false), |
| | | delBtn: this.vaildData(this.permission.social_delete, false), |
| | | editBtn: this.vaildData(this.permission.social_edit, false) |
| | | editBtn: this.vaildData(this.permission.social_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | window.console.log(error); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | loading(); |
| | | console.log(error); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | handleTemplate() { |
| | | window.open(`/api/social/export-template?${this.website.tokenHeader}=${getToken()}`); |
| | | window.open( |
| | | `/api/social/export-template?${this.website.tokenHeader}=${getToken()}` |
| | | ); |
| | | }, |
| | | uploadAfter(res, done, loading, column) { |
| | | window.console.log(column); |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container class="hasButOne"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "应用id", |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | lazy: true, |
| | |
| | | viewBtn: true, |
| | | menuWidth: 300, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "机构名称", |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="optionParent" |
| | | :table-loading="loading" |
| | |
| | | }, |
| | | dataParent: [], |
| | | dataChild: [], |
| | | optionParent: optionParent, |
| | | optionChild: optionChild, |
| | | optionParent: { |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 10, |
| | | border: true, |
| | | index: true, |
| | | selection: true, |
| | | viewBtn: true, |
| | | menuWidth: 250, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "字典编号", |
| | | prop: "code", |
| | | search: true, |
| | | slot: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典编号", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典名称", |
| | | prop: "dictValue", |
| | | search: true, |
| | | align: "center", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | align: "right", |
| | | width: 100, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典排序", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "封存", |
| | | prop: "isSealed", |
| | | type: "switch", |
| | | align: "center", |
| | | width: 100, |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | value: 0, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择封存", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典备注", |
| | | prop: "remark", |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | optionChild: { |
| | | height: "auto", |
| | | calcHeight: 95, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 10, |
| | | tree: true, |
| | | border: true, |
| | | index: true, |
| | | selection: true, |
| | | viewBtn: true, |
| | | menuWidth: 300, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "字典编号", |
| | | prop: "code", |
| | | addDisabled: true, |
| | | editDisabled: true, |
| | | search: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典编号", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典名称", |
| | | prop: "dictValue", |
| | | search: true, |
| | | align: "center", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "上级字典", |
| | | prop: "parentId", |
| | | type: "tree", |
| | | dicData: [], |
| | | hide: true, |
| | | props: { |
| | | label: "title", |
| | | }, |
| | | addDisabled: true, |
| | | editDisabled: true, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择上级字典", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典键值", |
| | | prop: "dictKey", |
| | | width: 80, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典键值", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | align: "right", |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典排序", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "封存", |
| | | prop: "isSealed", |
| | | type: "switch", |
| | | align: "center", |
| | | width: 80, |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | value: 0, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择封存", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典备注", |
| | | prop: "remark", |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="optionParent" |
| | | :table-loading="loading" |
| | |
| | | }, |
| | | dataParent: [], |
| | | dataChild: [], |
| | | optionParent: optionParent, |
| | | optionChild: optionChild, |
| | | optionParent: { |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 10, |
| | | border: true, |
| | | index: true, |
| | | selection: true, |
| | | viewBtn: true, |
| | | menuWidth: 250, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "字典编号", |
| | | prop: "code", |
| | | search: true, |
| | | slot: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典编号", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典名称", |
| | | prop: "dictValue", |
| | | search: true, |
| | | align: "center", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | align: "right", |
| | | width: 100, |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典排序", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "封存", |
| | | prop: "isSealed", |
| | | type: "switch", |
| | | align: "center", |
| | | width: 100, |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | value: 0, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择封存", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典备注", |
| | | prop: "remark", |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | optionChild: { |
| | | height: "auto", |
| | | calcHeight: 95, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 10, |
| | | tree: true, |
| | | border: true, |
| | | index: true, |
| | | selection: true, |
| | | viewBtn: true, |
| | | menuWidth: 300, |
| | | dialogWidth: 880, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "字典编号", |
| | | prop: "code", |
| | | addDisabled: true, |
| | | editDisabled: true, |
| | | search: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典编号", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典名称", |
| | | prop: "dictValue", |
| | | search: true, |
| | | align: "center", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典名称", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "上级字典", |
| | | prop: "parentId", |
| | | type: "tree", |
| | | dicData: [], |
| | | hide: true, |
| | | props: { |
| | | label: "title", |
| | | }, |
| | | addDisabled: true, |
| | | editDisabled: true, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择上级字典", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典键值", |
| | | prop: "dictKey", |
| | | width: 80, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典键值", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | align: "right", |
| | | hide: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入字典排序", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "封存", |
| | | prop: "isSealed", |
| | | type: "switch", |
| | | align: "center", |
| | | width: 80, |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1, |
| | | }, |
| | | ], |
| | | value: 0, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择封存", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典备注", |
| | | prop: "remark", |
| | | hide: true, |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | <template> |
| | | <basic-container class="hasButTwo"> |
| | | <basic-container |
| | | :class="[ |
| | | 'hasButTwo', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | lazy: true, |
| | |
| | | viewBtn: true, |
| | | menuWidth: 300, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "菜单名称", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud v-bind="bindVal" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | v-bind="bindVal" |
| | | v-on="onEvent" |
| | | v-model="form" |
| | | :permission="permissionList" |
| | | :page.sync="page"> |
| | | :page.sync="page" |
| | | :option="option" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | v-if="permission.param_delete" |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default window.$crudCommon({ |
| | | export default window.$crudCommon( |
| | | { |
| | | data() { |
| | | return {} |
| | | return { |
| | | option: { |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | | permissionList() { |
| | |
| | | addBtn: this.vaildData(this.permission.param_add, false), |
| | | viewBtn: this.vaildData(this.permission.param_view, false), |
| | | delBtn: this.vaildData(this.permission.param_delete, false), |
| | | editBtn: this.vaildData(this.permission.param_edit, false) |
| | | editBtn: this.vaildData(this.permission.param_edit, false), |
| | | }; |
| | | } |
| | | }, |
| | | methods: {} |
| | | }, { |
| | | }, |
| | | methods: {}, |
| | | }, |
| | | { |
| | | //模块路径 |
| | | name: 'system/param', |
| | | }) |
| | | name: "system/param", |
| | | } |
| | | ); |
| | | </script> |
| | | |
| | | <style> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]"> |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.post_delete" |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <template slot-scope="{ row }" slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "所属保安单位", |
| | |
| | | span: 24, |
| | | props: { |
| | | label: "tenantName", |
| | | value: "tenantId" |
| | | value: "tenantId", |
| | | }, |
| | | hide: !website.tenantMode, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入所属保安单位", |
| | | trigger: "click" |
| | | }] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "岗位类型", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=post_category", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择岗位类型", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "岗位编号", |
| | | prop: "postCode", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入岗位编号", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "岗位名称", |
| | | prop: "postName", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入岗位名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "岗位排序", |
| | | prop: "sort", |
| | | type: "number", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入岗位排序", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "岗位描述", |
| | |
| | | minRows: 6, |
| | | hide: true, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.post_add, false), |
| | | viewBtn: this.vaildData(this.permission.post_view, false), |
| | | delBtn: this.vaildData(this.permission.post_delete, false), |
| | | editBtn: this.vaildData(this.permission.post_edit, false) |
| | | editBtn: this.vaildData(this.permission.post_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | v-if="permission.tenant_delete" |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | <el-button size="small" |
| | | <el-button |
| | | size="small" |
| | | plain |
| | | v-if="userInfo.role_name.includes('administrator')" |
| | | icon="el-icon-setting" |
| | | @click="handleSetting">授权配置 |
| | | @click="handleSetting" |
| | | >授权配置 |
| | | </el-button> |
| | | <el-button size="small" |
| | | <el-button |
| | | size="small" |
| | | plain |
| | | v-if="userInfo.role_name.includes('administrator')" |
| | | icon="el-icon-coin" |
| | | @click="handleDatasource">数据源配置 |
| | | @click="handleDatasource" |
| | | >数据源配置 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="accountNumber"> |
| | | <el-tag>{{ row.accountNumber > 0 ? row.accountNumber : '不限制' }}</el-tag> |
| | | <template slot-scope="{ row }" slot="accountNumber"> |
| | | <el-tag>{{ |
| | | row.accountNumber > 0 ? row.accountNumber : "不限制" |
| | | }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="expireTime"> |
| | | <el-tag>{{ row.expireTime ? row.expireTime : '不限制' }}</el-tag> |
| | | <template slot-scope="{ row }" slot="expireTime"> |
| | | <el-tag>{{ row.expireTime ? row.expireTime : "不限制" }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="保安单位授权配置" |
| | | <el-dialog |
| | | title="保安单位授权配置" |
| | | append-to-body |
| | | :visible.sync="box" |
| | | width="450px"> |
| | | <avue-form :option="settingOption" v-model="settingForm" @submit="handleSubmit"/> |
| | | width="450px" |
| | | > |
| | | <avue-form |
| | | :option="settingOption" |
| | | v-model="settingForm" |
| | | @submit="handleSubmit" |
| | | /> |
| | | </el-dialog> |
| | | <el-dialog title="保安单位数据源配置" |
| | | <el-dialog |
| | | title="保安单位数据源配置" |
| | | append-to-body |
| | | :visible.sync="datasourceBox" |
| | | width="450px"> |
| | | <avue-form :option="datasourceOption" v-model="datasourceForm" @submit="handleDatasourceSubmit"/> |
| | | width="450px" |
| | | > |
| | | <avue-form |
| | | :option="datasourceOption" |
| | | v-model="datasourceForm" |
| | | @submit="handleDatasourceSubmit" |
| | | /> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getList, getDetail, remove, update, add, setting, datasource} from "@/api/system/tenant"; |
| | | import { |
| | | getList, |
| | | getDetail, |
| | | remove, |
| | | update, |
| | | add, |
| | | setting, |
| | | datasource, |
| | | } from "@/api/system/tenant"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | labelWidth: '125', |
| | | labelWidth: "125", |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | |
| | | viewBtn: true, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "保安单位ID", |
| | |
| | | addDisplay: false, |
| | | editDisplay: false, |
| | | span: 24, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入保安单位ID", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "保安单位名称", |
| | | label: "保安企业名称", |
| | | searchLabelWidth:"150", |
| | | prop: "tenantName", |
| | | searchSpan:5, |
| | | search: true, |
| | | width: 280, |
| | | span: 24, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入参数名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "联系人", |
| | |
| | | width: 200, |
| | | search: true, |
| | | searchSpan:5, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入联系人", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "联系电话", |
| | |
| | | { |
| | | label: "系统背景", |
| | | prop: "backgroundUrl", |
| | | type: 'upload', |
| | | listType: 'picture-img', |
| | | action: '/api/blade-resource/oss/endpoint/put-file', |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | action: "/api/blade-resource/oss/endpoint/put-file", |
| | | propsHttp: { |
| | | res: 'data', |
| | | url: 'link', |
| | | res: "data", |
| | | url: "link", |
| | | }, |
| | | hide: true, |
| | | span: 24, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [], |
| | | settingForm: {}, |
| | |
| | | valueFormat: "yyyy-MM-dd hh:mm:ss", |
| | | span: 24, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | datasourceForm: {}, |
| | | datasourceOption: { |
| | |
| | | dicUrl: "/api/blade-develop/datasource/select", |
| | | props: { |
| | | label: "name", |
| | | value: "id" |
| | | value: "id", |
| | | }, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择数据源", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.tenant_add, false), |
| | | viewBtn: this.vaildData(this.permission.tenant_view, false), |
| | | delBtn: this.vaildData(this.permission.tenant_delete, false), |
| | | editBtn: this.vaildData(this.permission.tenant_edit, false) |
| | | editBtn: this.vaildData(this.permission.tenant_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | tenantId() { |
| | | return this.selectionList[0].tenantId; |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | getDetail(this.form.id).then((res) => { |
| | | const data = res.data.data; |
| | | if (!(data.accountNumber > 0)) { |
| | | data.accountNumber = "不限制"; |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | |
| | | return; |
| | | } |
| | | if (this.selectionList.length === 1) { |
| | | getDetail(this.selectionList[0].id).then(res => { |
| | | getDetail(this.selectionList[0].id).then((res) => { |
| | | const data = res.data.data; |
| | | this.settingForm.accountNumber = data.accountNumber; |
| | | this.settingForm.expireTime = data.expireTime; |
| | | }); |
| | | } else { |
| | | this.settingForm.accountNumber = -1; |
| | | this.settingForm.expireTime = ''; |
| | | this.settingForm.expireTime = ""; |
| | | } |
| | | this.box = true; |
| | | }, |
| | |
| | | this.$message.warning("只能选择一条数据"); |
| | | return; |
| | | } |
| | | getDetail(this.selectionList[0].id).then(res => { |
| | | getDetail(this.selectionList[0].id).then((res) => { |
| | | const data = res.data.data; |
| | | this.datasourceForm.datasourceId = data.datasourceId; |
| | | }); |
| | | this.datasourceBox = true; |
| | | }, |
| | | handleSubmit(form, done, loading) { |
| | | setting(this.ids, form).then(() => { |
| | | setting(this.ids, form).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "配置成功!" |
| | | message: "配置成功!", |
| | | }); |
| | | done(); |
| | | this.box = false; |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | handleDatasourceSubmit(form, done, loading) { |
| | | datasource(this.tenantId, form.datasourceId).then(() => { |
| | | datasource(this.tenantId, form.datasourceId).then( |
| | | () => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "配置成功!" |
| | | message: "配置成功!", |
| | | }); |
| | | done(); |
| | | this.datasourceBox = false; |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage; |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container class="topmenu"> |
| | | <basic-container |
| | | :class="[ |
| | | 'topmenu', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | menuGrantList: [], |
| | |
| | | selection: true, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "菜单名", |
| | |
| | | grant, |
| | | resetPassword, |
| | | getJurisdiction, |
| | | getJurisdictionDetail |
| | | getJurisdictionDetail, |
| | | } from "@/api/system/user"; |
| | | import { getDeptTree, getDeptLazyTree } from "@/api/system/dept"; |
| | | import { getRoleTree } from "@/api/system/role"; |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | platformPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "登录账号", |
| | |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="sizes[1]"> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :search.sync="search" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | platformPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | viewBtn: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "登录账号", |
| | |
| | | }, |
| | | created() { |
| | | console.log(this.userInfo.role_name); |
| | | if (this.userInfo.role_name == "保安公司管理员" || this.userInfo.role_name == "分公司管理员") { |
| | | if ( |
| | | this.userInfo.role_name == "保安公司管理员" || |
| | | this.userInfo.role_name == "分公司管理员" |
| | | ) { |
| | | this.deptids = this.userInfo.dept_id; |
| | | this.sizes = [0, 24]; |
| | | this.isguanli = false; |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "标题", |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | v-if="permission.code_delete" |
| | | plain |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | <el-button type="primary" |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-refresh" |
| | | @click="handleBuild">代码生成 |
| | | @click="handleBuild" |
| | | >代码生成 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | icon="el-icon-document-copy" |
| | | v-if="permission.code_edit" |
| | | class="none-border" |
| | | @click.stop="handleCopy(scope.row)">复制 |
| | | @click.stop="handleCopy(scope.row)" |
| | | >复制 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {getList, getCode, build, remove, add, update, copy} from "@/api/tool/code"; |
| | | import { |
| | | getList, |
| | | getCode, |
| | | build, |
| | | remove, |
| | | add, |
| | | update, |
| | | copy, |
| | | } from "@/api/tool/code"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | | export default { |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | dialogWidth: 900, |
| | | tip: false, |
| | |
| | | menuWidth: 250, |
| | | viewBtn: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "数据源", |
| | |
| | | dicUrl: "/api/blade-develop/datasource/select", |
| | | props: { |
| | | label: "name", |
| | | value: "id" |
| | | value: "id", |
| | | }, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择数据源", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "模块名", |
| | | prop: "codeName", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入模块名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "服务名", |
| | | prop: "serviceName", |
| | | search: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入服务名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "表名", |
| | | prop: "tableName", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入表名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "表前缀", |
| | | prop: "tablePrefix", |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入表前缀", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "主键名", |
| | | prop: "pkName", |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入主键名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "包名", |
| | | prop: "packageName", |
| | | overHidden: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入包名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "基础业务", |
| | | prop: "baseMode", |
| | | type: 'radio', |
| | | type: "radio", |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=yes_no", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择基础业务", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "包装器", |
| | | prop: "wrapMode", |
| | | type: 'radio', |
| | | type: "radio", |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=yes_no", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择包装器", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "后端生成路径", |
| | | prop: "apiPath", |
| | | span: 24, |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入后端生成路径", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "前端生成路径", |
| | | prop: "webPath", |
| | | span: 24, |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入前端生成路径", |
| | | trigger: "blur" |
| | | }] |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.code_add, false), |
| | | viewBtn: this.vaildData(this.permission.code_view, false), |
| | | delBtn: this.vaildData(this.permission.code_delete, false), |
| | | editBtn: this.vaildData(this.permission.code_edit, false) |
| | | editBtn: this.vaildData(this.permission.code_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | |
| | | title: "代码生成确认", |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return build(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "复制成功!" |
| | | message: "复制成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getCode(this.form.id).then(res => { |
| | | getCode(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button type="danger" |
| | | <el-button |
| | | type="danger" |
| | | size="small" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.datasource_delete" |
| | | @click="handleDelete">删 除 |
| | | @click="handleDelete" |
| | | >删 除 |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | dialogWidth: 900, |
| | | tip: false, |
| | |
| | | viewBtn: true, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "名称", |
| | | prop: "name", |
| | | width: 120, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入数据源名称", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "驱动类", |
| | | prop: "driverClass", |
| | | type: 'select', |
| | | type: "select", |
| | | dicData: [ |
| | | { |
| | | label: 'com.mysql.cj.jdbc.Driver', |
| | | value: 'com.mysql.cj.jdbc.Driver', |
| | | }, { |
| | | label: 'org.postgresql.Driver', |
| | | value: 'org.postgresql.Driver', |
| | | }, { |
| | | label: 'oracle.jdbc.OracleDriver', |
| | | value: 'oracle.jdbc.OracleDriver', |
| | | } |
| | | label: "com.mysql.cj.jdbc.Driver", |
| | | value: "com.mysql.cj.jdbc.Driver", |
| | | }, |
| | | { |
| | | label: "org.postgresql.Driver", |
| | | value: "org.postgresql.Driver", |
| | | }, |
| | | { |
| | | label: "oracle.jdbc.OracleDriver", |
| | | value: "oracle.jdbc.OracleDriver", |
| | | }, |
| | | ], |
| | | width: 200, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入驱动类", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "用户名", |
| | | prop: "username", |
| | | width: 120, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入用户名", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "密码", |
| | | prop: "password", |
| | | hide: true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入密码", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "连接地址", |
| | | prop: "url", |
| | | span: 24, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入连接地址", |
| | | trigger: "blur" |
| | | }] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "备注", |
| | |
| | | span: 24, |
| | | minRows: 3, |
| | | hide: true, |
| | | type: "textarea" |
| | | type: "textarea", |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.datasource_add, false), |
| | | viewBtn: this.vaildData(this.permission.datasource_view, false), |
| | | delBtn: this.vaildData(this.permission.datasource_delete, false), |
| | | editBtn: this.vaildData(this.permission.datasource_edit, false) |
| | | editBtn: this.vaildData(this.permission.datasource_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDetail(this.form.id).then(res => { |
| | | getDetail(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | }, |
| | | onLoad(page, params = {}) { |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { |
| | | getList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-apply-exam-1"> |
| | | <el-col :span="24" class="hasButOne"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'hasButOne', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <avue-crud |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | export var infoColumn = [{ |
| | | label: "申请单位名称", |
| | | label: "申请企业名称", |
| | | |
| | | prop: "deptId", |
| | | type: "tree", |
| | |
| | | }, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请选择申请单位名称", |
| | | message: "请选择申请企业名称", |
| | | trigger: "blur" |
| | | }] |
| | | }, { |
| | | label: "申请单位名称", |
| | | label: "申请企业名称", |
| | | prop: "deptName", |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dept/tree", |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-18 17:09:52 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:12:55 |
| | | * menu-name 考试管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-paper"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="form" |
| | | class="company-box" |
| | |
| | | menuWidth: 230, |
| | | dialogClickModal: false, |
| | | column: auditColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | questionBankOption: { |
| | | // 操作栏多余按钮去除 |
| | |
| | | // 操作栏宽度 |
| | | menuWidth: 280, |
| | | labelWidth: 140, |
| | | |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | |
| | | editDetail: false, |
| | | // hide: true, |
| | | display: false, |
| | | width: 80 |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: "申请人所属学校", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | params["examType"] = 2; |
| | | //如果是培训公司管理员,则只能看到当前培训公司申请的考试 |
| | | if(this.userInfo.role_name =="培训公司管理员"){ |
| | | params['deptId'] = this.userInfo.dept_id; |
| | | params["deptId"] = this.userInfo.dept_id; |
| | | } |
| | | getList( |
| | | page.currentPage, |
| | |
| | | // 新增 |
| | | questionBankRowSave(row, done, loading) { |
| | | row.startTime = row.startTime + ":00"; |
| | | row['examType'] = 2; |
| | | row["examType"] = 2; |
| | | // row.endTime = row.examTime[1]; |
| | | // row.examTime = JSON.stringify(row.examTime); |
| | | add(row).then( |
| | |
| | | id:row.id, |
| | | startTime:row.startTime + ":00", |
| | | endTime:row.endTime + ":00", |
| | | } |
| | | }; |
| | | // row.startTime = row.startTime + ":00"; |
| | | // row.endTime = row.endTime + ":00"; |
| | | // row.endTime = row.examTime[1]; |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-04 18:54:44 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 13:55:09 |
| | | * menu-name 成绩修改管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24" |
| | | class="recruitmentManagement"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'recruitmentManagement', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <avue-crud v-model="obj" |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | | :option="questionBankOption" |
| | | :search.sync="questionBankSearch" |
| | |
| | | @current-change="questionBankCurrentChange" |
| | | @size-change="questionBankSizeChange" |
| | | @row-update="questionBankRowUpdate" |
| | | @refresh-change="refreshChange"> |
| | | |
| | | @refresh-change="refreshChange" |
| | | > |
| | | <!-- 自定义按钮 --> |
| | | <template slot="menuLeft"> |
| | | <!-- <el-button type="danger" |
| | |
| | | plain |
| | | @click="handleDelete">删除 |
| | | </el-button> --> |
| | | |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, size, row }" |
| | | slot="menu"> |
| | | |
| | | <el-button :type="type" |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | :type="type" |
| | | :size="size" |
| | | icon="el-icon-folder-checked" |
| | | v-if="permission.score_audit_check || check" |
| | | @click="handleAudit(row)">审核 |
| | | @click="handleAudit(row)" |
| | | >审核 |
| | | </el-button> |
| | | </template> |
| | | |
| | | </avue-crud> |
| | | |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-dialog title="成绩修改审核" |
| | | <el-dialog |
| | | title="成绩修改审核" |
| | | :visible.sync="dialogFormVisible" |
| | | modal-append-to-body="false" |
| | | append-to-body="true" |
| | | :close-on-click-model="true"> |
| | | <avue-form ref="formAudit" |
| | | :close-on-click-model="true" |
| | | > |
| | | <avue-form |
| | | ref="formAudit" |
| | | v-model="Audit" |
| | | :option="optionAudit" |
| | | @reset-change="emptytChange" |
| | | @submit="submit"></avue-form> |
| | | @submit="submit" |
| | | ></avue-form> |
| | | </el-dialog> |
| | | |
| | | </el-row> |
| | | </template> |
| | | |
| | |
| | | import { mapGetters } from "vuex"; |
| | | import { getRoleDetail } from "@/api/system/role"; |
| | | export default { |
| | | |
| | | data () { |
| | | |
| | | return { |
| | | Audit: {}, |
| | | dialogFormVisible: false, |
| | |
| | | excelBtn: false, |
| | | menuWidth: 230, |
| | | dialogClickModal: false, |
| | | column: [{ |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "审核状态", |
| | | search: true, |
| | | searchSpan: 5, |
| | |
| | | editDisplay: false, |
| | | addDisplay: false, |
| | | type: "select", |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择审核类型", |
| | | trigger: "blur" |
| | | }], |
| | | dicData: [{ |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | dicData: [ |
| | | { |
| | | label: "待审核", |
| | | value: 1, |
| | | }, |
| | |
| | | { |
| | | label: "审核不通过", |
| | | value: 3, |
| | | } |
| | | ] |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "审核明细", |
| | | span: 24, |
| | | type: "textarea", |
| | | prop: "auditDetail" |
| | | } |
| | | prop: "auditDetail", |
| | | }, |
| | | ], |
| | | }, |
| | | obj: { |
| | |
| | | menu: true, |
| | | menuWidth: 295, |
| | | labelWidth: 120, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试名称", |
| | |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 88 |
| | | width: 88, |
| | | }, |
| | | |
| | | { |
| | |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 88 |
| | | width: 88, |
| | | }, |
| | | |
| | | { |
| | |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | viewDisplay: false, |
| | | width: 120 |
| | | width: 120, |
| | | }, |
| | | |
| | | { |
| | |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | viewDisplay: false, |
| | | width: 120 |
| | | width: 120, |
| | | }, |
| | | |
| | | { |
| | |
| | | { |
| | | label: "审核不通过", |
| | | value: 3, |
| | | } |
| | | }, |
| | | ], |
| | | // 表单新增时是否禁止 |
| | | addDisabled: false, |
| | |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 96 |
| | | width: 96, |
| | | }, |
| | | |
| | | { |
| | |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 68, |
| | | } |
| | | }, |
| | | ], |
| | | }, |
| | | questionBankSearch: {}, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | | |
| | | }; |
| | | }, |
| | | created(){ |
| | |
| | | permissionList () { |
| | | return { |
| | | addBtn: this.vaildData(null, false), |
| | | viewBtn: this.vaildData( |
| | | this.permission.score_audit_view, |
| | | false |
| | | ), |
| | | viewBtn: this.vaildData(this.permission.score_audit_view, false), |
| | | delBtn: this.vaildData(null, false), |
| | | editBtn: this.vaildData( |
| | | this.permission.score_audit_edit, |
| | | false |
| | | ), |
| | | editBtn: this.vaildData(this.permission.score_audit_edit, false), |
| | | }; |
| | | }, |
| | | }, |
| | | methods: { |
| | | getNewTime () { |
| | | var nowTime = new Date() |
| | | var nowTime = new Date(); |
| | | |
| | | var oneHoursAgo = new Date(new Date(nowTime).getTime() - 1 * 60 * 60 * 1000) |
| | | var oneHoursAgoY = oneHoursAgo.getFullYear() |
| | | var oneHoursAgoM = oneHoursAgo.getMonth() + 1 < 10 ? '0' + (oneHoursAgo.getMonth() + 1) : oneHoursAgo.getMonth() + 1 |
| | | var oneHoursAgoD = oneHoursAgo.getDate() < 10 ? '0' + oneHoursAgo.getDate() : oneHoursAgo.getDate() |
| | | var oneHoursAgoH = oneHoursAgo.getHours() < 10 ? '0' + oneHoursAgo.getHours() : oneHoursAgo.getHours() |
| | | var oneHoursAgom = oneHoursAgo.getMinutes() < 10 ? '0' + oneHoursAgo.getMinutes() : oneHoursAgo.getMinutes() |
| | | var oneHoursAgos = oneHoursAgo.getSeconds() < 10 ? '0' + oneHoursAgo.getSeconds() : oneHoursAgo.getSeconds() |
| | | var oneHoursAgo = new Date( |
| | | new Date(nowTime).getTime() - 1 * 60 * 60 * 1000 |
| | | ); |
| | | var oneHoursAgoY = oneHoursAgo.getFullYear(); |
| | | var oneHoursAgoM = |
| | | oneHoursAgo.getMonth() + 1 < 10 |
| | | ? "0" + (oneHoursAgo.getMonth() + 1) |
| | | : oneHoursAgo.getMonth() + 1; |
| | | var oneHoursAgoD = |
| | | oneHoursAgo.getDate() < 10 |
| | | ? "0" + oneHoursAgo.getDate() |
| | | : oneHoursAgo.getDate(); |
| | | var oneHoursAgoH = |
| | | oneHoursAgo.getHours() < 10 |
| | | ? "0" + oneHoursAgo.getHours() |
| | | : oneHoursAgo.getHours(); |
| | | var oneHoursAgom = |
| | | oneHoursAgo.getMinutes() < 10 |
| | | ? "0" + oneHoursAgo.getMinutes() |
| | | : oneHoursAgo.getMinutes(); |
| | | var oneHoursAgos = |
| | | oneHoursAgo.getSeconds() < 10 |
| | | ? "0" + oneHoursAgo.getSeconds() |
| | | : oneHoursAgo.getSeconds(); |
| | | |
| | | /** |
| | | * @return 返回1小时,2小时,3小时,4小时,24小时 |
| | | */ |
| | | return oneHoursAgoY + '-' + oneHoursAgoM + '-' + oneHoursAgoD + ' ' + oneHoursAgoH + ':' + oneHoursAgom + ':' + oneHoursAgos |
| | | return ( |
| | | oneHoursAgoY + |
| | | "-" + |
| | | oneHoursAgoM + |
| | | "-" + |
| | | oneHoursAgoD + |
| | | " " + |
| | | oneHoursAgoH + |
| | | ":" + |
| | | oneHoursAgom + |
| | | ":" + |
| | | oneHoursAgos |
| | | ); |
| | | }, |
| | | |
| | | handleAudit (row) { |
| | |
| | | }, |
| | | //审核 |
| | | submit (row, done, loading) { |
| | | |
| | | row.auditTime = this.getNewTime() |
| | | row.auditTime = this.getNewTime(); |
| | | const data = { |
| | | id:row.id, |
| | | status:row.status, |
| | | auditDetail:row.auditDetail, |
| | | auditUser:this.userInfo.Id |
| | | } |
| | | auditUser: this.userInfo.Id, |
| | | }; |
| | | |
| | | applyAudit(data).then( |
| | | () => { |
| | |
| | | questionBankRowUpdate (row, index, done, loading) { |
| | | update({ |
| | | id: row.id, |
| | | newScore: row.newScore |
| | | newScore: row.newScore, |
| | | }).then( |
| | | () => { |
| | | this.questionBankOnLoad(this.questionBankPage); |
| | |
| | | refreshChange () { |
| | | this.questionBankOnLoad(this.questionBankPage, this.questionBankQuery); |
| | | }, |
| | | |
| | | }, |
| | | }; |
| | | </script> |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-04 16:18:32 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:11:41 |
| | | * menu-name 成绩管理 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box"> |
| | | <el-col :span="24" |
| | | class="recruitmentManagement"> |
| | | <el-col |
| | | :span="24" |
| | | :class="[ |
| | | 'recruitmentManagement', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <avue-crud v-model="obj" |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | | :option="questionBankOption" |
| | | :search.sync="questionBankSearch" |
| | |
| | | @current-change="questionBankCurrentChange" |
| | | @size-change="questionBankSizeChange" |
| | | @row-update="questionBankRowUpdate" |
| | | @refresh-change="refreshChange"> |
| | | <template slot-scope="{ row }" |
| | | slot="theoryGrade"> |
| | | @refresh-change="refreshChange" |
| | | > |
| | | <template slot-scope="{ row }" slot="theoryGrade"> |
| | | {{ row.theoryGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" |
| | | slot="learnGrade"> |
| | | {{ row.learnGrade == '' ? "暂未录入" : row.learnGrade }} |
| | | <template slot-scope="{ row }" slot="learnGrade"> |
| | | {{ row.learnGrade == "" ? "暂未录入" : row.learnGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" |
| | | slot="allGrade"> |
| | | <template slot-scope="{ row }" slot="allGrade"> |
| | | {{ row.allGrade == -1 ? "" : row.allGrade }} |
| | | </template> |
| | | <template slot-scope="{ row }" |
| | | slot="qualified"> |
| | | <template slot-scope="{ row }" slot="qualified"> |
| | | {{ |
| | | row.qualified == '' |
| | | row.qualified == "" |
| | | ? "" |
| | | : row.qualified == 0 |
| | | ? "合格" |
| | |
| | | plain |
| | | @click="handleDelete">删除 |
| | | </el-button> --> |
| | | <el-button type="success" |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | v-if="permission.trainExam_performance_import" |
| | | @click="handleImport">实操成绩导入 |
| | | @click="handleImport" |
| | | >实操成绩导入 |
| | | </el-button> |
| | | <el-button type="warning" |
| | | <el-button |
| | | type="warning" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-download" |
| | | v-if="permission.trainExam_performance_export" |
| | | @click="handleExport">成绩导出 |
| | | @click="handleExport" |
| | | >成绩导出 |
| | | </el-button> |
| | | </template> |
| | | |
| | | <template slot-scope="{ type, size, row }" |
| | | slot="menu"> |
| | | <el-button icon="el-icon-s-flag" |
| | | <template slot-scope="{ type, size, row }" slot="menu"> |
| | | <el-button |
| | | icon="el-icon-s-flag" |
| | | @click="absent(row)" |
| | | :size="size" |
| | | :type="type">缺考标记</el-button> |
| | | <el-button icon="el-icon-s-promotion" |
| | | :type="type" |
| | | >缺考标记</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-s-promotion" |
| | | @click="openzhengjian(row)" |
| | | :disabled="row.qualified != 0" |
| | | :size="size" |
| | | :type="type">查看证件</el-button> |
| | | <el-button icon="el-icon-edit" |
| | | :type="type" |
| | | >查看证件</el-button |
| | | > |
| | | <el-button |
| | | icon="el-icon-edit" |
| | | @click="modifiedGrades(row)" |
| | | :size="size" |
| | | :type="type">申请修改成绩</el-button> |
| | | :type="type" |
| | | >申请修改成绩</el-button |
| | | > |
| | | </template> |
| | | |
| | | </avue-crud> |
| | | |
| | | <el-dialog title="实操成绩导入" |
| | | <el-dialog |
| | | title="实操成绩导入" |
| | | append-to-body |
| | | :visible.sync="excelBox" |
| | | width="555px"> |
| | | <avue-form :option="excelOption" |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | :option="excelOption" |
| | | v-model="excelForm" |
| | | :upload-after="uploadAfter"> |
| | | :upload-after="uploadAfter" |
| | | > |
| | | <template slot="excelTemplate"> |
| | | <el-button type="primary" |
| | | @click="handleTemplate"> |
| | | <el-button type="primary" @click="handleTemplate"> |
| | | 点击下载<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-dialog title="申请修改成绩" |
| | | <el-dialog |
| | | title="申请修改成绩" |
| | | :visible.sync="gradeBoxVisible" |
| | | width="width" |
| | | :modal='true' |
| | | :modal-append-to-body='true' |
| | | :append-to-body='true' |
| | | :close-on-click-modal='false' |
| | | :close-on-press-escape='false' |
| | | :before-close="dialogBeforeClose"> |
| | | |
| | | :modal="true" |
| | | :modal-append-to-body="true" |
| | | :append-to-body="true" |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false" |
| | | :before-close="dialogBeforeClose" |
| | | > |
| | | <div> |
| | | <el-form ref="gradeForm" |
| | | <el-form |
| | | ref="gradeForm" |
| | | :model="gradeForm" |
| | | :rules="rules" |
| | | label-width="80px" |
| | | label-position="left"> |
| | | |
| | | label-position="left" |
| | | > |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="考试名称" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.examName" |
| | | disabled></el-input> |
| | | <el-form-item label="考试名称" label-width="108px"> |
| | | <el-input v-model="gradeForm.examName" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="姓名" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.securityName" |
| | | disabled></el-input> |
| | | <el-form-item label="姓名" label-width="108px"> |
| | | <el-input v-model="gradeForm.securityName" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="身份证号" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.account" |
| | | disabled></el-input> |
| | | <el-form-item label="身份证号" label-width="108px"> |
| | | <el-input v-model="gradeForm.account" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="准考证号" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.candidateNo" |
| | | disabled></el-input> |
| | | <el-form-item label="准考证号" label-width="108px"> |
| | | <el-input v-model="gradeForm.candidateNo" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="原理论成绩" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.theoryGrade" |
| | | disabled></el-input> |
| | | <el-form-item label="原理论成绩" label-width="108px"> |
| | | <el-input v-model="gradeForm.theoryGrade" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="修改考试成绩" |
| | | <el-form-item |
| | | label="修改考试成绩" |
| | | label-width="108px" |
| | | prop='editGrades'> |
| | | <el-input v-model.number="gradeForm.editGrades" |
| | | autocomplete="off"></el-input> |
| | | prop="editGrades" |
| | | > |
| | | <el-input |
| | | v-model.number="gradeForm.editGrades" |
| | | autocomplete="off" |
| | | ></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="24"> |
| | | <el-col :span="12"> |
| | | <el-form-item label="实操成绩" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.learnGrade" |
| | | disabled></el-input> |
| | | <el-form-item label="实操成绩" label-width="108px"> |
| | | <el-input v-model="gradeForm.learnGrade" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="总成绩" |
| | | label-width="108px"> |
| | | <el-input v-model="gradeForm.allGrade" |
| | | disabled></el-input> |
| | | <el-form-item label="总成绩" label-width="108px"> |
| | | <el-input v-model="gradeForm.allGrade" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-form-item label="修改理由" |
| | | label-width="108px"> |
| | | <el-input type='textarea' |
| | | <el-form-item label="修改理由" label-width="108px"> |
| | | <el-input |
| | | type="textarea" |
| | | :rows="3" |
| | | placeholder="请输入修改理由" |
| | | resize='none' |
| | | v-model="gradeForm.editReason"></el-input> |
| | | resize="none" |
| | | v-model="gradeForm.editReason" |
| | | ></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item style="text-align: center;" |
| | | label-width="0"> |
| | | <el-button type="primary" |
| | | @click="uploadGrade('gradeForm')">确 定</el-button> |
| | | <el-form-item style="text-align: center" label-width="0"> |
| | | <el-button type="primary" @click="uploadGrade('gradeForm')" |
| | | >确 定</el-button |
| | | > |
| | | <el-button @click="gradeBoxVisible = false">取 消</el-button> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | </div> |
| | | |
| | | </el-dialog> |
| | | |
| | | <!-- <el-dialog |
| | |
| | | :visible.sync="dialogVisiblezhengjian" |
| | | :modal-append-to-body="false" |
| | | > --> |
| | | <div class="dialogVisiblezhengjian" |
| | | v-if="dialogVisiblezhengjian"> |
| | | <baoanz :data="baoanzdata" |
| | | <div class="dialogVisiblezhengjian" v-if="dialogVisiblezhengjian"> |
| | | <baoanz |
| | | :data="baoanzdata" |
| | | :close="1" |
| | | @close="closezhengjian" |
| | | :closePrint="1"></baoanz> |
| | | :closePrint="1" |
| | | ></baoanz> |
| | | </div> |
| | | <!-- </el-dialog> --> |
| | | </el-row> |
| | |
| | | |
| | | <script> |
| | | import baoanz from "../securityGuard/baoanz.vue"; |
| | | import { getList, update, updateAbsent, updateGrade } from "@/api/examapi/performance"; |
| | | import { |
| | | getList, |
| | | update, |
| | | updateAbsent, |
| | | updateGrade, |
| | | } from "@/api/examapi/performance"; |
| | | import { mapGetters } from "vuex"; |
| | | import { getRoleDetail } from "@/api/system/role"; |
| | | import Qs from "qs"; |
| | |
| | | rules: { |
| | | editGrades: [ |
| | | { validator: validatePass, required: true, trigger: "blur" }, |
| | | ] |
| | | ], |
| | | }, |
| | | gradeForm: { |
| | | id: null, |
| | | examName: '', |
| | | securityName: '', |
| | | account: '', |
| | | candidateNo: '', |
| | | theoryGrade: '', |
| | | learnGrade: '', |
| | | allGrade: '', |
| | | editGrades: '', |
| | | editReason: '' |
| | | examName: "", |
| | | securityName: "", |
| | | account: "", |
| | | candidateNo: "", |
| | | theoryGrade: "", |
| | | learnGrade: "", |
| | | allGrade: "", |
| | | editGrades: "", |
| | | editReason: "", |
| | | }, |
| | | gradeBoxVisible: false, |
| | | dialogVisiblezhengjian: false, |
| | |
| | | menu: true, |
| | | menuWidth: 295, |
| | | labelWidth: 120, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试时间", |
| | |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false, |
| | | width: 58 |
| | | width: 58, |
| | | }, |
| | | { |
| | | label: "是否合格", |
| | |
| | | // 表单编辑时是否可见 |
| | | editDisplay: true, |
| | | // 表单编辑时是否为查看模式 |
| | | editDetail: false |
| | | editDetail: false, |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | page.pageSize, |
| | | Object.assign(params, this.questionBankQuery) |
| | | ).then((res) => { |
| | | |
| | | const data = res.data.data; |
| | | |
| | | data.records.forEach(item => { |
| | | data.records.forEach((item) => { |
| | | if (item.theoryGrade == null && item.learnGrade == -1) { |
| | | item.qualified = '' |
| | | item.qualified = ""; |
| | | } |
| | | item.theoryGrade == null ? item.theoryGrade = '' : item.theoryGrade |
| | | item.learnGrade == -1 ? item.learnGrade = '' : item.learnGrade |
| | | }) |
| | | item.theoryGrade == null |
| | | ? (item.theoryGrade = "") |
| | | : item.theoryGrade; |
| | | item.learnGrade == -1 ? (item.learnGrade = "") : item.learnGrade; |
| | | }); |
| | | that.questionBankPage.total = data.total; |
| | | that.questionBankData = data.records; |
| | | that.questionBankLoading = false; |
| | |
| | | |
| | | // 修改考试成绩 |
| | | modifiedGrades (row) { |
| | | var { |
| | | id, |
| | | examName, |
| | | securityName, |
| | | account, |
| | | candidateNo, |
| | | theoryGrade, |
| | | learnGrade, |
| | | allGrade, |
| | | } = row; |
| | | |
| | | var { id, examName, securityName, account, candidateNo, theoryGrade, learnGrade, allGrade } = row |
| | | this.gradeForm.examName = examName; |
| | | this.gradeForm.securityName = securityName; |
| | | this.gradeForm.account = account; |
| | | this.gradeForm.candidateNo = candidateNo; |
| | | this.gradeForm.theoryGrade = theoryGrade; |
| | | this.gradeForm.learnGrade = learnGrade; |
| | | this.gradeForm.allGrade = allGrade; |
| | | this.gradeForm.editGrades = ""; |
| | | this.gradeForm.editReason = ""; |
| | | this.gradeForm.id = id; |
| | | |
| | | this.gradeForm.examName = examName |
| | | this.gradeForm.securityName = securityName |
| | | this.gradeForm.account = account |
| | | this.gradeForm.candidateNo = candidateNo |
| | | this.gradeForm.theoryGrade = theoryGrade |
| | | this.gradeForm.learnGrade = learnGrade |
| | | this.gradeForm.allGrade = allGrade |
| | | this.gradeForm.editGrades = '' |
| | | this.gradeForm.editReason = '' |
| | | this.gradeForm.id = id |
| | | |
| | | this.gradeBoxVisible = true |
| | | |
| | | this.gradeBoxVisible = true; |
| | | }, |
| | | |
| | | |
| | | uploadGrade (formName) { |
| | | |
| | | var that = this |
| | | var that = this; |
| | | |
| | | this.$refs[formName].validate((valid) => { |
| | | |
| | | if (valid) { |
| | | var obj = {} |
| | | obj.oldScore = this.gradeForm.theoryGrade |
| | | obj.newScore = this.gradeForm.editGrades |
| | | obj.applyCause = this.gradeForm.editReason |
| | | obj.examScoreId = this.gradeForm.id |
| | | obj.createUser = this.userInfo.Id |
| | | var obj = {}; |
| | | obj.oldScore = this.gradeForm.theoryGrade; |
| | | obj.newScore = this.gradeForm.editGrades; |
| | | obj.applyCause = this.gradeForm.editReason; |
| | | obj.examScoreId = this.gradeForm.id; |
| | | obj.createUser = this.userInfo.Id; |
| | | |
| | | updateGrade(obj).then( |
| | | () => { |
| | | that.questionBankOnLoad(that.questionBankPage) |
| | | that.questionBankOnLoad(that.questionBankPage); |
| | | that.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }) |
| | | }); |
| | | |
| | | that.gradeBoxVisible = false |
| | | that.gradeBoxVisible = false; |
| | | }, |
| | | (error) => { |
| | | window.console.log(error) |
| | | window.console.log(error); |
| | | } |
| | | ); |
| | | |
| | | } |
| | | |
| | | }) |
| | | |
| | | }); |
| | | }, |
| | | |
| | | questionBankSelectionClear () { |
| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-05 16:31:54 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-10-26 15:38:19 |
| | | * @Last Modified time: 2021-11-23 14:11:16 |
| | | * menu-name 成绩查看 |
| | | */ |
| | | <template> |
| | | <el-row class="morpheus-box-score"> |
| | | <el-col :span="24"> |
| | | <el-card> |
| | | <div class="exam-card-body"> |
| | | <div |
| | | :class="[ |
| | | 'exam-card-body', |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | v-model="obj" |
| | | class="company-box" |
| | |
| | | menu: false, |
| | | menuWidth: 136, |
| | | labelWidth: 120, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "考试时间", |
| | |
| | | questionBankPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 16, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | questionBankQuery: {}, |
| | | questionBankSelectionList: [], |
| | |
| | | /* |
| | | * @Author: Morpheus |
| | | * @Date: 2021-07-07 17:30:05 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-07-10 16:06:14 |
| | | * @Last Modified by: liu |
| | | * @Last Modified time: 2021-11-23 14:03:37 |
| | | * menu-name 保安培训报名 |
| | | */ |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | @row-click="handleRowClick" |
| | | @on-load="onLoad" |
| | | > |
| | | |
| | | <template slot-scope="{ type,row }" slot="menu"> |
| | | <el-button |
| | | :type="type" |
| | |
| | | :visible.sync="dialogDisable" |
| | | width="1000px" |
| | | > |
| | | <avue-form ref="formTrainApply" :option="optionTrainApply" v-model="formTrainApply" @submit="submit"></avue-form> |
| | | <avue-form |
| | | ref="formTrainApply" |
| | | :option="optionTrainApply" |
| | | v-model="formTrainApply" |
| | | @submit="submit" |
| | | ></avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </template> |
| | |
| | | update, |
| | | remove, |
| | | } from "@/api/securityCompany/train"; |
| | | import {adddata,batchTrain} from "@/api/trainingRegistration/trainingRegistration"; |
| | | import { |
| | | adddata, |
| | | batchTrain, |
| | | } from "@/api/trainingRegistration/trainingRegistration"; |
| | | import { mapGetters } from "vuex"; |
| | | import { mapState } from 'vuex'; |
| | | import { mapState } from "vuex"; |
| | | import {getUser} from "@/api/system/user"; |
| | | export default { |
| | | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | auditStatus:false, |
| | | formTrainApply: { |
| | | num:0 |
| | | num: 0, |
| | | }, |
| | | query: {}, |
| | | deptId:null, |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | searchMenuSpan: 6, |
| | | index: true, |
| | | viewBtn: false, |
| | | editBtnText:'报名', |
| | | editTitle: '报名', |
| | | editBtnText: "报名", |
| | | editTitle: "报名", |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "学校", |
| | |
| | | { |
| | | label: "负责人", |
| | | prop: "contacts", |
| | | display: false |
| | | display: false, |
| | | }, |
| | | { |
| | | label: "联系方式", |
| | |
| | | prop: "address", |
| | | display: false, |
| | | width: 280, |
| | | } |
| | | }, |
| | | ], |
| | | }, |
| | | optionTrainApply: { |
| | |
| | | index: true, |
| | | dialogClickModal: false, |
| | | labelWidth:110, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "学校", |
| | | prop: "trainingUnitId", |
| | | dicUrl: "/api/blade-system/dept/lazy-tree-type?parentId=1418458374477549569", |
| | | dicUrl: |
| | | "/api/blade-system/dept/lazy-tree-type?parentId=1418458374477549569", |
| | | cascaderItem: ["trainExamId"], |
| | | props: { |
| | | label: "title", |
| | | value: "id" |
| | | value: "id", |
| | | }, |
| | | type: "select", |
| | | disabled:true, |
| | | rules: [{ |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入学校", |
| | | trigger: "blur" |
| | | }], |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | hide:true, |
| | | searchSpan: 6, |
| | | searchLabelWidth: 110, |
| | | search: true, |
| | | span:24 |
| | | span: 24, |
| | | }, |
| | | // { |
| | | // label: "单位名称", |
| | | // label: "企业名称", |
| | | // prop: "deptId", |
| | | // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697", |
| | | // // dicUrl: "/api/blade-system/dept/security_lazy-tree?parentId=0", |
| | |
| | | // hide: true, |
| | | // rules: [{ |
| | | // required: true, |
| | | // message: "请输入单位名称", |
| | | // message: "请输入企业名称", |
| | | // trigger: "blur" |
| | | // }], |
| | | // span: 24 |
| | |
| | | disabled:true, |
| | | span: 12, |
| | | }, |
| | | |
| | | ], |
| | | }, |
| | | data: [], |
| | |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: state => state.user.userInfo |
| | | }) |
| | | |
| | | |
| | | |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | created() { |
| | | this.optionTrainApply.column[1].dicUrl = |
| | |
| | | var that = this; |
| | | getUser(this.userInfo.Id).then((res)=>{ |
| | | var status = res.data.data.examinationType; |
| | | if(status=='1'){ |
| | | if (status == "1") { |
| | | that.auditStatus = true; |
| | | } |
| | | // console.log(that.auditStatus,3333); |
| | | }) |
| | | }); |
| | | }, |
| | | //保安公司批量报名 |
| | | handleTrainApplyBatch(row){ |
| | |
| | | this.optionTrainApply.column.trainingUnitId = row.departmentid; |
| | | // this.deptId= this.userInfo.dept_id; |
| | | this.formTrainApply = { |
| | | trainingUnitId: row.departmentid |
| | | } |
| | | trainingUnitId: row.departmentid, |
| | | }; |
| | | }, |
| | | //批量报名提交 |
| | | submit(){ |
| | | batchTrain({ |
| | | userIds: this.formTrainApply.userId.join(","), |
| | | trainingUnitId: this.formTrainApply.trainingUnitId |
| | | trainingUnitId: this.formTrainApply.trainingUnitId, |
| | | }).then( |
| | | (res) => { |
| | | this.onLoad(this.page); |
| | |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }).then(() => { |
| | | row['userId'] = this.userInfo.user_id; |
| | | row['trainingUnitId'] = row.departmentid; |
| | | row["userId"] = this.userInfo.user_id; |
| | | row["trainingUnitId"] = row.departmentid; |
| | | adddata(row).then( |
| | | (res) => { |
| | | // this.onLoad(this.page); |
| | |
| | | loading(); |
| | | } |
| | | ); |
| | | }) |
| | | }); |
| | | }, |
| | | //关闭窗口清除数据 |
| | | closeDialog(){ |
| | |
| | | // width: 110, |
| | | // }, |
| | | { |
| | | label: "单位名称", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | // width: 70, |
| | | // search: true, |
| | |
| | | hide: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入单位名称", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | overHidden: true |
| | | }, { |
| | | label: "单位名称", |
| | | label: "企业名称", |
| | | prop: "deptName", |
| | | // hide: true, |
| | | search: true, |
| | | searchSpan: 6, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入单位名称", |
| | | message: "请输入企业名称", |
| | | trigger: "blur" |
| | | }], |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | excelBtn: false, |
| | | menuWidth: 380, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "所选保安人数", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | query: {}, |
| | | data: [], |
| | |
| | | delBtn: false, |
| | | editBtn: false, |
| | | addBtn: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | }; |
| | | }, |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" slot="isSealed"> |
| | | <el-tag>{{row.isSealed===0?'否':'是'}}</el-tag> |
| | | <el-tag>{{ row.isSealed === 0 ? "否" : "是" }}</el-tag> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button |
| | |
| | | update, |
| | | add, |
| | | getDict, |
| | | getDictTree |
| | | getDictTree, |
| | | } from "@/api/system/dict"; |
| | | import {mapGetters} from "vuex"; |
| | | |
| | |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | option: { |
| | | tip: false, |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入字典编号", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典名称", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入字典名称", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "上级字典", |
| | |
| | | dicData: [], |
| | | hide: true, |
| | | props: { |
| | | label: "title" |
| | | label: "title", |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择上级字典", |
| | | trigger: "click" |
| | | } |
| | | ] |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典键值", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入字典键值", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典排序", |
| | |
| | | { |
| | | required: true, |
| | | message: "请输入字典排序", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "封存", |
| | |
| | | dicData: [ |
| | | { |
| | | label: "否", |
| | | value: 0 |
| | | value: 0, |
| | | }, |
| | | { |
| | | label: "是", |
| | | value: 1 |
| | | } |
| | | value: 1, |
| | | }, |
| | | ], |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择封存", |
| | | trigger: "blur" |
| | | } |
| | | ] |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "字典备注", |
| | | prop: "remark", |
| | | search: true, |
| | | hide: true |
| | | } |
| | | ] |
| | | hide: true, |
| | | }, |
| | | data: [] |
| | | ], |
| | | }, |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | addBtn: this.vaildData(this.permission.dict_add, false), |
| | | viewBtn: this.vaildData(this.permission.dict_view, false), |
| | | delBtn: this.vaildData(this.permission.dict_delete, false), |
| | | editBtn: this.vaildData(this.permission.dict_edit, false) |
| | | editBtn: this.vaildData(this.permission.dict_edit, false), |
| | | }; |
| | | }, |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | getDictTree().then(res => { |
| | | getDictTree().then((res) => { |
| | | const column = this.findObject(this.optionChild.column, "parentId"); |
| | | column.dicData = res.data.data; |
| | | }); |
| | |
| | | handleAdd(row) { |
| | | this.$refs.crud.value.code = row.code; |
| | | this.$refs.crud.value.parentId = row.id; |
| | | this.$refs.crud.option.column.filter(item => { |
| | | this.$refs.crud.option.column.filter((item) => { |
| | | if (item.prop === "code") { |
| | | item.value = row.code; |
| | | item.addDisabled = true; |
| | |
| | | this.$refs.crud.rowAdd(); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | add(row).then(() => { |
| | | add(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowUpdate(row, index, done, loading) { |
| | | update(row).then(() => { |
| | | update(row).then( |
| | | () => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | done(); |
| | | }, error => { |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | | loading(); |
| | | }); |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(this.ids); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | this.$refs.crud.toggleSelection(); |
| | | }); |
| | | }, |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getDict(this.form.id).then(res => { |
| | | getDict(this.form.id).then((res) => { |
| | | this.form = res.data.data; |
| | | }); |
| | | } |
| | |
| | | this.$refs.crud.value.code = ""; |
| | | this.$refs.crud.value.parentId = ""; |
| | | this.$refs.crud.value.addDisabled = false; |
| | | this.$refs.crud.option.column.filter(item => { |
| | | this.$refs.crud.option.column.filter((item) => { |
| | | if (item.prop === "code") { |
| | | item.value = ""; |
| | | item.addDisabled = false; |
| | |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, this.query) |
| | | ).then(res => { |
| | | ).then((res) => { |
| | | this.data = res.data.data; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_claim_sign" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleClaim(scope.row)">签收 |
| | | @click.stop="handleClaim(scope.row)" |
| | | >签收 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_claim_detail" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDetail(scope.row)">详情 |
| | | @click.stop="handleDetail(scope.row)" |
| | | >详情 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_claim_follow" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">跟踪 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >跟踪 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="processDefinitionVersion"> |
| | | <template slot-scope="{ row }" slot="processDefinitionVersion"> |
| | | <el-tag>v{{row.processDefinitionVersion}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | selectionId: '', |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | workBox: false, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | simplePage: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "流程分类", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'processDefinitionName', |
| | | label: "流程名称", |
| | | prop: "processDefinitionName", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '当前步骤', |
| | | prop: 'taskName', |
| | | label: "当前步骤", |
| | | prop: "taskName", |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'processDefinitionVersion', |
| | | label: "流程版本", |
| | | prop: "processDefinitionVersion", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '申请时间', |
| | | prop: 'createTime', |
| | | label: "申请时间", |
| | | prop: "createTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "flowRoutes"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | |
| | | this.$confirm("确定签收此任务?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return claimTask(row.taskId); |
| | |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!" |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | handleDetail(row) { |
| | | this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`}); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute( |
| | | this.flowRoutes, |
| | | row.category |
| | | )}/detail/${row.processInstanceId}/${row.businessId}`, |
| | | }); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | category: (params.category) ? flowCategory(params.category) : null |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | }; |
| | | this.loading = true; |
| | | claimList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => { |
| | | claimList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_done_detail" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDetail(scope.row)">详情 |
| | | @click.stop="handleDetail(scope.row)" |
| | | >详情 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_done_follow" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">跟踪 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >跟踪 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="processDefinitionVersion"> |
| | | <template slot-scope="{ row }" slot="processDefinitionVersion"> |
| | | <el-tag>v{{row.processDefinitionVersion}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | selectionId: '', |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | workBox: false, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "流程分类", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'processDefinitionName', |
| | | label: "流程名称", |
| | | prop: "processDefinitionName", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '当前步骤', |
| | | prop: 'taskName', |
| | | label: "当前步骤", |
| | | prop: "taskName", |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'processDefinitionVersion', |
| | | label: "流程版本", |
| | | prop: "processDefinitionVersion", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '申请时间', |
| | | prop: 'createTime', |
| | | label: "申请时间", |
| | | prop: "createTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "flowRoutes"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleDetail(row) { |
| | | this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}`}); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute( |
| | | this.flowRoutes, |
| | | row.category |
| | | )}/detail/${row.processInstanceId}/${row.businessId}`, |
| | | }); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | category: (params.category) ? flowCategory(params.category) : null |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | }; |
| | | this.loading = true; |
| | | doneList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => { |
| | | doneList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_send_detail" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDetail(scope.row)">详情 |
| | | @click.stop="handleDetail(scope.row)" |
| | | >详情 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_send_follow" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">跟踪 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >跟踪 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="processDefinitionVersion"> |
| | | <template slot-scope="{ row }" slot="processDefinitionVersion"> |
| | | <el-tag>v{{row.processDefinitionVersion}}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="processIsFinished"> |
| | | <el-tag>{{row.processIsFinished==='finished' ? '已完成' : '未完成'}}</el-tag> |
| | | <template slot-scope="{ row }" slot="processIsFinished"> |
| | | <el-tag>{{ |
| | | row.processIsFinished === "finished" ? "已完成" : "未完成" |
| | | }}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | selectionId: '', |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | workBox: false, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "流程分类", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'processDefinitionName', |
| | | label: "流程名称", |
| | | prop: "processDefinitionName", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '当前步骤', |
| | | prop: 'taskName', |
| | | label: "当前步骤", |
| | | prop: "taskName", |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'processDefinitionVersion', |
| | | label: "流程版本", |
| | | prop: "processDefinitionVersion", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '流程进度', |
| | | prop: 'processIsFinished', |
| | | label: "流程进度", |
| | | prop: "processIsFinished", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '申请时间', |
| | | prop: 'createTime', |
| | | label: "申请时间", |
| | | prop: "createTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "flowRoutes"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleDetail(row) { |
| | | this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` }); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute( |
| | | this.flowRoutes, |
| | | row.category |
| | | )}/detail/${row.processInstanceId}/${row.businessId}`, |
| | | }); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | category: (params.category) ? flowCategory(params.category) : null |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | }; |
| | | this.loading = true; |
| | | sendList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => { |
| | | sendList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | :page.sync="page" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-radio-group v-model="mode" size="small"> |
| | | <el-radio-button label="1">通用流程</el-radio-button> |
| | |
| | | </el-radio-group> |
| | | </template> |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_start_flow" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleStart(scope.row)">发起 |
| | | @click.stop="handleStart(scope.row)" |
| | | >发起 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_start_image" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">流程图 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >流程图 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="tenantId"> |
| | | <el-tag>{{row.tenantId===''?'通用':row.tenantId}}</el-tag> |
| | | <template slot-scope="{ row }" slot="tenantId"> |
| | | <el-tag>{{ row.tenantId === "" ? "通用" : row.tenantId }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="version"> |
| | | <template slot-scope="{ row }" slot="version"> |
| | | <el-tag>v{{row.version}}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="suspensionState"> |
| | | <el-tag>{{row.suspensionState===1?'激活':'挂起'}}</el-tag> |
| | | <template slot-scope="{ row }" slot="suspensionState"> |
| | | <el-tag>{{ row.suspensionState === 1 ? "激活" : "挂起" }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="category"> |
| | | <template slot-scope="{ row }" slot="category"> |
| | | <el-tag>{{row.categoryName}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | mode: '1', |
| | | selectionId: '', |
| | | mode: "1", |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | workBox: false, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | searchShow: true, |
| | |
| | | menuWidth: 150, |
| | | dialogWidth: 900, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: '保安单位编号', |
| | | prop: 'tenantId', |
| | | label: "保安单位编号", |
| | | prop: "tenantId", |
| | | slot: true, |
| | | width: 120, |
| | | }, |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程标识', |
| | | prop: 'key', |
| | | label: "流程标识", |
| | | prop: "key", |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'name', |
| | | label: "流程名称", |
| | | prop: "name", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'version', |
| | | label: "流程版本", |
| | | prop: "version", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '状态', |
| | | prop: 'suspensionState', |
| | | label: "状态", |
| | | prop: "suspensionState", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '部署时间', |
| | | prop: 'deploymentTime', |
| | | label: "部署时间", |
| | | prop: "deploymentTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | watch: { |
| | | 'mode'() { |
| | | mode() { |
| | | this.onLoad(this.page); |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "flowRoutes"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleStart(row) { |
| | | this.$router.push({path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${row.id}`}); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/form/${ |
| | | row.id |
| | | }`, |
| | | }); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/resource-view?processDefinitionId=${row.id}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | category: (params.category) ? flowCategory(params.category) : null, |
| | | mode: this.mode |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | mode: this.mode, |
| | | }; |
| | | this.loading = true; |
| | | startList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => { |
| | | startList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <avue-crud :option="option" |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | | :data="data" |
| | | ref="crud" |
| | |
| | | @current-change="currentChange" |
| | | @size-change="sizeChange" |
| | | @refresh-change="refreshChange" |
| | | @on-load="onLoad"> |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_todo_handle" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleWork(scope.row)">处理 |
| | | @click.stop="handleWork(scope.row)" |
| | | >处理 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_todo_detail" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleDetail(scope.row)">详情 |
| | | @click.stop="handleDetail(scope.row)" |
| | | >详情 |
| | | </el-button> |
| | | <el-button type="text" |
| | | <el-button |
| | | type="text" |
| | | size="small" |
| | | v-if="permission.work_todo_follow" |
| | | plain |
| | | class="none-border" |
| | | @click.stop="handleImage(scope.row,scope.index)">跟踪 |
| | | @click.stop="handleImage(scope.row, scope.index)" |
| | | >跟踪 |
| | | </el-button> |
| | | </template> |
| | | <template slot-scope="{row}" |
| | | slot="processDefinitionVersion"> |
| | | <template slot-scope="{ row }" slot="processDefinitionVersion"> |
| | | <el-tag>v{{row.processDefinitionVersion}}</el-tag> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog title="流程图" |
| | | <el-dialog |
| | | title="流程图" |
| | | append-to-body |
| | | :visible.sync="flowBox" |
| | | :fullscreen="true"> |
| | | :fullscreen="true" |
| | | > |
| | | <iframe |
| | | :src=flowUrl |
| | | :src="flowUrl" |
| | | width="100%" |
| | | height="700" |
| | | title="流程图" |
| | |
| | | marginWidth="0" |
| | | marginHeight="0" |
| | | scrolling="no" |
| | | allowTransparency="yes"> |
| | | allowTransparency="yes" |
| | | > |
| | | </iframe> |
| | | <span slot="footer" |
| | | class="dialog-footer"> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="flowBox = false">关 闭</el-button> |
| | | </span> |
| | | </el-dialog> |
| | |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | selectionId: '', |
| | | selectionId: "", |
| | | selectionList: [], |
| | | query: {}, |
| | | loading: true, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | flowBox: false, |
| | | flowUrl: '', |
| | | flowUrl: "", |
| | | workBox: false, |
| | | option: { |
| | | height: 'auto', |
| | | height: "auto", |
| | | calcHeight: 30, |
| | | tip: false, |
| | | simplePage: true, |
| | |
| | | dialogWidth: 900, |
| | | menuWidth: 150, |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "流程分类", |
| | |
| | | dicUrl: "/api/blade-system/dict/dictionary?code=flow", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey" |
| | | value: "dictKey", |
| | | }, |
| | | dataType: "number", |
| | | slot: true, |
| | |
| | | width: 100, |
| | | }, |
| | | { |
| | | label: '流程名称', |
| | | prop: 'processDefinitionName', |
| | | label: "流程名称", |
| | | prop: "processDefinitionName", |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '当前步骤', |
| | | prop: 'taskName', |
| | | label: "当前步骤", |
| | | prop: "taskName", |
| | | }, |
| | | { |
| | | label: '流程版本', |
| | | prop: 'processDefinitionVersion', |
| | | label: "流程版本", |
| | | prop: "processDefinitionVersion", |
| | | slot: true, |
| | | width: 80, |
| | | }, |
| | | { |
| | | label: '申请时间', |
| | | prop: 'createTime', |
| | | label: "申请时间", |
| | | prop: "createTime", |
| | | width: 165, |
| | | }, |
| | | ] |
| | | ], |
| | | }, |
| | | data: [] |
| | | data: [], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "flowRoutes"]), |
| | | ids() { |
| | | let ids = []; |
| | | this.selectionList.forEach(ele => { |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id); |
| | | }); |
| | | return ids.join(","); |
| | |
| | | this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleWork(row) { |
| | | this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}` }); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute( |
| | | this.flowRoutes, |
| | | row.category |
| | | )}/handle/${row.taskId}/${row.processInstanceId}/${row.businessId}`, |
| | | }); |
| | | }, |
| | | handleDetail(row) { |
| | | this.$router.push({ path: `/work/process/${flowRoute(this.flowRoutes, row.category)}/detail/${row.processInstanceId}/${row.businessId}` }); |
| | | this.$router.push({ |
| | | path: `/work/process/${flowRoute( |
| | | this.flowRoutes, |
| | | row.category |
| | | )}/detail/${row.processInstanceId}/${row.businessId}`, |
| | | }); |
| | | }, |
| | | handleImage(row) { |
| | | this.flowUrl = `/api/blade-flow/process/diagram-view?processInstanceId=${row.processInstanceId}`; |
| | |
| | | onLoad(page, params = {}) { |
| | | const query = { |
| | | ...this.query, |
| | | category: (params.category) ? flowCategory(params.category) : null |
| | | category: params.category ? flowCategory(params.category) : null, |
| | | }; |
| | | this.loading = true; |
| | | todoList(page.currentPage, page.pageSize, Object.assign(params, query)).then(res => { |
| | | todoList( |
| | | page.currentPage, |
| | | page.pageSize, |
| | | Object.assign(params, query) |
| | | ).then((res) => { |
| | | const data = res.data.data; |
| | | this.page.total = data.total; |
| | | this.data = data.records; |
| | | this.loading = false; |
| | | this.selectionClear(); |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | column: workreplyColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | }; |
| | |
| | | <template> |
| | | <basic-container class="workreply"> |
| | | <basic-container |
| | | :class="[ |
| | | 'workreply', |
| | | $store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | menuWidth: 320, |
| | | dialogClickModal: false, |
| | | column: workreportColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | }, |
| | | data: [], |
| | | }; |
| | |
| | | <template> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[$store.state.control.windowWidth >= 1024 ? 'oneRowSearch' : '']" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :table-loading="loading" |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | selectionList: [], |
| | | option: { |
| | |
| | | headerAlign: "center", |
| | | align: "center", |
| | | dialogClickModal: false, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | column: [ |
| | | { |
| | | label: "账号", |