From 2ecd6a1d2501ff0f80d9e177250ce76830436ef5 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期六, 04 十一月 2023 17:23:35 +0800
Subject: [PATCH] 	modified:   src/views/basic/crew/index.vue 	modified:   src/views/basic/location/location-form.vue 	modified:   src/views/basic/post/index.vue 	modified:   src/views/basic/staff/index.vue 	modified:   src/views/technology/operation/operation-form.vue 	modified:   src/views/technology/structure/index.vue 	modified:   src/views/technology/structure/single-structure-form.vue

---
 src/views/basic/param/index.vue |  215 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 204 insertions(+), 11 deletions(-)

diff --git a/src/views/basic/param/index.vue b/src/views/basic/param/index.vue
index c3f0223..c9bffc1 100644
--- a/src/views/basic/param/index.vue
+++ b/src/views/basic/param/index.vue
@@ -1,8 +1,10 @@
 <template>
   <div class="mod-config">
     <basic-container>
-      <ttable
+      <!-- <ttable
         :table="table"
+        :row-key="id"
+        :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
         @handleSelectionChange="handleSelectionChange"
         :uploadInfo="uploadInfo"
         :prelang="prelang"
@@ -11,13 +13,85 @@
         ref="paramTable"
       >
         <template #toolbar></template>
-      </ttable>
+      </ttable> -->
+      <el-row style="margin-left: 10px;">
+        <el-form :inline="true" :model="table" class="demo-form-inline">
+          <el-form-item label="鍙傛暟椤�">
+            <el-input v-model="table.param" placeholder="鍙傛暟椤�"></el-input>
+          </el-form-item>
+          <el-form-item label="鍙傛暟缂栧彿">
+            <el-input v-model="table.code" placeholder="鍙傛暟缂栧彿"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="onSearch">鏌ヨ</el-button>
+          </el-form-item>
+        </el-form>
+      </el-row>
+      <el-row style="margin-left: 10px;height: 80vh;">
+        <el-row>
+          <el-button type="defult" @click="addOrUpdateHandle">鏂板</el-button>
+          <el-button type="defult" @click="onSearch">瀵煎叆</el-button>
+          <!-- <el-button type="defult" @click="isExpandAllClick">灞曞紑/鎶樺彔</el-button> -->
+        </el-row>
+        <el-row style="padding-top: 20px;">
+          <!--    琛ㄦ牸鏁版嵁鍖�-->
+          <el-table height="480" style="width: 100%;" :data="table.data" row-key="id"
+            :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+            <el-table-column type="index" label="搴忓彿" width="50">
+            </el-table-column>
+            <el-table-column prop="code" label="鍙傛暟缂栧彿"></el-table-column>
+            <el-table-column prop="parameterItem" label="鍙傛暟椤�"></el-table-column>
+            <el-table-column prop="type" label="鍙傛暟绫诲瀷">
+              <template slot-scope="scope">
+                <el-col v-show="scope.row.bianJi === false">{{ scope.row.type }}</el-col>
+                <el-col v-show="scope.row.bianJi">
+                  <el-select @change="changeType(scope.row)" v-model="scope.row.type" placeholder="璇烽�夋嫨">
+                    <el-option v-for="item in optionType" :key="item.id" :label="item.label" :value="item.label">
+                    </el-option>
+                  </el-select>
+                </el-col>
+              </template>
+            </el-table-column>
+            <el-table-column prop="parameterFormat" label="鍙傛暟鏍煎紡">
+              <template slot-scope="scope">
+                <el-col v-if="scope.row.bianJi === false">
+                  {{ scope.row.parameterFormat }}
+                </el-col>
+                <el-col style="margin-bottom: 0 !important;" v-if="scope.row.bianJi">
+                  <el-col v-if="scope.row.isSelect === false">
+                    <el-input v-model="scope.row.parameterFormat" placeholder="鍙傛暟鏍煎紡"></el-input>
+                  </el-col>
+                  <el-col v-if="scope.row.isSelect">
+                    <el-select v-model="scope.row.dict" filterable placeholder="璇烽�夋嫨鏁版嵁瀛楀吀" style="width:100%">
+                      <el-option v-for="(item, index) in dictOptions" :label="item.description" :value="item.type"
+                        :key="index">
+                      </el-option>
+                    </el-select>
+                  </el-col>
+                </el-col>
+              </template>
+            </el-table-column>
+            <el-table-column prop="unit" label="鍗曚綅"></el-table-column>
+            <el-table-column prop="code" label="鎿嶄綔">
+              <template slot-scope="scope">
+                <el-row style=" display: flex;width: 100%;">
+                  <el-col><el-button type="text">鍒犻櫎</el-button></el-col>
+                  <el-col v-if="scope.row.isBianji">
+                    <el-button @click="bianji(scope.row)" type="text">{{ scope.row.bianJiBtn }}</el-button>
+                  </el-col>
+                </el-row>
+              </template>
+            </el-table-column>
+          </el-table>
+          <el-row style="display: flex; justify-content: end;">
+            <el-pagination :current-page="table.currentPage" @current-change="handlesCurrentChange"
+              @size-change="sizeChangeHandle" :page-sizes="[10, 20, 50, 100]" :page-size="table.pageSize"
+              layout="total, sizes, prev, pager, next, jumper" :total="table.total"></el-pagination>
+          </el-row>
+        </el-row>
+      </el-row>
       <!-- 寮圭獥, 鏂板 / 淇敼 -->
