Zn 1 éve
szülő
commit
19ca40497e
1 módosított fájl, 188 hozzáadás és 44 törlés
  1. 188 44
      ruoyi-ui/src/views/tableMange/index.vue

+ 188 - 44
ruoyi-ui/src/views/tableMange/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <el-row :gutter="20">
-      <el-col :span="18" :class="{edit: menudata}">
+      <el-col :span="18" :class="{ edit: menudata }">
         <el-card shadow="always" :body-style="{ padding: '20px' }">
           <template #header>
             <div>
@@ -63,7 +63,18 @@
             <el-table-column prop="fieldDescription" label="字段描述">
               <template slot-scope="scope">
                 <!-- <el-form-item size="normal" prop="fieldDescription"> -->
-                <input  :class="{isNullDesc : scope.row.fieldDescription == ''&& scope.row.isShow && isInputInvalid ? true : false, ipt:true}" v-model="scope.row.fieldDescription" />
+                <input
+                  :class="{
+                    isNullDesc:
+                      scope.row.fieldDescription == '' &&
+                      scope.row.isShow &&
+                      isInputInvalid
+                        ? true
+                        : false,
+                    ipt: true,
+                  }"
+                  v-model="scope.row.fieldDescription"
+                />
 
                 <!-- <el-input v-model="scope.row.fieldDescription" /> -->
                 <!-- </el-form-item> -->
@@ -201,7 +212,7 @@
           <!-- </el-form> -->
         </el-card>
       </el-col>
-      <el-col :span="6" :class="{menudata: menudata}">
+      <el-col :span="6" :class="{ menudata: menudata }">
         <el-tabs v-model="activeName" @tab-click="tabhandleClick">
           <el-tab-pane label="菜单编辑" name="menuedit">
             <el-card shadow="always" :body-style="{ padding: '10px' }">
@@ -277,8 +288,12 @@
                   </el-select>
                 </el-form-item>
                 <el-form-item label="排序方式" v-show="formData.orderByColumn">
-                  <el-radio v-model="formData.isAsc" label="ASC">升序</el-radio>
-                  <el-radio v-model="formData.isAsc" label="DESC">降序</el-radio>
+                  <el-radio v-model="formData.isAsc" :label="false"
+                    >升序</el-radio
+                  >
+                  <el-radio v-model="formData.isAsc" :label="true"
+                    >降序</el-radio
+                  >
                 </el-form-item>
                 <el-form-item>
                   <el-button size="mini" @click="previewHandle">预览</el-button>
@@ -299,36 +314,51 @@
             >
               添加数据字段
             </el-button>
+<<<<<<< HEAD
             
             <!-- <el-button size="mini" type="primary" @click=countHandle>确定统计</el-button> -->
          
+=======
+
+            <el-button size="mini" type="primary" @click="countHandle"
+              >确定统计</el-button
+            >
+
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
             <el-table
               :data="dragTableStatisticList"
               border
               class="mb10"
+              style="width: 100%"
+            >
+              <!-- <el-table-column prop="number" label="序号" width="50"> -->
               style="width: 100%">
               <el-table-column
                 type="index"
                 label="序号"
                 width="50"
                 class-name="allowDrag"
-                >
+              >
               </el-table-column>
+              <!-- <el-table-column prop="datafield" label="数据字段" width="80"> -->
               <el-table-column
                 prop="statisticTitle"
                 label="统计标题"
-                width="83">
+                width="83"
+              >
               </el-table-column>
               <el-table-column
                 prop="statisticField"
                 label="统计数据"
-                width="80">
+                width="80"
+              >
               </el-table-column>
-              <el-table-column
-                prop="statisticType"
-                label="统计类型"
-                width="50">
+              <!-- <el-table-column prop="type" label="类型" width="50"> -->
+              <el-table-column prop="statisticType" label="统计类型" width="50">
+              </el-table-column>
+              <el-table-column prop="statuscode" label="状态码" width="70">
               </el-table-column>
+              <!-- <el-table-column prop="title" label="标题" width="83"> -->
               <!-- <el-table-column
                 prop="statuscode"
                 label="状态码"
@@ -337,12 +367,15 @@
               <el-table-column
                 prop="statisticDescription"
                 label="统计描述"
-                width="150">
+                width="150"
+              >
               </el-table-column>
+              <!-- <el-table-column prop="description" label="描述" width="150"> -->
               <el-table-column
                 prop="statisticObject"
                 label="统计对象"
-                width="150">
+                width="150"
+              >
               </el-table-column>
               <el-table-column
                   label="操作"
@@ -378,7 +411,6 @@
                   </template>
                </el-table-column>
             </el-table>
-
           </el-tab-pane>
         </el-tabs>
       </el-col>
@@ -576,28 +608,56 @@
     <el-dialog
       :title="staictitle"
       :visible.sync="isShowAddData"
