| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\pages\\system\\configTab\\list.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\pages\\system\\configTab\\list.vue","mtime":1761614939071},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBjb25maWdUYWJMaXN0QXBpLCBjb25maWdUYWJBZGRBcGksIGNvbmZpZ1RhYkVkaXRBcGksIGNvbmZpZ1NldFN0YXR1c0FwaSB9IGZyb20gJ0AvYXBpL3N5c3RlbSc7DQppbXBvcnQgZm9ybUNyZWF0ZSBmcm9tICdAZm9ybS1jcmVhdGUvZWxlbWVudC11aSc7DQppbXBvcnQgZWRpdEZyb20gZnJvbSAnQC9jb21wb25lbnRzL2Zyb20vZnJvbSc7DQppbXBvcnQgcmVxdWVzdCBmcm9tICdAL2xpYnMvcmVxdWVzdCc7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdsaXN0JywNCiAgY29tcG9uZW50czogeyBmb3JtQ3JlYXRlOiBmb3JtQ3JlYXRlLiRmb3JtKCksIGVkaXRGcm9tIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIG1vZGFsczI6IGZhbHNlLA0KICAgICAgZ3JpZDogew0KICAgICAgICB4bDogNywNCiAgICAgICAgbGc6IDcsDQogICAgICAgIG1kOiAxMiwNCiAgICAgICAgc206IDI0LA0KICAgICAgICB4czogMjQsDQogICAgICB9LA0KICAgICAgbG9hZGluZzogZmFsc2UsDQogICAgICBmb3JtVmFsaWRhdGU6IHsNCiAgICAgICAgdGFiX2lkOiAwLA0KICAgICAgICBjb25maWdfbmFtZTogJycsDQogICAgICAgIHBhZ2U6IDEsDQogICAgICAgIGxpbWl0OiAyMCwNCiAgICAgIH0sDQogICAgICBjb25maWc6IHsNCiAgICAgICAgZm9ybTogew0KICAgICAgICAgIGxhYmVsV2lkdGg6ICcxMDBweCcsDQogICAgICAgIH0sDQogICAgICAgIHJlc2V0QnRuOiBmYWxzZSwNCiAgICAgICAgc3VibWl0QnRuOiBmYWxzZSwNCiAgICAgICAgZ2xvYmFsOiB7DQogICAgICAgICAgdXBsb2FkOiB7DQogICAgICAgICAgICBwcm9wczogew0KICAgICAgICAgICAgICBvblN1Y2Nlc3MocmVzLCBmaWxlKSB7DQogICAgICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkgew0KICAgICAgICAgICAgICAgICAgZmlsZS51cmwgPSByZXMuZGF0YS5zcmM7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICB9LA0KICAgICAgICB9LA0KICAgICAgfSwNCiAgICAgIHRvdGFsOiAwLA0KICAgICAgRnJvbURhdGE6IG51bGwsDQogICAgICBGcm9tUmVxdWVzdERhdGE6IHt9LA0KICAgICAgbW9kYWxUaXRsZVNzOiAnJywNCiAgICAgIGNsYXNzTGlzdDogW10sDQogICAgICBudW06IDAsDQogICAgICB0eXBlRnJvbTogew0KICAgICAgICB0eXBlOiAwLA0KICAgICAgICB0YWJfaWQ6IHRoaXMuJHJvdXRlLnBhcmFtcy5pZCwNCiAgICAgIH0sDQogICAgICBydWxlczogW10sDQogICAgICBmYXBpOiBudWxsLA0KICAgICAgcm93SWQ6IDAsDQogICAgfTsNCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICAkcm91dGU6IHsNCiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uICh2YWwsIG9sZFZhbCkgew0KICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgIH0sDQogICAgICAvLyDmt7Hluqbop4Llr5/nm5HlkKwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmdldExpc3QoKTsNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8vIOeCueWHu3RhYg0KICAgIG9uaGFuZ2VUYWIoKSB7DQogICAgICB0aGlzLmNsYXNzQWRkKCk7DQogICAgfSwNCiAgICBzdWJtaXRGb3JtKCkgew0KICAgICAgdGhpcy5mYXBpLnN1Ym1pdCgpOw0KICAgIH0sDQogICAgLy8g5paw5aKe6KGo5Y2VDQogICAgY2xhc3NBZGQoKSB7DQogICAgICBjb25maWdUYWJBZGRBcGkodGhpcy50eXBlRnJvbSkNCiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4gew0KICAgICAgICAgIGlmIChyZXMuZGF0YS5zdGF0dXMgPT09IGZhbHNlKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy4kYXV0aExhcHNlKHJlcy5kYXRhKTsNCiAgICAgICAgICB9DQogICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YSB8fCB7fTsNCiAgICAgICAgICB0aGlzLkZyb21SZXF1ZXN0RGF0YSA9IHsgYWN0aW9uOiBkYXRhLmFjdGlvbiwgbWV0aG9kOiBkYXRhLm1ldGhvZCB9Ow0KICAgICAgICAgIHRoaXMucnVsZXMgPSBkYXRhLnJ1bGVzOw0KICAgICAgICAgIHRoaXMubW9kYWxzMiA9IHRydWU7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDnvJbovpHooajljZUNCiAgICBlZGl0KHJvdykgew0KICAgICAgdGhpcy5yb3dJZCA9IHJvdy5pZDsNCiAgICAgIGNvbmZpZ1RhYkVkaXRBcGkocm93LmlkKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgaWYgKHJlcy5kYXRhLnN0YXR1cyA9PT0gZmFsc2UpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLiRhdXRoTGFwc2UocmVzLmRhdGEpOw0KICAgICAgICAgIH0NCiAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhIHx8IHt9Ow0KICAgICAgICAgIHRoaXMuRnJvbVJlcXVlc3REYXRhID0geyBhY3Rpb246IGRhdGEuYWN0aW9uLCBtZXRob2Q6IGRhdGEubWV0aG9kIH07DQogICAgICAgICAgdGhpcy5ydWxlcyA9IGRhdGEucnVsZXM7DQogICAgICAgICAgdGhpcy4kcmVmcy5lZGl0cy5tb2RhbHMgPSB0cnVlOw0KICAgICAgICAgIHRoaXMubW9kYWxzMiA9IHRydWU7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDmj5DkuqTooajljZUNCiAgICBvblN1Ym1pdChmb3JtRGF0YSkgew0KICAgICAgcmVxdWVzdCh7DQogICAgICAgIHVybDogdGhpcy5Gcm9tUmVxdWVzdERhdGEuYWN0aW9uLA0KICAgICAgICBtZXRob2Q6IHRoaXMuRnJvbVJlcXVlc3REYXRhLm1ldGhvZCwNCiAgICAgICAgZGF0YTogZm9ybURhdGEsDQogICAgICB9KQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICAgICAgdGhpcy5tb2RhbHMyID0gZmFsc2U7DQogICAgICAgICAgfSwgMTAwMCk7DQogICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgICB0aGlzLmdldExpc3QoKTsNCiAgICAgICAgICB9LCAxNTAwKTsNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKChyZXMpID0+IHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlcy5tc2cpOw0KICAgICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOS/ruaUueaIkOWKnw0KICAgIHN1Ym1pdEZhaWwoKSB7DQogICAgICB0aGlzLmdldExpc3QoKTsNCiAgICB9LA0KICAgIC8vIOi3s+i9rOWIsOmFjee9ruWIhuexu+mhtemdog0KICAgIGdvSW5kZXgoKSB7DQogICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7DQogICAgICAgIHBhdGg6IHRoaXMuJHJvdXRlUHJvU3RyICsgJy9zeXN0ZW0vY29uZmlnL3N5c3RlbV9jb25maWdfdGFiL2luZGV4JywNCiAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5re75Yqg6YWN572uDQogICAgY29uZmlndXJlQWRkKCkgew0KICAgICAgLy8gdGhpcy5tb2RhbHMyID0gdHJ1ZTsNCiAgICAgIHRoaXMucm93SWQgPSAwOw0KICAgICAgdGhpcy50eXBlRnJvbS50eXBlID0gMDsNCiAgICAgIHRoaXMuY2xhc3NBZGQoKTsNCiAgICB9LA0KICAgIC8vIOWIl+ihqA0KICAgIGdldExpc3QoKSB7DQogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOw0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUudGFiX2lkID0gdGhpcy4kcm91dGUucGFyYW1zLmlkOw0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUuY29uZmlnX25hbWUgPSB0aGlzLiRyb3V0ZS5xdWVyeS5jb25maWdfbmFtZTsNCiAgICAgIGNvbmZpZ1RhYkxpc3RBcGkodGhpcy5mb3JtVmFsaWRhdGUpDQogICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHsNCiAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMuY2xhc3NMaXN0ID0gZGF0YS5saXN0Ow0KICAgICAgICAgIHRoaXMudG90YWwgPSBkYXRhLmNvdW50Ow0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgcGFnZUNoYW5nZShpbmRleCkgew0KICAgICAgdGhpcy5mb3JtVmFsaWRhdGUucGFnZSA9IGluZGV4Ow0KICAgICAgdGhpcy5nZXRMaXN0KCk7DQogICAgfSwNCiAgICAvLyDliKDpmaQNCiAgICBkZWwocm93LCB0aXQsIG51bSkgew0KICAgICAgbGV0IGRlbGZyb21EYXRhID0gew0KICAgICAgICB0aXRsZTogdGl0LA0KICAgICAgICBudW06IG51bSwNCiAgICAgICAgdXJsOiBgL3NldHRpbmcvY29uZmlnLyR7cm93LmlkfWAsDQogICAgICAgIG1ldGhvZDogJ0RFTEVURScsDQogICAgICAgIGlkczogJycsDQogICAgICB9Ow0KICAgICAgdGhpcy4kbW9kYWxTdXJlKGRlbGZyb21EYXRhKQ0KICAgICAgICAudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIHRoaXMuY2xhc3NMaXN0LnNwbGljZShudW0sIDEpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogICAgLy8g5L+u5pS55piv5ZCm5pi+56S6DQogICAgb25jaGFuZ2VJc1Nob3cocm93KSB7DQogICAgICBjb25maWdTZXRTdGF0dXNBcGkocm93LmlkLCByb3cuc3RhdHVzKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1zZyk7DQogICAgICAgIH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["list.vue"],"names":[],"mappings":";AAsJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"list.vue","sourceRoot":"src/pages/system/configTab","sourcesContent":["<template>\r\n <div>\r\n <pages-header\r\n ref=\"pageHeader\"\r\n :title=\"`配置列表${$route.query.config_name ? ` - ` + $route.query.config_name : ''}`\"\r\n :backUrl=\"$routeProStr + '/system/config/system_config_tab/index'\"\r\n ></pages-header>\r\n <el-card :bordered=\"false\" shadow=\"never\" class=\"mt16\">\r\n <el-row v-if=\"!$route.query.config_name\">\r\n <el-col v-bind=\"grid\">\r\n <!-- <el-button type=\"primary\" v-db-click @click=\"goIndex\">配置分类</el-button> -->\r\n <el-button type=\"primary\" v-db-click @click=\"configureAdd\">添加配置</el-button>\r\n </el-col>\r\n </el-row>\r\n <el-table\r\n :data=\"classList\"\r\n ref=\"table\"\r\n v-loading=\"loading\"\r\n no-userFrom-text=\"暂无数据\"\r\n no-filtered-userFrom-text=\"暂无筛选结果\"\r\n class=\"mt14\"\r\n >\r\n <el-table-column label=\"ID\" width=\"80\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.id }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"配置名称\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.info }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"字段变量\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.menu_name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"字段类型\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.type }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"值\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span\r\n v-if=\"\r\n scope.row.type === 'text' ||\r\n scope.row.type === 'textarea' ||\r\n scope.row.type === 'radio' ||\r\n scope.row.type === 'checkbox'\r\n \"\r\n >{{ scope.row.value }}</span\r\n >\r\n <div class=\"valBox acea-row\" v-if=\"scope.row.type === 'upload' && scope.row.upload_type === 3\">\r\n <div v-if=\"scope.row.value.length\">\r\n <div\r\n class=\"valPicbox acea-scope.row scope.row-column-around\"\r\n v-for=\"(item, index) in scope.row.value\"\r\n :key=\"index\"\r\n >\r\n <div class=\"valPicbox_pic\"><i class=\"el-icon-document\" /></div>\r\n <span class=\"valPicbox_sp\">{{ item.filename }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"valBox acea-row\" v-if=\"scope.row.type === 'upload' && scope.row.upload_type !== 3\">\r\n <div v-if=\"scope.row.value.length\">\r\n <div class=\"valPicbox acea-row row-column-around\" v-for=\"(item, index) in scope.row.value\" :key=\"index\">\r\n <div class=\"valPicbox_pic\"><img v-lazy=\"item.filepath\" /></div>\r\n <span class=\"valPicbox_sp\">{{ item.filename }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <span v-if=\"scope.row.type === 'switch'\">{{ scope.row.value == 1 ? '开启' : '关闭' }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"关联配置/值\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.link_data }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"配置分类\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <span>{{ scope.row.config_tab_name }}</span>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"是否显示\" min-width=\"130\">\r\n <template slot-scope=\"scope\">\r\n <el-switch\r\n class=\"defineSwitch\"\r\n :active-value=\"1\"\r\n :inactive-value=\"0\"\r\n v-model=\"scope.row.status\"\r\n :value=\"scope.row.status\"\r\n @change=\"onchangeIsShow(scope.row)\"\r\n size=\"large\"\r\n active-text=\"显示\"\r\n inactive-text=\"隐藏\"\r\n >\r\n </el-switch>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" fixed=\"right\" width=\"120\">\r\n <template slot-scope=\"scope\">\r\n <a v-db-click @click=\"edit(scope.row)\">编辑</a>\r\n <el-divider direction=\"vertical\"></el-divider>\r\n <a v-db-click @click=\"del(scope.row, '删除分类', scope.$index)\">删除</a>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n </el-card>\r\n\r\n <!-- 新建 表单-->\r\n <el-dialog\r\n :visible.sync=\"modals2\"\r\n :title=\"`${rowId ? '修改' : '添加'}配置字段`\"\r\n :close-on-click-modal=\"false\"\r\n :show-close=\"true\"\r\n width=\"720px\"\r\n >\r\n <el-tabs v-if=\"!rowId\" v-model=\"typeFrom.type\" @tab-click=\"onhangeTab\" class=\"tabsName\">\r\n <el-tab-pane label=\"文本框 \" name=\"0\"></el-tab-pane>\r\n <el-tab-pane label=\"多行文本框\" name=\"1\"></el-tab-pane>\r\n <el-tab-pane label=\"单选框\" name=\"2\"></el-tab-pane>\r\n <el-tab-pane label=\"文件上传\" name=\"3\"></el-tab-pane>\r\n <el-tab-pane label=\"多选框\" name=\"4\"></el-tab-pane>\r\n <el-tab-pane label=\"下拉框\" name=\"5\"></el-tab-pane>\r\n <el-tab-pane label=\"开关\" name=\"6\"></el-tab-pane>\r\n </el-tabs>\r\n <form-create\r\n v-if=\"rules.length != 0\"\r\n :rule=\"rules\"\r\n v-model=\"fapi\"\r\n :option=\"config\"\r\n @submit=\"onSubmit\"\r\n class=\"formBox\"\r\n ref=\"fc\"\r\n handleIcon=\"false\"\r\n ></form-create>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n <el-button v-db-click @click=\"modals2 = false\">取消</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"submitForm\">确定</el-button>\r\n </span>\r\n </el-dialog>\r\n <!-- 编辑表单-->\r\n <edit-from ref=\"edits\" :FromData=\"FromData\" @submitFail=\"submitFail\"></edit-from>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { configTabListApi, configTabAddApi, configTabEditApi, configSetStatusApi } from '@/api/system';\r\nimport formCreate from '@form-create/element-ui';\r\nimport editFrom from '@/components/from/from';\r\nimport request from '@/libs/request';\r\nexport default {\r\n name: 'list',\r\n components: { formCreate: formCreate.$form(), editFrom },\r\n data() {\r\n return {\r\n modals2: false,\r\n grid: {\r\n xl: 7,\r\n lg: 7,\r\n md: 12,\r\n sm: 24,\r\n xs: 24,\r\n },\r\n loading: false,\r\n formValidate: {\r\n tab_id: 0,\r\n config_name: '',\r\n page: 1,\r\n limit: 20,\r\n },\r\n config: {\r\n form: {\r\n labelWidth: '100px',\r\n },\r\n resetBtn: false,\r\n submitBtn: false,\r\n global: {\r\n upload: {\r\n props: {\r\n onSuccess(res, file) {\r\n if (res.status === 200) {\r\n file.url = res.data.src;\r\n } else {\r\n this.$message.error(res.msg);\r\n }\r\n },\r\n },\r\n },\r\n },\r\n },\r\n total: 0,\r\n FromData: null,\r\n FromRequestData: {},\r\n modalTitleSs: '',\r\n classList: [],\r\n num: 0,\r\n typeFrom: {\r\n type: 0,\r\n tab_id: this.$route.params.id,\r\n },\r\n rules: [],\r\n fapi: null,\r\n rowId: 0,\r\n };\r\n },\r\n watch: {\r\n $route: {\r\n handler: function (val, oldVal) {\r\n this.getList();\r\n },\r\n // 深度观察监听\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.getList();\r\n },\r\n methods: {\r\n // 点击tab\r\n onhangeTab() {\r\n this.classAdd();\r\n },\r\n submitForm() {\r\n this.fapi.submit();\r\n },\r\n // 新增表单\r\n classAdd() {\r\n configTabAddApi(this.typeFrom)\r\n .then(async (res) => {\r\n if (res.data.status === false) {\r\n return this.$authLapse(res.data);\r\n }\r\n let data = res.data || {};\r\n this.FromRequestData = { action: data.action, method: data.method };\r\n this.rules = data.rules;\r\n this.modals2 = true;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 编辑表单\r\n edit(row) {\r\n this.rowId = row.id;\r\n configTabEditApi(row.id)\r\n .then(async (res) => {\r\n if (res.data.status === false) {\r\n return this.$authLapse(res.data);\r\n }\r\n let data = res.data || {};\r\n this.FromRequestData = { action: data.action, method: data.method };\r\n this.rules = data.rules;\r\n this.$refs.edits.modals = true;\r\n this.modals2 = true;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 提交表单\r\n onSubmit(formData) {\r\n request({\r\n url: this.FromRequestData.action,\r\n method: this.FromRequestData.method,\r\n data: formData,\r\n })\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n setTimeout(() => {\r\n this.modals2 = false;\r\n }, 1000);\r\n setTimeout(() => {\r\n this.getList();\r\n }, 1500);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 修改成功\r\n submitFail() {\r\n this.getList();\r\n },\r\n // 跳转到配置分类页面\r\n goIndex() {\r\n this.$router.push({\r\n path: this.$routeProStr + '/system/config/system_config_tab/index',\r\n });\r\n },\r\n // 添加配置\r\n configureAdd() {\r\n // this.modals2 = true;\r\n this.rowId = 0;\r\n this.typeFrom.type = 0;\r\n this.classAdd();\r\n },\r\n // 列表\r\n getList() {\r\n this.loading = true;\r\n this.formValidate.tab_id = this.$route.params.id;\r\n this.formValidate.config_name = this.$route.query.config_name;\r\n configTabListApi(this.formValidate)\r\n .then(async (res) => {\r\n let data = res.data;\r\n this.classList = data.list;\r\n this.total = data.count;\r\n this.loading = false;\r\n })\r\n .catch((res) => {\r\n this.loading = false;\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n pageChange(index) {\r\n this.formValidate.page = index;\r\n this.getList();\r\n },\r\n // 删除\r\n del(row, tit, num) {\r\n let delfromData = {\r\n title: tit,\r\n num: num,\r\n url: `/setting/config/${row.id}`,\r\n method: 'DELETE',\r\n ids: '',\r\n };\r\n this.$modalSure(delfromData)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.classList.splice(num, 1);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n // 修改是否显示\r\n onchangeIsShow(row) {\r\n configSetStatusApi(row.id, row.status)\r\n .then(async (res) => {\r\n this.$message.success(res.msg);\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.tabsName {\r\n margin-bottom: 15px;\r\n}\r\n.valBox {\r\n margin: 10px 0;\r\n}\r\n.valPicbox {\r\n border: 1px solid #e7eaec;\r\n}\r\n.valPicbox_pic {\r\n width: 200px;\r\n height: 100px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n ::v-deep .ivu-icon-md-document {\r\n font-size: 70px;\r\n color: #dadada;\r\n }\r\n}\r\n.valPicbox_sp {\r\n display: block;\r\n font-size: 12px;\r\n width: 200px;\r\n padding: 7px;\r\n box-sizing: border-box;\r\n border-top: 1px solid #e7eaec;\r\n}\r\n</style>\r\n"]}]}
|