添加应用分类字典,增加定制方案应用概览
This commit is contained in:
		| @@ -10,7 +10,7 @@ | ||||
|       </template> | ||||
|     </ai-search-bar> | ||||
|     <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :colConfigs="columns" | ||||
|               :size.sync="page.size" border @getList="getTableData" tableSize="mini"> | ||||
|               :size.sync="page.size" border @getList="getTableData" tableSize="mini" :dict="dict"> | ||||
|       <el-table-column slot="chb" width="100px"> | ||||
|         <template #header> | ||||
|           <el-checkbox v-if="multiple" v-model="selectAll" @change="handleCheckAll"/> | ||||
| @@ -40,7 +40,7 @@ export default { | ||||
|       default: () => [ | ||||
|         {prop: 'label', label: "应用名称"}, | ||||
|         {prop: 'project', label: "项目/框架"}, | ||||
|         {prop: 'category', label: "分类"}, | ||||
|         {prop: 'category', label: "分类", dict: "appsCategory"}, | ||||
|         {prop: 'name', label: "模块名"}, | ||||
|       ] | ||||
|     }, | ||||
| @@ -116,6 +116,7 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.dict.load('appsCategory') | ||||
|     this.$set(this.search, this.searchKey, "") | ||||
|     this.getTableData() | ||||
|   } | ||||
|   | ||||
| @@ -24,7 +24,7 @@ export default { | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.dict.load('yesOrNo','systemType') | ||||
|     this.dict.load('yesOrNo', 'systemType', 'appsCategory') | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|   | ||||
| @@ -3,47 +3,54 @@ | ||||
|     <ai-detail> | ||||
|       <ai-title slot="title" :title="pageTitle" isShowBottomBorder/> | ||||
|       <template #content> | ||||
|         <el-form ref="AddForm" :model="form" size="small" label-width="120px" :rules="rules"> | ||||
|           <ai-card title="基本信息"> | ||||
|             <template #content> | ||||
|               <el-form-item label="项目/系统名称" prop="name"> | ||||
|                 <el-input v-model="form.name" placeholder="请输入" clearable/> | ||||
|               </el-form-item> | ||||
|               <el-row type="flex"> | ||||
|                 <div class="fill"> | ||||
|                   <el-form-item label="系统类型" prop="type"> | ||||
|                     <ai-select v-model="form.type" :selectList="dict.getDict('systemType')"/> | ||||
|         <el-tabs tab-position="left"> | ||||
|           <el-tab-pane label="方案设置"> | ||||
|             <el-form ref="AddForm" :model="form" size="small" label-width="120px" :rules="rules"> | ||||
|               <ai-card title="基本信息"> | ||||
|                 <template #content> | ||||
|                   <el-form-item label="项目/系统名称" prop="name"> | ||||
|                     <el-input v-model="form.name" placeholder="请输入" clearable/> | ||||
|                   </el-form-item> | ||||
|                   <el-form-item label="更新项目路径" prop="dist"> | ||||
|                     <el-input v-model="form.dist" placeholder="常填写nginx路径,下载包从这里取" clearable/> | ||||
|                   </el-form-item> | ||||
|                 </div> | ||||
|                 <div class="fill mar-l16"> | ||||
|                   <el-form-item label="库项目根路径" prop="customPath"> | ||||
|                     <el-input v-model="form.customPath" placeholder="请输入" clearable/> | ||||
|                   </el-form-item> | ||||
|                   <el-form-item label="版本号" prop="version"> | ||||
|                     <el-input v-model="form.version" placeholder="请输入" clearable/> | ||||
|                   </el-form-item> | ||||
|                 </div> | ||||
|               </el-row> | ||||
|             </template> | ||||
|           </ai-card> | ||||
|           <ai-card title="主库应用"> | ||||
|             <template #content> | ||||
|               <ai-lib-table v-if="form.type" v-model="form.apps" v-bind="$props" multiple searchKey="name" | ||||
|                             :action="`/node/wechatapps/list?type=${form.type}&isMain=1`"/> | ||||
|               <ai-empty v-else>请先选择系统类型</ai-empty> | ||||
|             </template> | ||||
|           </ai-card> | ||||
|           <ai-card title="扩展设置"> | ||||
|             <template #content> | ||||
|               <el-form-item label="主包应用设置" prop="extra"> | ||||
|                   <el-row type="flex"> | ||||
|                     <div class="fill"> | ||||
|                       <el-form-item label="系统类型" prop="type"> | ||||
|                         <ai-select v-model="form.type" :selectList="dict.getDict('systemType')"/> | ||||
|                       </el-form-item> | ||||
|                       <el-form-item label="更新项目路径" prop="dist"> | ||||
|                         <el-input v-model="form.dist" placeholder="常填写nginx路径,下载包从这里取" clearable/> | ||||
|                       </el-form-item> | ||||
|                     </div> | ||||
|                     <div class="fill mar-l16"> | ||||
|                       <el-form-item label="库项目根路径" prop="customPath"> | ||||
|                         <el-input v-model="form.customPath" placeholder="请输入" clearable/> | ||||
|                       </el-form-item> | ||||
|                       <el-form-item label="版本号" prop="version"> | ||||
|                         <el-input v-model="form.version" placeholder="请输入" clearable/> | ||||
|                       </el-form-item> | ||||
|                     </div> | ||||
|                   </el-row> | ||||
|                 </template> | ||||
|               </ai-card> | ||||
|               <ai-card title="主库应用"> | ||||
|                 <template #content> | ||||
|                   <ai-lib-table v-if="form.type" v-model="form.apps" v-bind="$props" multiple searchKey="name" | ||||
|                                 :action="`/node/wechatapps/list?type=${form.type}&isMain=1`"/> | ||||
|                   <ai-empty v-else>请先选择系统类型</ai-empty> | ||||
|                 </template> | ||||
|               </ai-card> | ||||
|               <ai-card title="扩展设置"> | ||||
|                 <template #content> | ||||
|                   <el-form-item label="主包应用设置" prop="extra"> | ||||
|  | ||||
|               </el-form-item> | ||||
|             </template> | ||||
|           </ai-card> | ||||
|         </el-form> | ||||
|                   </el-form-item> | ||||
|                 </template> | ||||
|               </ai-card> | ||||
|             </el-form> | ||||
|           </el-tab-pane> | ||||
|           <el-tab-pane label="方案应用" lazy> | ||||
|             <ai-table :tableData="appList" :colConfigs="colConfigs" :isShowPagination="false" :dict="dict"/> | ||||
|           </el-tab-pane> | ||||
|         </el-tabs> | ||||
|       </template> | ||||
|       <template #footer> | ||||
|         <el-button @click="back">取消</el-button> | ||||
| @@ -67,6 +74,17 @@ export default { | ||||
|   computed: { | ||||
|     isEdit: v => !!v.$route.query.id, | ||||
|     pageTitle: v => v.isEdit ? "编辑定制方案" : "新增定制方案", | ||||
|     appList() { | ||||
|       return this.form.appList?.map(e => { | ||||
|         e.category = e.libPath.replace(/^\/[^\/]+\/([^\/]+)\/.+/, '$1') | ||||
|         if (/\/project\//.test(e.libPath)) { | ||||
|           e.project = e.libPath.replace(/.*project\/([^\/]+)\/.+/, '$1') | ||||
|         } else if (/\/core\//.test(e.libPath)) { | ||||
|           e.project = "core" | ||||
|         } else e.project = "standard" | ||||
|         return e | ||||
|       }) | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
| @@ -77,6 +95,12 @@ export default { | ||||
|         customPath: {required: true, message: "请输入"}, | ||||
|         extra: {required: true, message: "请设置主页配置"}, | ||||
|       }, | ||||
|       colConfigs: [ | ||||
|         {prop: 'label', label: "应用名称"}, | ||||
|         {prop: 'project', label: "项目/框架"}, | ||||
|         {prop: 'category', label: "分类", dict: "appsCategory"}, | ||||
|         {prop: 'name', label: "模块名"}, | ||||
|       ] | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user