From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 01 十一月 2023 11:32:28 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/views/modeling/Version.vue |  174 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 135 insertions(+), 39 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/modeling/Version.vue b/Source/UBCS-WEB/src/views/modeling/Version.vue
index 3941b86..0125121 100644
--- a/Source/UBCS-WEB/src/views/modeling/Version.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Version.vue
@@ -5,42 +5,50 @@
                :data="data"
                :option="option"
                :page.sync="page"
+               :permission="permissionList"
                @on-load="getList"
                @row-update="rowUpdate"
                @row-save="rowSave"
                @row-del="rowDel"
                @refresh-change="refreshChange"
                @search-reset="searchChange"
-               @search-change="searchChange">
+               @search-change="searchChange"
+               @row-click="rowClick">
       <template slot="menuLeft">
         <el-tooltip class="item" effect="dark" content="鏌ユ壘鐗堟湰瑙勫垯浣跨敤鑼冨洿" placement="top">
           <el-button size="small"
                      plain
                      type="primary"
                      icon="el-icon-zoom-in"
-                     @click="handleSearch">鏌ョ湅浣跨敤鑼冨洿
+                     v-if="permissionList.apply"
+                     @click="applyRangeSearch">鏌ョ湅浣跨敤鑼冨洿
           </el-button>
         </el-tooltip>
-      </template>>
+      </template>
+      <template slot="radio"
+                  slot-scope="{row}">
+                      <el-radio v-model="selectRow"
+                          :label="row.$index">&nbsp;
+                      </el-radio>
+                </template>
     </avue-crud>
-    <el-dialog title="鏌ョ湅浣跨敤鑼冨洿"
-               append-to-body
-               :visible.sync="packageSearchBox"
-               width="1200px">
-      <versionpackage></versionpackage>
-    </el-dialog>
+    <versionpackage :rangeData="applyRangeData" ref="applyRange"></versionpackage>
   </basic-container>
 
 </template>
 
 <script>
-import { getPage,add,update,remove } from '../../api/omd/revisionRule';
+import { getPage,add,update,remove,getAppayRange } from '../../api/omd/revisionRule';
+import {mapGetters} from "vuex";
 export default {
   name: "Version",
   data(){
     return {
       //鏌ョ湅浣跨敤鑼冨洿
       packageSearchBox:false,
+      // 鐐瑰嚮鏁版嵁
+      selectRow: '',
+      selectRowData: {},
       //鍒嗛〉鏁版嵁
       page: {
         pageSize: 10,
@@ -51,53 +59,130 @@
       ],
       form:{},
       option:{
+        height:'auto',
         headerAlign:'center',
         align: 'center',
         border: true,
         index: true,
         searchMenuSpan:5,
+        highlightCurrentRow: true,
+        stripe:true,
+        viewBtn:false,
+        columnBtn:false,
         column:[
           {
+            label: '閫夋嫨',
+            prop: 'radio',
+            width: 120,
+            display:false
+          },
+          {
             label:'鑻辨枃鍚嶇О',
-            prop: 'id'
+            prop: 'id',
+            editDisabled: true,
+            rules: [
+              {
+                required: true,
+                message: '鑻辨枃鍚嶇О涓嶈兘涓虹┖',
+                trigger: 'blur'
+              }
+            ]
           },
           {
             label:"涓枃鍚嶇О",
             prop:"name",
             search:true,
+            required: true,
+            rules: [
+              {
+                required: true,
+                message: '涓枃鍚嶇О涓嶈兘涓虹┖',
+                trigger: 'blur'
+              }
+            ]
           },
-          {
-            label:"璺宠穬瀛楃",
-            prop: "skipCode"
-          },
+          // {
+          //   label:"璺宠穬瀛楃",
+          //   prop: "skipCode"
+          // },
           {
             label: "鍒濆鍊�",
-            prop:"startCode"
+            prop:"startCode",
+            type: 'number',
+            min:1,
+            max:99999,
+            rules: [
+              {
+                required: true,
+                message: '鍒濆鍊间笉鑳戒负绌�',
+                trigger: 'blur'
+              }
+            ]
           },
           {
             label: "姝ラ暱",
-            prop: "serialStep"
+            prop: "serialStep",
+            type: 'number',
+            min:1,
+            max:99999,
+            rules: [
+              {
+                required: true,
+                message: '姝ラ暱涓嶈兘涓虹┖',
+                trigger: 'blur'
+              }
+            ]
           },
-          {
-            label: "鍓嶇紑",
-            prop:"prefixCode"
-          },
-          {
-            label: "鍚庣紑",
-            prop: "suffixCode"
-          },
+          // {
+          //   label: "鍓嶇紑",
+          //   prop:"prefixCode"
+          // },
+          // {
+          //   label: "鍚庣紑",
+          //   prop: "suffixCode"
+          // },
           {
             label: "鎻忚堪",
             prop:"description",
             type:"textarea"
           }
         ]
+      },
+      applyRangeData: []
+    }
+  },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList(){
+      return{
+        addBtn:this.vaildData(this.permission.modeling_Version.version_add,false),
+        apply:this.vaildData(this.permission.modeling_Version.version_applyopen,false),
+        delBtn:this.vaildData(this.permission.modeling_Version.version_delete,false),
+        editBtn:this.vaildData(this.permission.modeling_Version.version_edit,false),
       }
     }
   },
   methods:{
-    handleSearch(){
-      this.packageSearchBox=true
+    // 琛岀偣鍑�
+    rowClick(row){
+      this.selectRow = row.$index;
+      this.selectRowData = row;
+    },
+    // 鏌ョ湅搴旂敤鑼冨洿
+    applyRangeSearch(){
+      if (!this.selectRowData && this.selectRowData.length != 0){
+        console.log(this.selectRow);
+          this.$message({
+            type:"warning",
+            message: "璇峰厛閫夋嫨灞炴��"
+          })
+        }
+      getAppayRange(this.selectRowData.id).then(res => {
+         this.applyRangeData = res.data.data;
+         this.$refs.applyRange.rangeData = this.applyRangeData;
+         this.$refs.applyRange.showDialog = true;
+      })
+      // this.packageSearchBox=true
     },
     getList() {
       this.loading = true;
@@ -118,13 +203,19 @@
       })
     },
     rowUpdate(row, index, done, loading) {
-      update(row).then(() => {
-        this.$message.success('淇敼鎴愬姛')
-        done()
-        this.getList();
-      }).catch(() => {
-        loading()
-      })
+      console.log(row);
+      const date = new Date(row.ts);
+      const formattedDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}:${date.getSeconds().toString().padStart(2, '0')}.${date.getMilliseconds().toString().padStart(3, '0')}`;
+      row.ts = formattedDate;
+      update(row)
+        .then(() => {
+          this.$message.success('淇敼鎴愬姛');
+          done();
+          this.getList();
+        })
+        .catch(() => {
+          loading();
+        });
     },
     rowDel(row) {
       this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎, 鏄惁缁х画?', '鎻愮ず', {
@@ -140,11 +231,16 @@
       })
     },
     searchChange(params, done) {
-      if (done) done();
-      this.params = params;
-      this.page.currentPage = 1;
-      this.getList();
-      this.$message.success('鎼滅储鎴愬姛')
+      var p = {"name_like" : params.name}
+      getPage(this.page.currentPage,this.page.pageSize,p).then(res => {
+        const data = res.data.data
+        this.loading = false;
+        this.page.total = data.total;
+        this.data = data.records;
+      });
+      if (done) {
+       done();
+      }
     },
     refreshChange() {
       this.getList();

--
Gitblit v1.9.3