Browse Source

模板管理

xiaoqiao 1 year ago
parent
commit
b2c35eb825

+ 7 - 0
src/main/java/com/bowintek/practice/controller/TempController.java

@@ -76,4 +76,11 @@ public class TempController {
         }
         return RespGenerstor.success(rtnObject);
     }
+    @ResponseBody
+    @PostMapping("/deletes")
+    public BaseResponse delete(@RequestBody List<String> idList) {
+        Integer result = tempService.deleteTemp(idList);
+
+        return RespGenerstor.success(result);
+    }
 }

+ 22 - 13
src/main/java/com/bowintek/practice/services/impl/TempServiceImpl.java

@@ -48,7 +48,7 @@ public class TempServiceImpl implements TempService {
     }
 
     @Override
-    public TempObjectModel getTemp(String tempId){
+    public TempObjectModel getTemp(String tempId) {
         TempObjectModel data = new TempObjectModel();
         data.temp = srSaerchtempMapper.selectByPrimaryKey(tempId);
         data.sub = srSubjectMapper.selectByPrimaryKey(data.temp.getSubId());
@@ -60,18 +60,27 @@ public class TempServiceImpl implements TempService {
     }
 
     @Override
-    public TempSaveResult saveTemp(TempObjectModel data, String userID){
+    public int deleteTemp(List<String> idList) {
+        tempCQuery.deletesDimensionByTempId(idList);
+        tempCQuery.deletesFieldByTempId(idList);
+        tempCQuery.deletesMeasureByTempId(idList);
+        SrSaerchtempExample example=new SrSaerchtempExample();
+        example.or().andTempIdIn(idList);
+        return srSaerchtempMapper.deleteByExample(example);
+    }
+
+    @Override
+    public TempSaveResult saveTemp(TempObjectModel data, String userID) {
         TempSaveResult rtn = new TempSaveResult();
         //保存模板主表
-        if(data.temp.getTempId().isEmpty()){
+        if (data.temp.getTempId().isEmpty()) {
             rtn.tempId = UUID.randomUUID().toString();
             data.temp.setTempId(UUID.randomUUID().toString());
             data.temp.setCreateTime(new Date());
             data.temp.setCreatedBy(userID);
             data.temp.setStatus(0);
             rtn.effectCount += srSaerchtempMapper.insert(data.temp);
-        }
-        else{
+        } else {
             rtn.tempId = data.temp.getTempId();
             data.temp.setModifyTime(new Date());
             data.temp.setModifyBy(userID);
@@ -82,15 +91,15 @@ public class TempServiceImpl implements TempService {
             tempCQuery.deletesMeasureByTempId(Arrays.asList(data.temp.getTempId()));
         }
 
-        data.bases.forEach(row->{
+        data.bases.forEach(row -> {
             row.setTempFeildId(UUID.randomUUID().toString());
             row.setTempId(data.temp.getTempId());
         });
-        data.wheres.forEach(row->{
+        data.wheres.forEach(row -> {
             row.setTempFeildId(UUID.randomUUID().toString());
             row.setTempId(data.temp.getTempId());
         });
-        data.measures.forEach(row->{
+        data.measures.forEach(row -> {
             row.setTempFeildId(UUID.randomUUID().toString());
             row.setTempId(data.temp.getTempId());
         });
@@ -107,7 +116,7 @@ public class TempServiceImpl implements TempService {
     public List<HashMap<String, Object>> getSubjectTree(String likeName) {
         List<HashMap<String, Object>> subjectTrees = subjectCQuery.getListToHashMap(likeName);
         List<String> subIdList = subjectTrees.stream()
-                .map(m->m.get("subId").toString())
+                .map(m -> m.get("subId").toString())
                 .collect(Collectors.toList());
         List<HashMap<String, Object>> subFields = subjectCQuery.getSubjectFieldToHashMapList(subIdList);
 
@@ -123,14 +132,14 @@ public class TempServiceImpl implements TempService {
             HashMap<String, Object> dimension = new HashMap<>();
             dimension.put("title", "维度");
             dimension.put("key", sub.get("subId").toString() + "-维度");
-            dimension.put("children", findSubjectFields(subFields, subId, Arrays.asList(new Integer[]{1}),subjectName, "维度"));
+            dimension.put("children", findSubjectFields(subFields, subId, Arrays.asList(new Integer[]{1}), subjectName, "维度"));
             groups.add(dimension);
 
             //生成度量
             HashMap<String, Object> measure = new HashMap<>();
             measure.put("title", "度量");
             measure.put("key", sub.get("subId").toString() + "-度量");
-            measure.put("children", findSubjectFields(subFields, subId, Arrays.asList(new Integer[]{2}),subjectName, "度量"));
+            measure.put("children", findSubjectFields(subFields, subId, Arrays.asList(new Integer[]{2}), subjectName, "度量"));
             groups.add(measure);
 
             sub.put("children", groups);
@@ -143,10 +152,10 @@ public class TempServiceImpl implements TempService {
                                                            String subId,
                                                            List<Integer> queryTypeIds,
                                                            String subjectName,
-                                                           String groupName){
+                                                           String groupName) {
         List<HashMap<String, Object>> fields = subFields.stream()
                 .filter(x -> subId.equals((String) x.get("subId"))
-                        && queryTypeIds.indexOf(x.get("settingTypeId"))>=0)
+                        && queryTypeIds.indexOf(x.get("settingTypeId")) >= 0)
                 .collect(Collectors.toList());
 
         //生成树标题,key

+ 1 - 0
src/main/java/com/bowintek/practice/services/service/TempService.java

@@ -16,4 +16,5 @@ public interface TempService {
     List<HashMap<String,Object>> getSubjectTree(String likeName);
     TempSaveResult saveTemp(TempObjectModel data, String userID);
     TempObjectModel getTemp(String tempId);
+    int deleteTemp(List<String> idList);
 }

+ 21 - 8
vue/src/views/query/table.vue

@@ -35,12 +35,17 @@
             <a-radio-button value="list">列表</a-radio-button>
             <a-radio-button value="card">卡片</a-radio-button>
           </a-radio-group>
-          <a-button type="primary" html-type="button" @click="add" functioncode="T010601">
+          <a-button type="primary" html-type="button" @click="add">
             <template #icon>
               <PlusOutlined  />
             </template>
             添加搜索模板
           </a-button>
+          <a-popconfirm placement="leftTop"
+                        title="是否删除模板?"
+                        @confirm="onDelete()">
+            <a-button type="primary" style="margin: 0 8px" html-type="button">删除</a-button>
+          </a-popconfirm>
         </a-col>
       </a-row>
     </a-form>
@@ -50,11 +55,15 @@
         <a-col :span="6" v-for="item in data">
           <a-card :title="item.tempName" >
             <template #extra>
-              <a href="#">查看详情</a>
+              <a-button type="link" @click="edit(item.tempId)">查看详情</a-button>
             </template>
             <template class="ant-card-actions" #actions>
-              <edit-outlined key="edit" @click="edit(item.tempId)"/>
-              <ellipsis-outlined key="ellipsis" @click="edit(item.tempId)"/>
+              <FormOutlined  key="edit" @click="edit(item.tempId)"/>
+              <a-popconfirm placement="leftTop"
+                            title="是否删除数据?"
+                            @confirm="deleteSingle(item.tempId)">
+                <DeleteOutlined  key="ellipsis"/>
+              </a-popconfirm>
             </template>
             <a-popover title="详细信息" :visible="item.visible">
               <template #content>
@@ -82,7 +91,7 @@
     <div class="search-result-list" v-else="viewModel=='list'">
       <a-table :columns="columns" :data-source="data" :scroll="{ x:'100%', y: 500 }"
                :loading="loading"
-               :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :row-key="record=>record.positionID"
+               :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" :row-key="record=>record.tempId"
                bordered>
         <template #bodyCell="{ column,record }">
           <template v-if="column.key === 'operation'">
@@ -121,7 +130,6 @@ export default defineComponent({
     const tabsViewStore = useTabsViewStore();
     const selectedRowKeys = ref([]);
     const viewModel = ref("card");
-    const sizeOption=ref(['10', '20', '30', '40', '50']);
     const formState = reactive({
       page: 1, rows: 10, tempName: '', tempNo: '', tempId: "", total: 0, isPostManage: true
     });
@@ -187,6 +195,11 @@ export default defineComponent({
         loadData();
       })
     };
+    const deleteSingle=(id:string)=>{
+      postdel('temp/deletes', [id]).then(() => {
+        loadData();
+      })
+    }
     const add = () => {
       tabsViewStore.addTabByPath('/query/index', {});
     };
@@ -201,14 +214,14 @@ export default defineComponent({
       route,
       expand,
       formRef,
-      formState, viewModel, dayjs,sizeOption,
+      formState, viewModel, dayjs,
       columns, data, loading, selectedRowKeys,
       pagination,
       handleTableChange,
       onSelectChange,
       onFinish,
       loadData,
-      add,
+      add,deleteSingle,
       edit, onDelete
     };
   },