From c55f83b7af3edda89984979d9a24c4cd3a6f5205 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 05 七月 2023 09:42:57 +0800
Subject: [PATCH] 主数据列表展示

---
 Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue |   20 +++++++---
 Source/UBCS-WEB/src/components/work/BusinessWork.vue  |   97 ++++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 94 insertions(+), 23 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
index 21a5b5f..cb47ef6 100644
--- a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue
@@ -59,7 +59,7 @@
             :label="item.label"
             :prop="item.prop"
             :sortable="item.sortable"
-            :formatter="formatBoolean"
+            :formatter="item.formatter"
             :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'"
             :show-overflow-tooltip="true"
             align="center"
@@ -154,6 +154,7 @@
 import SetPersonnel from "@/components/template/SetPersonnel";
 import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
 import BatchImport from '@/components/BatchImport'
+import { validatenull } from "@/util/validate";
 export default {
   components: {
     integrationTransfer,
@@ -278,6 +279,17 @@
     },
     tableHeadFindData: {
       handler(newval, oldval) {
+        newval.forEach((record,_index) =>{
+          if(record.field == 'id' && validatenull(record.templet)){
+            //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
+            record.formatter = '';
+          }else {
+            if (record.templet && typeof (record.templet) == 'string' && !validatenull(record.templet) && record.templet.indexOf("function(row,column)")>-1) {
+              record.formatter = eval("(" + record.templet + ")");
+              //function(row,column){return row[column.property]=='true'?'鏄�':'鍚�'}
+            }
+          }
+        })
         this.tableHeadFindDatas = newval;
       },
     },
@@ -296,11 +308,7 @@
   methods: {
     // 杞崲鏁版嵁true鍜宖alse
     formatBoolean(row, column) {
-      if (column.property === "xiaoshouwl"
-        ||column.property === "shifoupihaoguanli"
-        ||column.property === "caigouwl"
-        ||column.property === "kucunwl"
-        ||column.property === "passing") {
+      if (column.fieldType === "truefalse") {
         return row[column.property] =='true'? "鏄�" : "鍚�";
       }
       return row[column.property];
diff --git a/Source/UBCS-WEB/src/components/work/BusinessWork.vue b/Source/UBCS-WEB/src/components/work/BusinessWork.vue
index 4968fdf..4f0b688 100644
--- a/Source/UBCS-WEB/src/components/work/BusinessWork.vue
+++ b/Source/UBCS-WEB/src/components/work/BusinessWork.vue
@@ -1,17 +1,38 @@
 <template>
 <div>
-  <el-button @click="HandlerRend"></el-button>
-  <el-table :data="data">
-    <el-table-column
-      fixed
-      type="selection"
-      width="55">
+  <el-button  @click="HandlerRend" size="small" type="primary">淇濆瓨</el-button>
+  <el-table
+    v-loading="isLoading"
+    :data="tableData"
+    max-height="700"
+    style=""
+    @cell-click="handleCellClick"
+  >
+    <el-table-column fixed type="selection" width="55"> </el-table-column>
+    <el-table-column fixed label="搴忓彿" type="index" width="55">
     </el-table-column>
     <el-table-column
-      fixed
-      label="搴忓彿"
-      type="index"
-      width="55">
+      v-for="item in this.tableHeadData"
+      :key="item.id"
+      :label="item.label"
+      :prop="item.prop"
+      :sortable="item.sortable"
+      :formatter="item.formatter"
+      :width="item.label.length >=4 ?'150':item.label.length==3 ?'120':'90'"
+      :show-overflow-tooltip="true"
+      align="center"
+    >
+      <!-- 缂栬緫鍜屽睍绀洪�昏緫 -->
+      <!--              <template slot-scope="{ row }">-->
+      <!--                <el-input v-if="editingRow === row && editShow== item.prop" v-model="row[item.prop]" @blur="saveRow"></el-input>-->
+      <!--                <span v-else>{{row[item.prop]}}</span>-->
+      <!--                <el-switch-->
+      <!--                  v-if="editShow === 'true'"-->
+      <!--                  v-model="row[item.prop]"-->
+      <!--                  active-color="#13ce66"-->
+      <!--                  inactive-color="#ff4949">-->
+      <!--                </el-switch>-->
+      <!--              </template>-->
     </el-table-column>
   </el-table>
 </div>
@@ -19,17 +40,20 @@
 
 <script>
 import {businese} from '@/api/work/businese'
+import {MasterTable} from "@/api/GetItem";
+import {validatenull} from "@/util/validate";
 export default {
   name: "BusinessWork",
   props:['ids','templateId'],
   data() {
     return {
       BuinessOids:[],
-      data:[
-        {
-          label:'app'
-        }
-      ]
+      isLoading:false,
+      tableHeadData:[],
+      tableData:[],
+      editingRow: null,
+      editShow: "",
+      editAttr: ""
     }
   },
   watch:{
@@ -49,15 +73,54 @@
   },
   methods:{
     HandlerRend(){
+      this.editingRow = null;
     },
+    //琛ㄦ牸澶存覆鏌�
+    CrudHeaderRend() {
+      if (this.codeClassifyOid != "") {
+        MasterTable({
+          codeClassifyOid: this.codeClassifyOid,
+          functionId: 5,
+        }).then((res) => {
+          this.options = res.data.tableDefineVO.seniorQueryColumns;
+          this.List = res.data.tableDefineVO.cols[0];
+          this.tableHeadData=[];
+          this.List.forEach((item) => {
+            let columnItem = {
+              label: item.title,
+              prop: item.field,
+              type: this.columnType[item.type],
+              sortable: item.sort,
+              width: item.minWidth
+            };
+            if(item.field == 'id' && validatenull(item.templet)){
+              //浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
+              columnItem.formatter = '';
+            }else {
+              if (item.templet && typeof (item.templet) == 'string' && !validatenull(item.templet) && item.templet.indexOf("function(row,column)")>-1) {
+                columnItem.formatter = eval("(" + item.templet + ")");
+                //function(row,column){return row[column.property]=='true'?'鏄�':'鍚�'}
+              }
+            }
+            this.tableHeadData.push(columnItem)
+          });
+        });
+      }
+    },
+    //琛ㄦ牸鏁版嵁
     BuinseseRend(){
       businese({
         btmType:'wupin',
         'conditionMap[oid]':this.BuinessOids.toString()
       }).then(res=>{
-        console.log(res)
+        this.tableData = res.data.data;
       })
-    }
+    },
+    // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮
+    handleCellClick(row, column) {
+      this.editingRow = row;
+      this.editShow = column.property;
+    },
   }
 }
 </script>

--
Gitblit v1.9.3