-      <table-form
-        v-if="addOrUpdateVisible"
-        ref="addOrUpdate"
-        @refreshDataList="getData"
-      ></table-form>
+      <table-form v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getData"></table-form>
     </basic-container>
   </div>
 </template>
@@ -30,6 +104,11 @@
 export default {
   data() {
     return {
+      dictOptions: [],
+      optionType: [],
+      isExpandAll: false,
+      // 閲嶆柊娓叉煋琛ㄦ牸鐘舵��
+      refreshTable: true,
       ajaxFun: fetchList,
       typeOptions: [],
       multipleSelection: [],
@@ -47,14 +126,16 @@
         border: true, // 鏄惁鏈夌旱鍚戣竟妗�
         lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇
         fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮�
-        multiSelect: true, //
+        multiSelect: false, //
         seqNo: true,
         isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳
-        isSearch: true, // 楂樼骇鏌ヨ鎸夐挳
+        isSearch: false, // 楂樼骇鏌ヨ鎸夐挳
         defaultOrderBy: { column: 'createTime', direction: 'desc' }
       },
       table: {
+        param: null,
         total: 0,
+        code: null,
         currentPage: 1,
         pageSize: 20,
         data: [],
@@ -77,6 +158,24 @@
             sort: true,
             isTrue: true,
             isSearch: true,
+            searchInfoType: 'text'
+          },
+          {
+            minWidth: '120',
+            prop: 'second',
+            label: '浜岀骇鍙傛暟',
+            sort: true,
+            isTrue: true,
+            isSearch: false,
+            searchInfoType: 'text'
+          },
+          {
+            minWidth: '130',
+            prop: 'third',
+            label: '涓夌骇鍙傛暟',
+            sort: true,
+            isTrue: true,
+            isSearch: false,
             searchInfoType: 'text'
           },
           {
@@ -181,12 +280,98 @@
     ...mapGetters(['permissions'])
   },
   created() {
+    this.getDictOptions()
     this.getParamType()
+    this.getData()
   },
   methods: {
+    // 鑾峰彇鎵�鏈夊瓧鍏�
+    getDictOptions() {
+      fetchList(
+        Object.assign({
+          current: 1,
+          size: 200
+        })
+      ).then((response) => {
+        if (response.data.code === 0) {
+          this.dictOptions = response.data.data.records
+        }
+      })
+    },
+    changeType(row) {
+      if(row.type==='涓嬫媺閫夐」'){
+        row.isSelect=true
+      }else{
+        row.isSelect=false
+      }
+    },
+    bianji(row) {
+      if (!row.bianJi) {
+        row.bianJi = true
+        row.bianJiBtn = '淇濆瓨'
+      } else {
+        row.bianJi = false
+        row.isSelect=false
+        row.bianJiBtn = '缂栬緫'
+      }
+    },
+    isExpandAllClick() {
+      // console.log(1111);
+      this.isExpandAll = !this.isExpandAll;
+      this.$nextTick(() => {
+        this.refreshTable = true;
+      });
+      // console.log(this.isExpandAll);
+    },
+    handlesCurrentChange() { },
+    sizeChangeHandle() { },
+    onSearch() { },
     // 鑾峰彇鏁版嵁鍒楄〃
     getData() {
-      this.$refs.paramTable.getDataList()
+      let param = {
+        parentId: 0,
+        code: this.table.code,
+        size: this.table.pageSize,
+        current: this.table.currentPage,
+        parameterItem: this.table.param
+      }
+      fetchList(param).then((res) => {
+        console.log(res.data);
+        this.table.total = res.data.data.total
+        // this.table.data = res.data.data.records
+        this.$nextTick(() => {
+          let datas = JSON.parse(JSON.stringify(res.data.data.records))
+          datas.forEach(l => {
+            l.bianJi = false
+            l.isSelect=false
+            if (l.children.length < 1) {
+              l.isBianji = true
+              l.bianJiBtn = '缂栬緫'
+            } else {
+              l.isBianji = false
+              l.children.forEach(c => {
+                c.isSelect=false
+                c.bianji = false
+                if (c.children.length < 1) {
+                  c.isBianji = true
+                  c.bianJiBtn = '缂栬緫'
+                } else {
+                  l.isBianji = false
+                  c.children.forEach(cc => {
+                    cc.isSelect=false
+                    cc.bianJi = false
+                    cc.isBianji = true
+                    cc.bianJiBtn = '缂栬緫'
+                  })
+                }
+              })
+            }
+          })
+          console.log("test==>", datas);
+          this.table.data = datas
+          console.log(this.table.data);
+        });
+      })
     },
     // 鏂板 / 淇敼
     addOrUpdateHandle(row) {
@@ -200,6 +385,7 @@
       remote('technology_param').then((response) => {
         if (response.data.code === 0) {
           this.typeOptions = response.data.data
+          this.optionType = response.data.data
         }
       })
     },
@@ -222,7 +408,7 @@
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       })
-        .then(function() {
+        .then(function () {
           return delObj(row.id)
         })
         .then((data) => {
@@ -233,3 +419,10 @@
   }
 }
 </script>
+<style scoped>
+table,
+tr,
+td {
+  text-align: center;
+}
+</style>

--
Gitblit v1.9.3