From 875be114d48b0591186030819233fdcc20a8cd0a Mon Sep 17 00:00:00 2001
From: wang1 <844966816@qq.com>
Date: 星期四, 20 七月 2023 14:09:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/Master/MasterTransfer.vue |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
new file mode 100644
index 0000000..ec48494
--- /dev/null
+++ b/Source/UBCS-WEB/src/components/Master/MasterTransfer.vue
@@ -0,0 +1,146 @@
+<template>
+<el-dialog :visible.sync="dialogPush" append-to-body  :close-on-click-modal="false"  @close="recoverPage" title="瀵煎嚭">
+  <div style="margin-bottom: 10px">
+    <el-radio-group v-model="radio">
+      <el-radio :label="0">閫夋嫨</el-radio>
+      <el-radio :label="1">鍏ㄩ儴</el-radio>
+      <el-radio :label="2">椤电爜</el-radio>
+    </el-radio-group>
+  </div>
+  <div style="text-align: center">
+  <el-transfer
+    style="text-align: left; display: inline-block;height: 400px"
+    filterable
+    :filter-method="filterMethod"
+    filter-placeholder="鍏抽敭璇嶆悳绱�"
+    v-model="value"
+    :titles="['鏈�夊睘鎬�', '宸查�夊睘鎬�']"
+    :data="data">
+  </el-transfer>
+  </div>
+  <div style="display: flex;justify-content: flex-end;">
+    <el-button size="small" plain type="success" @click="handleExcel">纭畾</el-button>
+    <el-button size="small" plain >鍙栨秷</el-button>
+  </div>
+</el-dialog>
+</template>
+
+<script>
+import {exportCode} from '@/api/GetItem'
+export default {
+name: "MasterTransfer",
+  props:['visible','tableHeadData','codeClassifyOid','tableData','selectRow'],
+  data(){
+    return {
+      data: [],
+      value: [],
+      filterMethod(query, item) {
+        return item.label.indexOf(query) > -1;
+      },
+      dialogPush:this.visible,
+      radio:0,
+      tableHeadFindData:[],
+      tableExportData:[],
+      option:{
+        title: '鏂囨。鏍囬',
+        column: [{
+          label: '涓绘暟鎹�',
+          prop: 'header',
+          children: []
+        }],
+        data: []
+      }
+    };
+  },
+  watch:{
+    //鐩戝惉鍒濆鍖�
+    visible (){
+      this.dialogPush = this.visible;
+    },
+    //琛ㄥご鏁版嵁 鐢ㄦ潵娓叉煋绌挎妗�
+    tableHeadData:{
+      handler(newval,oldval){
+        console.log(newval)
+       if(newval){
+         //excel琛ㄥご鏁版嵁杞崲
+         this.tableHeadFindData=newval.map(obj => obj.label);
+         this.tableHeadFindData.forEach((city, index) => {
+           this.data.push({
+             label: city,
+             key: index,
+           });
+         });
+         //excel琛ㄦ牸鏁版嵁杞崲
+         this.option.column[0].children=newval.map(obj => {
+           return {
+             label: obj.label,
+             prop: obj.prop
+           }
+         })
+       }
+      }
+},
+    tableData(){
+      // 灏嗗�奸噷闈㈢殑true鎴杅alse鏀瑰彉涓烘槸鎴栧惁
+      this.option.data = this.tableData.map(obj => {
+          for (let prop in obj) {
+            if (obj[prop] === "true") {
+              obj[prop] = "鏄�";
+            } else if (obj[prop] === "false") {
+              obj[prop] = "鍚�";
+            }
+          }
+        return obj;
+      });
+    },
+    codeClassifyOid:{
+      handler(newval,oldval){
+      }
+    }
+  },
+  computed:{
+
+  },
+  mounted() {
+  },
+  methods:{
+    //鍏抽棴椤甸潰
+    recoverPage(){
+      this.$emit('update:visible', false);
+    },
+    handleExcel(){
+      // this.$Export.excel({
+      //   title: this.option.title,
+      //   columns: this.option.column,
+      //   data: this.option.data
+      // });
+      if(this.radio === 0){
+        if(this.selectRow.length<=0){
+          this.$message.warning('璇烽�夋嫨瑕佸鍑虹殑妯℃澘')
+        }else {
+          //宸查�夋嫨澶氶��
+          const selectList=[]
+          //宸查�夋嫨灞炴��
+          let exportArr={}
+          const ids = this.selectRow.map(item => item.oid).join(',')
+          this.selectRow.forEach(item=>{
+            selectList.push(
+             item.oid
+            )
+          })
+          this.value.map(index => this.tableHeadData[index].prop).forEach((item, index) => {
+            exportArr[`attrIdIndexMap[${index}]`] = item
+          })
+          exportCode({codeClassifyOid:this.codeClassifyOid,'conditionMap[oid]':ids,...exportArr}).then(res=>{
+            console.log(res)
+          })
+        }
+      };
+    },
+  }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>

--
Gitblit v1.9.3