index.vue 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <template>
  2. <el-main>
  3. <el-card shadow="never">
  4. <el-tabs tab-position="top">
  5. <el-tab-pane label="系统设置">
  6. <el-form ref="form" :model="sys" label-width="100px" style="margin-top: 20px;">
  7. <el-form-item label="系统名称">
  8. <el-input v-model="sys.name"></el-input>
  9. </el-form-item>
  10. <el-form-item label="LogoUrl">
  11. <el-input v-model="sys.logoUrl"></el-input>
  12. </el-form-item>
  13. <el-form-item label="登录开关">
  14. <el-switch v-model="sys.login"></el-switch>
  15. <div class="el-form-item-msg" data-v-b33b3cf8="">关闭后普通用户无法登录,仅允许管理员角色登录</div>
  16. </el-form-item>
  17. <el-form-item label="密码验证规则">
  18. <el-input v-model="sys.passwordRules"></el-input>
  19. </el-form-item>
  20. <el-form-item label="版权信息">
  21. <el-input type="textarea" :autosize="{minRows: 4}" v-model="sys.copyright"></el-input>
  22. </el-form-item>
  23. <el-form-item>
  24. <el-button type="primary">保存</el-button>
  25. </el-form-item>
  26. </el-form>
  27. </el-tab-pane>
  28. <el-tab-pane label="短信配置">
  29. <el-form ref="form" :model="msg" label-width="100px" style="margin-top: 20px;">
  30. <el-form-item label="短信开关">
  31. <el-switch v-model="msg.open"></el-switch>
  32. <div class="el-form-item-msg" data-v-b33b3cf8="">关闭后用户无法收到短信,但日志中将记录</div>
  33. </el-form-item>
  34. <el-form-item label="appKey">
  35. <el-input v-model="msg.appKey"></el-input>
  36. </el-form-item>
  37. <el-form-item label="secretKey">
  38. <el-input v-model="msg.secretKey"></el-input>
  39. </el-form-item>
  40. <el-form-item>
  41. <el-button type="primary">保存</el-button>
  42. </el-form-item>
  43. </el-form>
  44. </el-tab-pane>
  45. <el-tab-pane label="扩展配置">
  46. <el-alert title="扩展配置为系统业务所有的配置,应该由系统管理员操作,如需用户配置应另起业务配置页面。" type="warning" style="margin-bottom: 15px;"></el-alert>
  47. <el-table :data="setting" stripe>
  48. <el-table-column label="#" type="index" width="50"></el-table-column>
  49. <el-table-column label="KEY" prop="key" width="150">
  50. <template #default="scope">
  51. <el-input v-if="scope.row.isSet" v-model="scope.row.key" placeholder="请输入内容"></el-input>
  52. <span v-else>{{scope.row.key}}</span>
  53. </template>
  54. </el-table-column>
  55. <el-table-column label="VALUE" prop="value" width="350">
  56. <template #default="scope">
  57. <template v-if="scope.row.isSet">
  58. <el-switch v-if="typeof scope.row.value==='boolean'" v-model="scope.row.value"></el-switch>
  59. <el-input v-else v-model="scope.row.value" placeholder="请输入内容"></el-input>
  60. </template>
  61. <span v-else>{{scope.row.value}}</span>
  62. </template>
  63. </el-table-column>
  64. <el-table-column label="CATEGORY" prop="category" width="150">
  65. <template #default="scope">
  66. <el-input v-if="scope.row.isSet" v-model="scope.row.category" placeholder="请输入内容"></el-input>
  67. <span v-else>{{scope.row.category}}</span>
  68. </template>
  69. </el-table-column>
  70. <el-table-column label="TITLE" prop="title" width="350">
  71. <template #default="scope">
  72. <el-input v-if="scope.row.isSet" v-model="scope.row.title" placeholder="请输入内容"></el-input>
  73. <span v-else>{{scope.row.title}}</span>
  74. </template>
  75. </el-table-column>
  76. <el-table-column min-width="1"></el-table-column>
  77. <el-table-column label="操作" fixed="right" width="120">
  78. <template #default="scope">
  79. <el-button-group>
  80. <el-button @click="table_edit(scope.row, scope.$index)" text type="primary" size="small">{{scope.row.isSet?'保存':"修改"}}</el-button>
  81. <el-button v-if="scope.row.isSet" @click="scope.row.isSet=false" text type="primary" size="small">取消</el-button>
  82. <el-popconfirm v-if="!scope.row.isSet" title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
  83. <template #reference>
  84. <el-button text type="primary" size="small">删除</el-button>
  85. </template>
  86. </el-popconfirm>
  87. </el-button-group>
  88. </template>
  89. </el-table-column>
  90. </el-table>
  91. <el-button type="primary" icon="el-icon-plus" @click="table_add" style="margin-top: 20px;"></el-button>
  92. </el-tab-pane>
  93. </el-tabs>
  94. </el-card>
  95. </el-main>
  96. </template>
  97. <script>
  98. export default {
  99. name: 'system',
  100. data() {
  101. return {
  102. sys: {
  103. name: "SCUI",
  104. logoUrl: "",
  105. login: true,
  106. passwordRules: "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$",
  107. copyright: "@SCUI"
  108. },
  109. msg: {
  110. open: true,
  111. appKey: "",
  112. secretKey: ""
  113. },
  114. setting: [
  115. {
  116. key: "file_serve",
  117. value: "https://file.scui.com",
  118. category: "url",
  119. title: "文件服务器地址"
  120. },
  121. {
  122. key: "cloud_url",
  123. value: "-",
  124. category: "url",
  125. title: "客户端地址"
  126. },
  127. {
  128. key: "crm_url",
  129. value: "-",
  130. category: "url",
  131. title: "CRM地址"
  132. },
  133. {
  134. key: "autoSwitch",
  135. value: true,
  136. category: "user",
  137. title: "自动判断boolean类型"
  138. }
  139. ]
  140. }
  141. },
  142. methods: {
  143. table_add(){
  144. var newRow = {
  145. key: "",
  146. value: "",
  147. title: "",
  148. isSet: true
  149. }
  150. this.setting.push(newRow)
  151. },
  152. table_edit(row){
  153. if(row.isSet){
  154. row.isSet = false
  155. }else{
  156. row.isSet = true
  157. }
  158. },
  159. table_del(row, index){
  160. this.setting.splice(index, 1)
  161. },
  162. }
  163. }
  164. </script>
  165. <style>
  166. </style>