1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\views\\activiti\\TemplateManagementLists\\index.vue?vue&type=style&index=0&lang=less&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\views\\activiti\\TemplateManagementLists\\index.vue","mtime":1620609644501},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\css-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\less-loader\\dist\\cjs.js","mtime":1620611891373},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDQouVGVtcGxhdGVNYW5hZ2VtZW50TGlzdHN7DQogIGRpc3BsYXk6IGZsZXg7DQogIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIC5saXN0Q29udGVudHsNCiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgICBmbGV4OiAxOw0KICAgIHBhZGRpbmc6IDE2cHg7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAgIG92ZXJmbG93OiBoaWRkZW47DQoNCiAgICAudGl0bGV7DQogICAgICBmb250LXNpemU6MThweDsNCiAgICAgIGZvbnQtZmFtaWx5OlBpbmdGYW5nU0MtTWVkaXVtOw0KICAgICAgZm9udC13ZWlnaHQ6NTAwOw0KICAgICAgY29sb3I6cmdiYSg4MSw5MCwxMTAsMSk7DQogICAgICBsaW5lLWhlaWdodDoyNHB4Ow0KICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsNCiAgICB9DQoNCiAgICAuYnV0dG9uTGlzdHN7DQogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgICAgPmJ1dHRvbnsNCiAgICAgICAgd2lkdGg6IDkwcHg7DQogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsNCiAgICAgIH0NCiAgICB9DQogICAgLmZvcm17DQogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4Ow0KICAgIH0NCg0KICAgIC5saXN0ew0KICAgICAgZmxleDogMTsNCiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7DQogICAgICBvdmVyZmxvdzogYXV0bzsNCiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICAgIC5saXN0c0Zvcm17DQogICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDsNCiAgICAgICAgbWFyZ2luLXRvcDogNXB4Ow0KDQogICAgICAgIC5Gb3JtSXRlbUNvbXBvbmVudC1pdGVtew0KICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsNCiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIC5ub0RhdGF7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgdG9wOiA1MCU7DQogICAgICAgIGxlZnQ6IDUwJTsNCiAgICAgICAgd2lkdGg6IDI4MHB4Ow0KICAgICAgICBoZWlnaHQ6IDI5MnB4Ow0KICAgICAgICBtYXJnaW4tdG9wOiAtMTQ2cHg7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7DQogICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnfkAvYXNzZXRzL2ltYWdlcy9ub2RhdGEucG5nJyk7DQogICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7DQoNCiAgICAgICAgPnNwYW57DQogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICAgIGJvdHRvbTogNDBweDsNCiAgICAgICAgICBsZWZ0OiAyMHB4Ow0KICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgICB3aWR0aDogMjQwcHg7DQogICAgICAgICAgaGVpZ2h0OiA0MHB4Ow0KICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0NCg0KICB9DQp9DQoNCi5taWdyYXRpb25Nb2RlbENvbnRlbnR7DQogIGhlaWdodDogMTE1cHg7DQogIHBhZGRpbmc6IDMwcHggNDRweCAxN3B4IDQ0cHg7DQogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQo="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA","file":"index.vue","sourceRoot":"src/views/activiti/TemplateManagementLists","sourcesContent":["<template>\r\n <div class=\"TemplateManagementLists\">\r\n <div class=\"listContent\">\r\n <p class=\"title\">模版管理</p>\r\n <p class=\"buttonLists\">\r\n <Button type=\"primary\" @click=\"searchData.page = 1;queryLists()\">查询</Button>\r\n <Button type=\"fcdefault\" :disabled=\"listsStatus === 1\" @click=\"addTemplate\">新建模板</Button>\r\n <Button type=\"fcdefault\" v-if=\"listsStatus === 0\" @click=\"templateMigration\">模版迁移</Button>\r\n <Button type=\"fcdefault\" v-if=\"listsStatus === 1\" @click=\"removeMigration\">取消迁移</Button>\r\n <Button type=\"fcdefault\" v-if=\"listsStatus === 1\" @click=\"perform\">执行</Button>\r\n <Button type=\"fcdefault\" v-if=\"listsStatus === 1\" @click=\"performAll\">执行全部</Button>\r\n </p>\r\n <Alert show-icon closable v-if=\"listsStatus === 1\">依次单击模板可进行多选模板</Alert>\r\n <FormItemComponent\r\n class=\"form\"\r\n :formItemLists=\"formLists\"\r\n :buttonType=\"false\"\r\n @formChange=\"formChange\"\r\n ></FormItemComponent>\r\n\r\n <StandardTable\r\n class=\"table\"\r\n :currentPage=\"searchData.page\"\r\n :pageSize=\"searchData.pageSize\"\r\n :pageSizeOpts=\"[20,40,60,80]\"\r\n :total=\"total\"\r\n :showTable=\"false\"\r\n :standardTableEvent=\"standardTableEvent\"\r\n >\r\n </StandardTable>\r\n\r\n <div class=\"list\">\r\n <FormItemComponent\r\n class=\"listsForm\"\r\n :formItemLists=\"listsConfig\"\r\n :buttonType=\"false\"\r\n :readonly=\"listsStatus === 1\"\r\n ></FormItemComponent>\r\n\r\n <div class=\"noData\" v-if=\"listsConfig.length == 0\" >\r\n <span>\r\n 暂无模版\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- 模版迁移弹窗 -->\r\n <Modal\r\n v-model=\"migrationModel\"\r\n title=\"模版迁移\"\r\n mask\r\n :width=\"440\"\r\n :mask-closable=\"false\"\r\n >\r\n <div class=\"migrationModelContent\">\r\n <p>\r\n <Input v-model=\"serverUrl\" placeholder=\"请输入目标服务器地址\" style=\"width: 320px\" />\r\n </p>\r\n </div>\r\n\r\n <p slot=\"footer\">\r\n <Button :loading=\"performloading\" @click=\"migrationModel = false\">取消</Button>\r\n <Button :loading=\"performloading\" type=\"primary\" @click=\"performConfirm\">确定</Button>\r\n </p>\r\n </Modal>\r\n </div>\r\n</template>\r\n<script>\r\nimport FormItemComponent from '@/components/FormItemComponent';\r\nimport ItemComponent from '@/components/ItemComponent';\r\nimport StandardTable from '@/components/StandardTable';\r\nimport listModalComponent from '@/components/listModalComponent'\r\n// import router from '../config/router.config'\r\nimport { mapMutations,mapState } from 'vuex';\r\nexport default {\r\n name:'TemplateManagementLists',\r\n components:{FormItemComponent,StandardTable},\r\n data () {\r\n return {\r\n // 状态 0为搜索状态,1为模版迁移状态\r\n listsStatus:0,\r\n //表单配置\r\n formLists:[\r\n {\r\n row:1,\r\n col:1,\r\n component:ItemComponent,\r\n item:{\r\n type:'input',\r\n title:'模型名称',\r\n filed:'name',\r\n event:{\r\n 'keydown': (event) => {\r\n if(event.keyCode === 13){\r\n this.searchData.page = 1\r\n this.queryLists()\r\n }\r\n }\r\n }\r\n }\r\n },\r\n {\r\n row:1,\r\n col:1,\r\n component:ItemComponent,\r\n item:{\r\n type:'select',\r\n title:'模版状态',\r\n filed:'status',\r\n options: [\r\n { value: 1, label: '已发布'},\r\n { value: 0, label: '未发布'},\r\n { value: 2, label: '已停用'}\r\n ],\r\n props:{\r\n multiple: true,\r\n multipleType: true\r\n },\r\n value:[0,1]\r\n }\r\n },\r\n {\r\n row:1,\r\n col:1,\r\n component:ItemComponent,\r\n item:{\r\n type:'DatePicker',\r\n title:'创建时间',\r\n filed:'createTime',\r\n value:[]\r\n }\r\n }\r\n ],\r\n //查询条件\r\n searchData:{\r\n page:1,\r\n pageSize:20,\r\n createTime:[],\r\n status: [0,1]\r\n },\r\n\r\n //分页数据\r\n total:0,\r\n standardTableEvent:{\r\n 'on-change':(page) => {\r\n this.searchData.page = page\r\n this.queryLists()\r\n },\r\n 'on-page-size-change':(pageSize) => {\r\n this.searchData.page = 1\r\n this.searchData.pageSize = pageSize\r\n this.queryLists()\r\n }\r\n },\r\n listsConfig:[ //列表数据\r\n ],\r\n\r\n // 迁移数据\r\n selectModal:[], //选中的迁移模版\r\n migrationModel:false, //控制模版迁移弹窗\r\n serverUrl:null, //目标服务地址\r\n migrationType:null, //0为执行 1为执行全部\r\n performloading:false\r\n\r\n }\r\n },\r\n computed:{\r\n ...mapState({\r\n currentMenu:(state) =>{\r\n return state.currentMenu\r\n }\r\n })\r\n },\r\n watch:{\r\n listsStatus () {\r\n if(this.listsStatus === 0){\r\n this.selectModal = []\r\n }\r\n }\r\n },\r\n methods:{\r\n ...mapMutations(['currentChange','changeKeepAliveArray']),\r\n formChange (data) { //表单数据修改时,修改searchData数据\r\n if(data.status){\r\n this.formLists[0].item.value = data.name\r\n this.formLists[1].item.value = data.status\r\n this.formLists[2].item.value = data.createTime\r\n // this.formLists = this.formLists.concat([])\r\n }\r\n this.searchData = Object.assign({},this.searchData,data)\r\n if(Object.prototype.toString.call(this.searchData.status) === '[object Array]' && this.searchData.status.length === 0){\r\n delete this.searchData.searchStatus\r\n delete this.searchData.status\r\n }\r\n\r\n // this.queryLists()\r\n },\r\n queryLists () { //查询列表\r\n if(this.searchData.status && this.searchData.status.indexOf('bSelect-all') >= 0){\r\n this.searchData.searchStatus = []\r\n }else{\r\n this.searchData.searchStatus = this.searchData.status\r\n }\r\n\r\n if(this.searchData.createTime && this.searchData.createTime[0] && this.searchData.createTime[1]){\r\n this.searchData.startTime = new Date(this.searchData.createTime[0]).format('yyyy-MM-dd hh:mm')\r\n this.searchData.endTime = new Date(this.searchData.createTime[1]).format('yyyy-MM-dd hh:mm')\r\n }else{\r\n this.searchData.startTime = ''\r\n this.searchData.endTime = ''\r\n }\r\n\r\n let obj = Object.assign({},this.searchData)\r\n delete obj.createTime\r\n delete obj.status\r\n this.$network.post('/p/cs/module/search', obj).then((res) => {\r\n if(res.data.resultCode !== 0){\r\n return\r\n }\r\n let data = res.data.data\r\n this.total = data.total\r\n\r\n this.listsConfig = data.records.reduce((arr,item) => {\r\n let items = {\r\n event:{\r\n queryLists:() => {\r\n this.queryLists()\r\n }\r\n }\r\n }\r\n items = Object.assign(items,item)\r\n arr.push({\r\n row:1,\r\n col:1,\r\n component:listModalComponent,\r\n item:items\r\n })\r\n return arr\r\n },[])\r\n });\r\n },\r\n addTemplate () { //新建模版\r\n this.changeKeepAliveArray(['TemplateManagementLists'])\r\n // router.push({ path: '/TemplateManagementNew/-1' })\r\n this.currentChange({\r\n path:'/TemplateManagementLists'\r\n });\r\n },\r\n templateMigration () { //模版迁移\r\n this.listsStatus = 1\r\n },\r\n removeMigration () { //取消迁移\r\n this.listsStatus = 0\r\n },\r\n modalClick (event) { //模版点击\r\n let value = event.detail.value\r\n let items = event.detail.items\r\n if(value){\r\n this.selectModal.push(items.id)\r\n }else{\r\n this.selectModal.splice(this.selectModal.findIndex(item => item === items.id), 1)\r\n }\r\n },\r\n perform () { //执行迁移\r\n if(this.selectModal.length === 0){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'请选择需要迁移的模版!',\r\n mask:true\r\n })\r\n return\r\n }\r\n this.migrationType = 0\r\n this.serverUrl = null\r\n this.migrationModel = true\r\n\r\n },\r\n performAll () { //迁移全部\r\n this.migrationType = 1\r\n this.serverUrl = null\r\n this.migrationModel = true\r\n },\r\n performConfirm () { //模版迁移确认\r\n let obj = {}\r\n if(!(this.serverUrl.startsWith('http://') || this.serverUrl.startsWith('https://'))){\r\n this.$Modal.fcWarning({\r\n title:'警告',\r\n content:'目标服务器地址必须以http://或者https://开头',\r\n mask:true\r\n })\r\n return\r\n }\r\n this.performloading = true\r\n if(this.migrationType === 0){ //执行选中模版\r\n obj = {\r\n moduleIds:this.selectModal.join(',')\r\n }\r\n }else{ //执行所有模版\r\n if(this.searchData.createTime && this.searchData.createTime[0] && this.searchData.createTime[1]){\r\n this.searchData.startTime = new Date(this.searchData.createTime[0]).format('yyyy-MM-dd hh:mm')\r\n this.searchData.endTime = new Date(this.searchData.createTime[1]).format('yyyy-MM-dd hh:mm')\r\n }else{\r\n this.searchData.startTime = ''\r\n this.searchData.endTime = ''\r\n }\r\n\r\n obj = Object.assign({},this.searchData)\r\n }\r\n\r\n obj.url = this.serverUrl\r\n this.$network.post('/p/cs/module/migrate', obj)\r\n .then((res) => {\r\n if(res.data.resultCode === 0){\r\n this.$Modal.fcSuccess({\r\n title:'成功',\r\n content:res.data.resultMsg,\r\n onOk: () => {\r\n this.queryLists()\r\n this.listsStatus = 0\r\n this.migrationModel = false\r\n this.performloading = false\r\n }\r\n })\r\n\r\n }else{\r\n this.performloading = false\r\n }\r\n\r\n })\r\n }\r\n },\r\n created () {\r\n //判断首页跳转状态,修改查询条件\r\n let status = Number(this.$route.query.status)\r\n if(status){\r\n this.searchData.status = [status]\r\n this.formLists[1].item.value = [status]\r\n this.formLists = this.formLists.concat([])\r\n }\r\n this.queryLists()\r\n },\r\n mounted () {\r\n // 监听modal的点击事件\r\n window.addEventListener('modalClick',this.modalClick)\r\n },\r\n beforeDestroy () {\r\n window.removeEventListener('modalClick', this.modalClick);\r\n },\r\n activated () {\r\n this.queryLists()\r\n }\r\n}\r\n</script>\r\n<style lang=\"less\" >\r\n.TemplateManagementLists{\r\n display: flex;\r\n flex-direction: column;\r\n .listContent{\r\n background: white;\r\n flex: 1;\r\n padding: 16px;\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n\r\n .title{\r\n font-size:18px;\r\n font-family:PingFangSC-Medium;\r\n font-weight:500;\r\n color:rgba(81,90,110,1);\r\n line-height:24px;\r\n margin-bottom: 16px;\r\n }\r\n\r\n .buttonLists{\r\n margin-bottom: 10px;\r\n >button{\r\n width: 90px;\r\n margin-right: 10px;\r\n }\r\n }\r\n .form{\r\n margin-bottom: 16px;\r\n }\r\n\r\n .list{\r\n flex: 1;\r\n margin-right: -16px;\r\n overflow: auto;\r\n position: relative;\r\n .listsForm{\r\n border: none;\r\n padding: 0;\r\n margin-left: 5px;\r\n margin-top: 5px;\r\n\r\n .FormItemComponent-item{\r\n margin-right: 16px;\r\n margin-bottom: 20px;\r\n }\r\n }\r\n\r\n .noData{\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n width: 280px;\r\n height: 292px;\r\n margin-top: -146px;\r\n margin-left: -140px;\r\n background-image: url('~@/assets/images/nodata.png');\r\n background-size: cover;\r\n\r\n >span{\r\n position: absolute;\r\n bottom: 40px;\r\n left: 20px;\r\n display: inline-block;\r\n width: 240px;\r\n height: 40px;\r\n text-align: center;\r\n }\r\n }\r\n }\r\n\r\n }\r\n}\r\n\r\n.migrationModelContent{\r\n height: 115px;\r\n padding: 30px 44px 17px 44px;\r\n box-sizing: border-box;\r\n}\r\n</style>\r\n"]}]}
|