+<<<<<<< HEAD
       width="30%">
       
       <el-form 
       label-width="100px" 
       :model="dataCountFormData">
+=======
+      width="30%"
+    >
+      <!-- <el-form label-width="100px" :model="dataCountFormData">
+        <el-form-item label="数据字段">
+          <el-select
+            v-model="dataCountFormData.datafield"
+            placeholder="请选择数据字段"
+          >
+            <el-option
+              v-for="item in dataArr"
+              :key="item.id"
+              :label="item.fieldName"
+              :value="item.fieldName"
+            >
+            </el-option>
+      width="30%"> -->
+
+      <el-form label-width="100px" :model="dataCountFormData">
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
         <el-form-item label="统计标题" prop="statisticTitle">
           <el-input v-model="dataCountFormData.statisticTitle"></el-input>
         </el-form-item>
 
         <el-form-item label="统计数据">
-          <el-select 
-          v-model="dataCountFormData.statisticField" 
-          placeholder="请选择统计字段">
-            <el-option 
-            v-for="item in dataArr"
-            :key="item.id"
-            :label="item.fieldName" 
-            :value="item.fieldName">
+          <el-select
+            v-model="dataCountFormData.statisticField"
+            placeholder="请选择统计字段"
+          >
+            <el-option
+              v-for="item in dataArr"
+              :key="item.id"
+              :label="item.fieldName"
+              :value="item.fieldName"
+            >
             </el-option>
           </el-select>
         </el-form-item>
+        <!-- <el-form-item label="类型">
+          <el-select v-model="dataCountFormData.type" placeholder="请选择类型">
+            <el-option label="数量" value="num"></el-option>
+            <el-option label="状态" value="status"></el-option> -->
         <el-form-item label="统计类型">
+<<<<<<< HEAD
           <el-select 
           v-model="dataCountFormData.statisticType" 
           placeholder="请选择统计类型">
@@ -605,6 +665,40 @@
             <!-- <el-option label="状态" value="status"></el-option> -->
           </el-select>
         </el-form-item>
+=======
+          <el-select
+            v-model="dataCountFormData.statisticType"
+            placeholder="请选择统计类型"
+          >
+            <el-option
+              v-for="item in dataType"
+              :key="item.dictCode"
+              :label="item.dictLabel"
+              :value="item.dictLabel"
+            ></el-option>
+            <!-- <el-option label="状态" value="status"></el-option> -->
+          </el-select>
+        </el-form-item>
+
+        <!-- <el-form-item
+          label="状态码"
+          v-show="dataCountFormData.type === 'status'"
+        >
+          <el-select
+            v-model="dataCountFormData.statuscode"
+            placeholder="请选择状态码"
+          > -->
+        <!-- 
+        <el-form-item label="状态码" v-show="dataCountFormData.statisticType === 'status' ">
+          <el-select 
+          v-model="dataCountFormData.statuscode" 
+          placeholder="请选择状态码">
+            <el-option label="已完成" value="1"></el-option>
+            <el-option label="未完成" value="0"></el-option>
+          </el-select>
+        </el-form-item>
+        -->
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
 
         <el-form-item label="统计描述" prop="statisticDescription">
           <el-input v-model="dataCountFormData.statisticDescription"></el-input>
