Procházet zdrojové kódy

修改 下拉公共组件 edit新加字段 报表新加字段

Qukatie před 4 měsíci
rodič
revize
74f780bc58

+ 74 - 15
src/components/dicSelect/main.vue

@@ -2,7 +2,7 @@
     <!-- 中文下拉 -->
     <div>
         <div style="display: flex;">
-            <el-select ref="mySelect" style="width:100%" v-model="value" @input="$emit('selectedValue', value)"
+            <el-select ref="mySelect" style="width:100%" v-model="value" @input="inputChange"
                 :placeholder="'请输入 ' + placeholder" @change="selectChange" @clear="clear" :clearable="clearable"
                 :multiple="multiple" :filterable="filterable" :remote="remote" :remote-method="remoteMethod"
                 :loading="loading" :size="size" :disabled="disabled" :collapse-tags="collapseTags">
@@ -274,7 +274,11 @@ export default {
         disabledLabel: {
             type: String,
             default: ''
-        }
+        },
+        dataType: {
+            type: String,
+            default: ''
+        },
     },
     model: {
         prop: "value",
@@ -295,7 +299,36 @@ export default {
             });
         }
     },
+    watch: {
+        value: {
+            handler(val, oldVal) {
+                if (this.dataType == 'string') {
+                    if (val) {
+                        if (typeof val == 'string') {
+                            this.value = val.split(',')
+                        }
+                    } else {
+                        this.value = []
+                    }
+                }
+            },
+            deep: true,
+            immediate: true
+        }
+    },
     methods: {
+        inputChange() {
+            if (this.dataType == 'string') {
+                if (this.value && this.value.length) {
+                    this.$emit('selectedValue', this.value.join(','))
+                } else {
+                    this.$emit('selectedValue', [])
+                }
+            } else {
+                this.$emit('selectedValue', this.value)
+            }
+
+        },
         open() {
             this.dialogVisible = true
             this.getTree()
@@ -333,15 +366,15 @@ export default {
                 getDicinit(this.method, this.url, this.data).then(res => {
                     if (this.res) {
                         res.data.data[this.res].forEach(e => {
-                            console.log(this.disabledLabel,this.disabledLabel.split(",").some(item => item[this.label]))
-                            if (this.disabledLabel.split(",").some(item => item==e[this.label])) {
+                            console.log(this.disabledLabel, this.disabledLabel.split(",").some(item => item[this.label]))
+                            if (this.disabledLabel.split(",").some(item => item == e[this.label])) {
                                 e.disabled = true
                             }
                         })
                         this.options = res.data.data[this.res]
                     } else {
                         res.data.data.forEach(e => {
-                            if (this.disabledLabel.split(",").some(item => item==e[this.label])) {
+                            if (this.disabledLabel.split(",").some(item => item == e[this.label])) {
                                 e.disabled = true
                             }
                         })
@@ -368,18 +401,44 @@ export default {
             })
         },
         selectChange(row) {
-            this.options.forEach(e => {
-                if (this.keyValue) {
-                    if (row == e[this.keyValue]) {
-                        this.$emit('selectChange', e)
+            console.log(1111, row)
+            if (this.dataType == 'string') {
+                let data = []
+                this.options.forEach(e => {
+                    if (this.keyValue) {
+                        row.forEach(item => {
+                            if (item == e[this.keyValue]) {
+                                data.push(e[this.label])
+                                this.$emit('selectChange', data.join(','))
+                            }
+                        })
+
                     }
-                }
-                if (this.label) {
-                    if (row == e[this.label]) {
-                        this.$emit('selectChange', e)
+                    if (this.label) {
+                        row.forEach(item => {
+                            if (item == e[this.label]) {
+                                data.push(e[this.label])
+                                this.$emit('selectChange', data.join(','))
+                            }
+                        })
+
                     }
-                }
-            })
+                })
+            } else {
+                this.options.forEach(e => {
+                    if (this.keyValue) {
+                        if (row == e[this.keyValue]) {
+                            this.$emit('selectChange', e)
+                        }
+                    }
+                    if (this.label) {
+                        if (row == e[this.label]) {
+                            this.$emit('selectChange', e)
+                        }
+                    }
+                })
+            }
+
         },
         clear() {
             this.data = this.$options.data().data

+ 107 - 23
src/views/iosBasicData/AirtransportExport/bills/assembly/reports.vue

@@ -17,13 +17,25 @@
           @click="handleDelete">删 除
         </el-button>
       </template>
-      <template slot-scope="{disabled,size}" slot="authorizedUsersForm">
-        <div>
-          <el-select v-model="form.authorizedUsersId" placeholder="请选择">
-            <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
-            </el-option>
-          </el-select>
-        </div>
+      <template slot="authorizedUsersIdForm">
+        <dic-select v-model="form.authorizedUsersId" placeholder="授权用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('authorizedUsersId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedRoleIdForm">
+        <dic-select v-model="form.authorizedRoleId" placeholder="授权角色" key="id" keyValue="id" label="roleName"
+          url="/blade-system/role/list" :filterable="true" :multiple="true" dataName="roleName" dataType="string"
+          @selectChange="dicChange('authorizedRoleId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedTeamIdForm">
+        <dic-select v-model="form.authorizedTeamId" placeholder="授权团队" key="id" keyValue="id" label="postName"
+          url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" dataType="string"
+          @selectChange="dicChange('authorizedTeamId', $event,form)"></dic-select>
+      </template>
+      <template slot="excludeUsersIdForm">
+        <dic-select v-model="form.excludeUsersId" placeholder="排除用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('excludeUsersId', $event,form)"></dic-select>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-link type="primary" style="font-size: 12px" icon="el-icon-view" :underline="false"
@@ -48,9 +60,11 @@ import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { isProcurement } from "@/api/basicData/configuration";
+import dicSelect from "@/components/dicSelect/main";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    dicSelect
   },
   props: {
     assemblyForm: {
@@ -168,22 +182,58 @@ export default {
           {
             label: "授权用户",
             prop: "authorizedUsersId",
-            // hide: true,
+            hide: true,
+            showColumn:false,
             formslot: true,
-            type: 'tree',
-            dicUrl: "/api/blade-user/userListAll",
-            multiple: true,
             overHidden: true,
-            props: {
-              label: "realName",
-              value: "id"
-            },
-            dicData: [],
-            rules: [{
-              required: true,
-              message: "请选择授权用户",
-              trigger: "blur"
-            }]
+          },
+          {
+            label: "授权用户",
+            prop: "authorizedUsers",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRoleId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRole",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeamId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeam",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsersId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsers",
+            display:false,
+            overHidden: true,
           },
           // {
           //   label: "版本",
@@ -265,6 +315,40 @@ export default {
     }
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'authorizedUsersId') {
+        if(row){
+          this.form.authorizedUsers = row
+        }else{
+          this.form.authorizedUsersId = null
+          this.form.authorizedUsers = null
+        }
+      }
+      if (name == 'authorizedRoleId') {
+        if(row){
+          this.form.authorizedRole = row
+        }else{
+          this.form.authorizedRoleId = null
+          this.form.authorizedRole = null
+        }
+      }
+      if (name == 'authorizedTeamId') {
+        if(row){
+          this.form.authorizedTeam = row
+        }else{
+          this.form.authorizedTeamId = null
+          this.form.authorizedTeam = null
+        }
+      }
+      if (name == 'excludeUsersId') {
+        if(row){
+          this.form.excludeUsers = row
+        }else{
+          this.form.excludeUsersId = null
+          this.form.excludeUsers = null
+        }
+      }
+    },
     // 设计报表
     async reportDesignButton(url) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -988,7 +1072,7 @@ export default {
     },
     // 添加
     rowSave(row, done, loading) {
-      row.authorizedUsersId = row.authorizedUsersId.join()
+      // row.authorizedUsersId = row.authorizedUsersId.join()
       row.businessType = this.businessValue
       add(row).then(() => {
         this.onLoad(this.page);

+ 110 - 26
src/views/iosBasicData/AirtransportImport/bills/assembly/reports.vue

@@ -17,13 +17,25 @@
           @click="handleDelete">删 除
         </el-button>
       </template>
-      <template slot-scope="{disabled,size}" slot="authorizedUsersForm">
-        <div>
-          <el-select v-model="form.authorizedUsersId" placeholder="请选择">
-            <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
-            </el-option>
-          </el-select>
-        </div>
+      <template slot="authorizedUsersIdForm">
+        <dic-select v-model="form.authorizedUsersId" placeholder="授权用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('authorizedUsersId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedRoleIdForm">
+        <dic-select v-model="form.authorizedRoleId" placeholder="授权角色" key="id" keyValue="id" label="roleName"
+          url="/blade-system/role/list" :filterable="true" :multiple="true" dataName="roleName" dataType="string"
+          @selectChange="dicChange('authorizedRoleId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedTeamIdForm">
+        <dic-select v-model="form.authorizedTeamId" placeholder="授权团队" key="id" keyValue="id" label="postName"
+          url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" dataType="string"
+          @selectChange="dicChange('authorizedTeamId', $event,form)"></dic-select>
+      </template>
+      <template slot="excludeUsersIdForm">
+        <dic-select v-model="form.excludeUsersId" placeholder="排除用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('excludeUsersId', $event,form)"></dic-select>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-link type="primary" style="font-size: 12px" icon="el-icon-view" :underline="false"
@@ -48,9 +60,11 @@ import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { isProcurement } from "@/api/basicData/configuration";
+import dicSelect from "@/components/dicSelect/main";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    dicSelect
   },
   props: {
     assemblyForm: {
@@ -168,22 +182,58 @@ export default {
           {
             label: "授权用户",
             prop: "authorizedUsersId",
-            // hide: true,
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权用户",
+            prop: "authorizedUsers",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRoleId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRole",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeamId",
+            hide: true,
+            showColumn:false,
             formslot: true,
-            type: 'tree',
-            dicUrl: "/api/blade-user/userListAll",
-            multiple: true,
             overHidden: true,
-            props: {
-              label: "realName",
-              value: "id"
-            },
-            dicData: [],
-            rules: [{
-              required: true,
-              message: "请选择授权用户",
-              trigger: "blur"
-            }]
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeam",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsersId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsers",
+            display:false,
+            overHidden: true,
           },
           // {
           //   label: "版本",
@@ -238,9 +288,9 @@ export default {
         this.textareaNumber = res.data.data
       }
     })
-    getUserApprovalList().then(res => {
-      this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
-    })
+    // getUserApprovalList().then(res => {
+    //   this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
+    // })
     // 获取业务类型
     bbusinesstypeList(1, 20).then(res => {
       this.findObject(this.option.column, "businessType").dicData = res.data.data.records
@@ -265,6 +315,40 @@ export default {
     }
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'authorizedUsersId') {
+        if(row){
+          this.form.authorizedUsers = row
+        }else{
+          this.form.authorizedUsersId = null
+          this.form.authorizedUsers = null
+        }
+      }
+      if (name == 'authorizedRoleId') {
+        if(row){
+          this.form.authorizedRole = row
+        }else{
+          this.form.authorizedRoleId = null
+          this.form.authorizedRole = null
+        }
+      }
+      if (name == 'authorizedTeamId') {
+        if(row){
+          this.form.authorizedTeam = row
+        }else{
+          this.form.authorizedTeamId = null
+          this.form.authorizedTeam = null
+        }
+      }
+      if (name == 'excludeUsersId') {
+        if(row){
+          this.form.excludeUsers = row
+        }else{
+          this.form.excludeUsersId = null
+          this.form.excludeUsers = null
+        }
+      }
+    },
     // 设计报表
     async reportDesignButton(url) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -989,7 +1073,7 @@ export default {
     },
     // 添加
     rowSave(row, done, loading) {
-      row.authorizedUsersId = row.authorizedUsersId.join()
+      // row.authorizedUsersId = row.authorizedUsersId.join()
       row.businessType = this.businessValue
       add(row).then(() => {
         this.onLoad(this.page);

+ 110 - 26
src/views/iosBasicData/OceanFreightImport/bills/assembly/reports.vue

@@ -17,13 +17,25 @@
           @click="handleDelete">删 除
         </el-button>
       </template>
-      <template slot-scope="{disabled,size}" slot="authorizedUsersForm">
-        <div>
-          <el-select v-model="form.authorizedUsersId" placeholder="请选择">
-            <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
-            </el-option>
-          </el-select>
-        </div>
+      <template slot="authorizedUsersIdForm">
+        <dic-select v-model="form.authorizedUsersId" placeholder="授权用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('authorizedUsersId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedRoleIdForm">
+        <dic-select v-model="form.authorizedRoleId" placeholder="授权角色" key="id" keyValue="id" label="roleName"
+          url="/blade-system/role/list" :filterable="true" :multiple="true" dataName="roleName" dataType="string"
+          @selectChange="dicChange('authorizedRoleId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedTeamIdForm">
+        <dic-select v-model="form.authorizedTeamId" placeholder="授权团队" key="id" keyValue="id" label="postName"
+          url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" dataType="string"
+          @selectChange="dicChange('authorizedTeamId', $event,form)"></dic-select>
+      </template>
+      <template slot="excludeUsersIdForm">
+        <dic-select v-model="form.excludeUsersId" placeholder="排除用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('excludeUsersId', $event,form)"></dic-select>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-link type="primary" style="font-size: 12px" icon="el-icon-view" :underline="false"
@@ -48,9 +60,11 @@ import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { isProcurement } from "@/api/basicData/configuration";
+import dicSelect from "@/components/dicSelect/main";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    dicSelect
   },
   props: {
     assemblyForm: {
@@ -168,22 +182,58 @@ export default {
           {
             label: "授权用户",
             prop: "authorizedUsersId",
-            // hide: true,
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权用户",
+            prop: "authorizedUsers",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRoleId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRole",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeamId",
+            hide: true,
+            showColumn:false,
             formslot: true,
-            type: 'tree',
-            dicUrl: "/api/blade-user/userListAll",
-            multiple: true,
             overHidden: true,
-            props: {
-              label: "realName",
-              value: "id"
-            },
-            dicData: [],
-            rules: [{
-              required: true,
-              message: "请选择授权用户",
-              trigger: "blur"
-            }]
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeam",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsersId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsers",
+            display:false,
+            overHidden: true,
           },
           // {
           //   label: "版本",
@@ -238,9 +288,9 @@ export default {
         this.textareaNumber = res.data.data
       }
     })
-    getUserApprovalList().then(res => {
-      this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
-    })
+    // getUserApprovalList().then(res => {
+    //   this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
+    // })
     // 获取业务类型
     bbusinesstypeList(1, 20).then(res => {
       this.findObject(this.option.column, "businessType").dicData = res.data.data.records
@@ -265,6 +315,40 @@ export default {
     }
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'authorizedUsersId') {
+        if(row){
+          this.form.authorizedUsers = row
+        }else{
+          this.form.authorizedUsersId = null
+          this.form.authorizedUsers = null
+        }
+      }
+      if (name == 'authorizedRoleId') {
+        if(row){
+          this.form.authorizedRole = row
+        }else{
+          this.form.authorizedRoleId = null
+          this.form.authorizedRole = null
+        }
+      }
+      if (name == 'authorizedTeamId') {
+        if(row){
+          this.form.authorizedTeam = row
+        }else{
+          this.form.authorizedTeamId = null
+          this.form.authorizedTeam = null
+        }
+      }
+      if (name == 'excludeUsersId') {
+        if(row){
+          this.form.excludeUsers = row
+        }else{
+          this.form.excludeUsersId = null
+          this.form.excludeUsers = null
+        }
+      }
+    },
     // 设计报表
     async reportDesignButton(url) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -988,7 +1072,7 @@ export default {
     },
     // 添加
     rowSave(row, done, loading) {
-      row.authorizedUsersId = row.authorizedUsersId.join()
+      // row.authorizedUsersId = row.authorizedUsersId.join()
       row.businessType = this.businessValue
       add(row).then(() => {
         this.onLoad(this.page);

+ 125 - 49
src/views/iosBasicData/SeafreightExportF/bills/assembly/reports.vue

@@ -17,13 +17,25 @@
           @click="handleDelete">删 除
         </el-button>
       </template>
-      <template slot-scope="{disabled,size}" slot="authorizedUsersForm">
-        <div>
-          <el-select v-model="form.authorizedUsersId" placeholder="请选择">
-            <el-option v-for="item in userList" :key="item.value" :label="item.label" :value="item.value">
-            </el-option>
-          </el-select>
-        </div>
+      <template slot="authorizedUsersIdForm">
+        <dic-select v-model="form.authorizedUsersId" placeholder="授权用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('authorizedUsersId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedRoleIdForm">
+        <dic-select v-model="form.authorizedRoleId" placeholder="授权角色" key="id" keyValue="id" label="roleName"
+          url="/blade-system/role/list" :filterable="true" :multiple="true" dataName="roleName" dataType="string"
+          @selectChange="dicChange('authorizedRoleId', $event,form)"></dic-select>
+      </template>
+      <template slot="authorizedTeamIdForm">
+        <dic-select v-model="form.authorizedTeamId" placeholder="授权团队" key="id" keyValue="id" label="postName"
+          url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" dataType="string"
+          @selectChange="dicChange('authorizedTeamId', $event,form)"></dic-select>
+      </template>
+      <template slot="excludeUsersIdForm">
+        <dic-select v-model="form.excludeUsersId" placeholder="排除用户" key="id" keyValue="id" label="realName"
+          url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
+          @selectChange="dicChange('excludeUsersId', $event,form)"></dic-select>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-link type="primary" style="font-size: 12px" icon="el-icon-view" :underline="false"
@@ -48,10 +60,11 @@ import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { isProcurement } from "@/api/basicData/configuration";
-
+import dicSelect from "@/components/dicSelect/main";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    dicSelect
   },
   props: {
     assemblyForm: {
@@ -80,7 +93,9 @@ export default {
       userList: [],
       isPrintTheBoxNumber: false,
       bbDisabled: false,
-      form: {},
+      form: {
+        authorizedUsers:null,
+      },
       formReport: {},
       query: {},
       loading: true,
@@ -173,32 +188,59 @@ export default {
           {
             label: "授权用户",
             prop: "authorizedUsersId",
-            // hide: true,
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权用户",
+            prop: "authorizedUsers",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRoleId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权角色",
+            prop: "authorizedRole",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeamId",
+            hide: true,
+            showColumn:false,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: "授权团队",
+            prop: "authorizedTeam",
+            display:false,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludeUsersId",
+            hide: true,
+            showColumn:false,
             formslot: true,
-            type: 'tree',
-            dicUrl: "/api/blade-user/userListAll",
-            multiple: true,
             overHidden: true,
-            props: {
-              label: "realName",
-              value: "id"
-            },
-            dicData: [],
-            rules: [{
-              required: true,
-              message: "请选择授权用户",
-              trigger: "blur"
-            }]
           },
-          // {
-          //   label: "版本",
-          //   prop: "version",
-          //   rules: [{
-          //     required: true,
-          //     message: "请输入版本",
-          //     trigger: "blur"
-          //   }]
-          // },
+          {
+            label: "排除用户",
+            prop: "excludeUsers",
+            display:false,
+            overHidden: true,
+          },
           {
             label: "状态",
             prop: "status",
@@ -243,9 +285,9 @@ export default {
         this.textareaNumber = res.data.data
       }
     })
-    getUserApprovalList().then(res => {
-      this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
-    })
+    // getUserApprovalList().then(res => {
+    //   this.findObject(this.option.column, "authorizedUsersId").dicData = res.data.data
+    // })
     // 获取业务类型
     bbusinesstypeList(1, 20).then(res => {
       this.findObject(this.option.column, "businessType").dicData = res.data.data.records
@@ -270,6 +312,40 @@ export default {
     }
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'authorizedUsersId') {
+        if(row){
+          this.form.authorizedUsers = row
+        }else{
+          this.form.authorizedUsersId = null
+          this.form.authorizedUsers = null
+        }
+      }
+      if (name == 'authorizedRoleId') {
+        if(row){
+          this.form.authorizedRole = row
+        }else{
+          this.form.authorizedRoleId = null
+          this.form.authorizedRole = null
+        }
+      }
+      if (name == 'authorizedTeamId') {
+        if(row){
+          this.form.authorizedTeam = row
+        }else{
+          this.form.authorizedTeamId = null
+          this.form.authorizedTeam = null
+        }
+      }
+      if (name == 'excludeUsersId') {
+        if(row){
+          this.form.excludeUsers = row
+        }else{
+          this.form.excludeUsersId = null
+          this.form.excludeUsers = null
+        }
+      }
+    },
     // 设计报表
     async reportDesignButton(url) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -765,18 +841,18 @@ export default {
           // }
 
           if (data.commodityDescr) {
-              var descriptionIndex2 = data.commodityDescr.indexOf('\n')
-              for (let i = 0; i < 19; i++) {
-                descriptionIndex2 = data.commodityDescr.indexOf('\n', descriptionIndex2 + 1);
-              }
-              if (descriptionIndex2 != -1) {
-                data.pageOne = 'Page : 1 of 2'
-                data.pageTwo = 'Page : 2 of 2'
-                var extraLongText = data.commodityDescr.substring(descriptionIndex2 + 2, data.commodityDescr.length)
-                // data.commodityDescr = data.commodityDescr.substring(0, descriptionIndex2)
-                data.extraLongTips = '** TO BE CONTINUED ON ATTACHED LIST **'
-                data.extraLongText = extraLongText
-              }
+            var descriptionIndex2 = data.commodityDescr.indexOf('\n')
+            for (let i = 0; i < 19; i++) {
+              descriptionIndex2 = data.commodityDescr.indexOf('\n', descriptionIndex2 + 1);
+            }
+            if (descriptionIndex2 != -1) {
+              data.pageOne = 'Page : 1 of 2'
+              data.pageTwo = 'Page : 2 of 2'
+              var extraLongText = data.commodityDescr.substring(descriptionIndex2 + 2, data.commodityDescr.length)
+              // data.commodityDescr = data.commodityDescr.substring(0, descriptionIndex2)
+              data.extraLongTips = '** TO BE CONTINUED ON ATTACHED LIST **'
+              data.extraLongText = extraLongText
+            }
             // let arrDeteil = []
             // arrDeteil = data.commodityDescr.split('\n')
             // if (arrDeteil.length > 18) {
@@ -999,7 +1075,7 @@ export default {
     },
     // 添加
     rowSave(row, done, loading) {
-      row.authorizedUsersId = row.authorizedUsersId.join()
+      // row.authorizedUsersId = row.authorizedUsersId.join()
       row.businessType = this.businessValue
       add(row).then(() => {
         this.onLoad(this.page);

+ 69 - 24
src/views/iosBasicData/editypes/index.vue

@@ -32,10 +32,28 @@
           </el-button>
         </template>
         <template slot="userlistForm">
-          <search-query :datalist="userData" :selectValue="form.userlist" :clearable="true" :multiple="true"
+          <!-- <search-query :datalist="userData" :selectValue="form.userlist" :clearable="true" :multiple="true"
             :collapseTags="false" :buttonIf="false" :forParameter="{ key: 'id', label: 'roleName', value: 'id' }"
             @corpChange="corpChange($event, 'userlist')" @corpFocus="getRoleListfun">
-          </search-query>
+          </search-query> -->
+          <dic-select v-model="form.userlist" placeholder="权限用户" key="id" keyValue="id" label="realName"
+            url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" 
+           ></dic-select>
+        </template>
+        <template slot="rolelistForm">
+          <dic-select v-model="form.rolelist" placeholder="权限角色" key="id" keyValue="id" label="roleName"
+            url="/blade-system/role/list" :filterable="true" :multiple="true"
+           ></dic-select>
+        </template>
+        <template slot="teamlistForm">
+          <dic-select v-model="form.teamlist" placeholder="权限团队" key="id" keyValue="id" label="postName" 
+            url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" 
+           ></dic-select>
+        </template>
+        <template slot="excludelistForm">
+          <dic-select v-model="form.excludelist" placeholder="排除用户" key="id" keyValue="id" label="realName"
+            url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" 
+           ></dic-select>
         </template>
         <template slot="menu" slot-scope="{row}">
           <el-button type="text" size="small" icon="el-icon-edit" @click="editFun(row)">编辑
@@ -74,9 +92,9 @@ import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import { getBcorpslistByType } from "@/api/iosBasicData/bcorps";
 import { getList as getRoleList } from "@/api/system/role"
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
-
+import dicSelect from "@/components/dicSelect/main";
 export default {
-  components: { SearchQuery },
+  components: { SearchQuery, dicSelect },
   props: {
   },
   data() {
@@ -123,27 +141,27 @@ export default {
               trigger: "blur"
             }]
           },
-            {
-                label: "类别",
-                prop: "groupName",
-                type: "select",
-                search: true,
-                dicData: [{
-                    label: 'Booking',
-                    value: 'SO'
-                }, {
-                    label: 'SI',
-                    value: 'SI'
-                }],
-                rules: [{
-                    required: true,
-                    message: "请输入类别",
-                    trigger: "blur"
-                }],
+          {
+            label: "类别",
+            prop: "groupName",
+            type: "select",
+            search: true,
+            dicData: [{
+              label: 'Booking',
+              value: 'SO'
+            }, {
+              label: 'SI',
+              value: 'SI'
+            }],
+            rules: [{
+              required: true,
+              message: "请输入类别",
+              trigger: "blur"
+            }],
 
-                value: 'SO',
-                overHidden: true,
-            },
+            value: 'SO',
+            overHidden: true,
+          },
           {
             label: "EDI 编码",
             prop: "code",
@@ -206,6 +224,24 @@ export default {
             overHidden: true,
           },
           {
+            label: "权限角色",
+            prop: "rolelist",
+            hide: true,
+            overHidden: true,
+          },
+          {
+            label: "权限团队",
+            prop: "teamlist",
+            hide: true,
+            overHidden: true,
+          },
+          {
+            label: "排除用户",
+            prop: "excludelist",
+            hide: true,
+            overHidden: true,
+          },
+          {
             label: "状态",
             prop: "status",
             type: "select",
@@ -427,6 +463,9 @@ export default {
     rowSave(row, done, loading) {
       console.log(row, 237)
       row.userlist = JSON.stringify(row.userlist)
+      row.rolelist = JSON.stringify(row.rolelist)
+      row.teamlist = JSON.stringify(row.teamlist)
+      row.excludelist = JSON.stringify(row.excludelist)
       editypesSubmit(row).then(() => {
         this.onLoad(this.page);
         this.$message({
@@ -441,6 +480,9 @@ export default {
     },
     rowUpdate(row, index, done, loading) {
       row.userlist = JSON.stringify(row.userlist)
+      row.rolelist = JSON.stringify(row.rolelist)
+      row.teamlist = JSON.stringify(row.teamlist)
+      row.excludelist = JSON.stringify(row.excludelist)
       editypesSubmit(row).then(() => {
         this.onLoad(this.page);
         this.$message({
@@ -497,6 +539,9 @@ export default {
         editypesDetail(this.form.id).then(res => {
           this.form = res.data.data;
           this.form.userlist = JSON.parse(this.form.userlist)
+          this.form.rolelist = JSON.parse(this.form.rolelist)
+          this.form.teamlist = JSON.parse(this.form.teamlist)
+          this.form.excludelist = JSON.parse(this.form.excludelist)
         });
       }
       done();