@@ -749,7 +843,7 @@ export default {
         isShowList: true,
         timeFormate: "",
         orderByColumn: "",
-        isAsc: "ASC",
+        isAsc: false,
         primaryKey: "",
       },
       rules: {
@@ -777,7 +871,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         orderByColumn: "",
-        isAsc: "DESC",
+        isAsc: false,
         basicMap: {
           sql: "",
         },
@@ -787,7 +881,7 @@ export default {
       editData: {},
       menuOrderNum: 0,
       // tab动态切换
-      activeName: 'menuedit', 
+      activeName: "menuedit",
       // 数据统计对象
       dataCountFormData: {},
       // 添加数据统计表格
@@ -799,14 +893,18 @@ export default {
       menudata: false,
       // 显示添加字段对话框
       isShowAddData: false,
+<<<<<<< HEAD
       dataType : [],
       uuid: '',
+=======
+      dataType: [],
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
     };
   },
   computed: {
     // 数据字段
-    dataArr(){
-      return this.tableFieldList.filter(item => item.isShow)
+    dataArr() {
+      return this.tableFieldList.filter((item) => item.isShow);
     },
     ...mapState({
       databaseName: (state) => state.user.dataSource.databaseName,
@@ -894,7 +992,7 @@ export default {
       console.log(data);
       // 获取当前表单结构信息
       getListName(data).then((res) => {
-        console.log(res)
+        console.log(res);
         this.tableFieldList = res.map((item, index) => {
           return {
             id: this.tableName + "_" + item.fieldName,
@@ -1415,9 +1513,15 @@ export default {
     },
     // 创建回调
     async createHandle() {
+<<<<<<< HEAD
       // console.log(123);
       // this.sqlKey = uuidv4();
       this.isInputInvalid = true
+=======
+      console.log(123);
+      this.tableKey = uuidv4();
+      this.isInputInvalid = true;
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
       this.$refs.formData.validate(async (valid) => {
         if (valid) {
           // 检验表单合法性
@@ -1564,8 +1668,14 @@ export default {
               item.tableKey = this.tableKey
             })
 
+<<<<<<< HEAD
             if(res.code == 200 && this.dragTableStatisticList.length !== 0){
               this.countHandle()
+=======
+            console.log("res", res);
+            if (res.code == 200) {
+              this.countHandle();
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
             }
             // 关闭当前页面
             if (this.tId) {
@@ -1662,13 +1772,20 @@ export default {
     },
     // tab切换
     tabhandleClick() {
-      this.menudata = this.activeName === 'datacount' ? true : false;
+      this.menudata = this.activeName === "datacount" ? true : false;
     },
     // 添加数据字段对话框
     async addDataDialog() {
-      this.isShowAddData = true
-      this.dataType = await this.getDicts("table_statistic_type")
-      this.dataType = this.dataType.data
+      this.isShowAddData = true;
+      this.dataType = await this.getDicts("table_statistic_type");
+      this.dataType = this.dataType.data;
+      // console.log(this.dataType)
+    },
+    // 添加数据字段对话框
+    async addDataDialog() {
+      this.isShowAddData = true;
+      this.dataType = await this.getDicts("table_statistic_type");
+      this.dataType = this.dataType.data;
       // console.log(this.dataType)
     },
     // 修改数据字段
@@ -1678,18 +1795,35 @@ export default {
       this.dataCountFormData = {}
     },
     // 添加数据字段
+<<<<<<< HEAD
     addData(){
       this.dataCountFormData.tableKey = this.tableKey
       this.dragTableStatisticList.push(this.dataCountFormData)
       this.isShowAddData = false
       this.dataCountFormData = {}
+=======
+    addData() {
+      this.dataCountFormData.number = this.datacountTable.length + 1;
+      console.log(this.dataCountFormData);
+      this.dataCountFormData.type =
+        this.dataCountFormData.type == "num" ? "数量" : "状态";
+      if (this.dataCountFormData.type == "status") {
+        this.dataCountFormData.statuscode =
+          this.dataCountFormData.type == "1" ? "已完成" : "未完成";
+      }
+
+      this.datacountTable.push(this.dataCountFormData);
+      this.isShowAddData = false;
+      this.dataCountFormData = {};
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
     },
     // 关闭添加数据字段
-    closeAddDialog(){
-      this.isShowAddData = false
-      this.dataCountFormData = {}
+    closeAddDialog() {
+      this.isShowAddData = false;
+      this.dataCountFormData = {};
     },
     // 确定统计
+<<<<<<< HEAD
     countHandle(){
       addStatistic({
         dragTableStatisticList: this.dragTableStatisticList,
@@ -1715,6 +1849,16 @@ export default {
           this.dragTableStatisticList.splice(index, 1);
         }
       })
+=======
+    // countHandle() {
+    //   if (this.datacountTable.length == 0) {
+    countHandle() {
+      if (this.dragTableStatisticList.length == 0) {
+        this.$message.warning("请确定统计数据字段");
+        return;
+      }
+      console.log("确定统计");
+>>>>>>> 6e9cfa0f11bfcd282d3ae391fde4b25bfa0231bd
     },
   },
   created() {},
@@ -1731,7 +1875,7 @@ export default {
 </script>
 
 <style scoped lang="scss">
-.ipt{
+.ipt {
   height: 36px;
   line-height: 36px;
   font-size: 14px;
@@ -1739,16 +1883,16 @@ export default {
   outline: none;
   text-align: center;
   background-color: #fff;
-  border: 1px solid #DCDFE6;
+  border: 1px solid #dcdfe6;
   color: #606266;
   display: inline-block;
   border-radius: 4px;
 }
-.isNullDesc{
-  border-color: #FF4949 !important;
+.isNullDesc {
+  border-color: #ff4949 !important;
 }
 
-.ipt:focus{
+.ipt:focus {
   border-color: #1890ff;
 }
 ::v-deep .right_card {
@@ -1757,13 +1901,13 @@ export default {
 ::v-deep .vue-treeselect--has-value .vue-treeselect__input {
   vertical-align: middle !important;
 }
-.menudata{
+.menudata {
   width: 30% !important;
 }
-.edit{
+.edit {
   width: 70% !important;
 }
-.mb10{
+.mb10 {
   margin-top: 10px;
 }
 .cardBox {