Browse Source

1. 是否拥有信用代码、代表方、归属区域 不回显
2. 查看时候还可以新增
3. 关闭时不清表格
4. 点击查看后,点击新建的时候,上传文件按钮消失

lizhenhao 2 years ago
parent
commit
2c6628834a

+ 39 - 0
src/api/rank/RankLevelService.js

@@ -0,0 +1,39 @@
+import request from '@/utils/httpRequest'
+
+export default class RankLevelService {
+  list (params) {
+    return request({
+      url: '/rank/rank_level/list',
+      method: 'get',
+      params: params
+    })
+  }
+  queryById (id) {
+    return request({
+      url: '/rank/rank_level/queryById',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  save (inputForm) {
+    return request({
+      url: `/rank/rank_level/save`,
+      method: 'post',
+      data: inputForm
+    })
+  }
+  delete (ids) {
+    return request({
+      url: '/rank/rank_level/delete',
+      method: 'delete',
+      params: {ids: ids}
+    })
+  }
+  updateSort (params) {
+    return request({
+      url: `/rank/rank_level/updateSort`,
+      method: 'post',
+      data: params
+    })
+  }
+}

+ 102 - 0
src/views/modules/rank/tabs/RankLevelForm.vue

@@ -0,0 +1,102 @@
+<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+      v-dialogDrag
+      width="1000px"
+      @close="close"
+      @keyup.enter.native="doSubmit"
+      :visible.sync="visible">
+      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+               label-width="100px" @submit.native.prevent>
+        <el-row  :gutter="15">
+          <el-col :span="21">
+            <el-form-item label="职层名称" prop="name"
+                          :rules="[{required: true, message: '职层名称不能为空', trigger: 'blur'}
+                 ]">
+              <el-input v-model="inputForm.name" placeholder="请填写职层名称"     ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+      <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+    </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import RankLevelService from '@/api/rank/RankLevelService'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        inputForm: {
+          name: ''
+        }
+      }
+    },
+    rankLevelService: null,
+    created () {
+      this.rankLevelService = new RankLevelService()
+    },
+    methods: {
+      init (method, id) {
+        this.method = method
+        this.inputForm = {
+          name: '',
+          officeIdList: [],
+          useFlag: ''
+        }
+        this.inputForm.id = id
+        if (method === 'add') {
+          this.title = `新建职层`
+        } else if (method === 'edit') {
+          this.title = '修改职层'
+        } else if (method === 'view') {
+          this.title = '查看职层'
+        }
+        this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+          this.$refs.inputForm.resetFields()
+          if (method === 'edit' || method === 'view') { // 修改或者查看
+            this.loading = true
+            this.rankLevelService.queryById(this.inputForm.id).then(({data}) => {
+              this.inputForm = this.recover(this.inputForm, data)
+              this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+              this.loading = false
+            })
+          }
+        })
+      },
+      // 表单提交
+      doSubmit () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.rankLevelService.save(this.inputForm).then(({data}) => {
+              this.close()
+              this.$message.success(data)
+              this.$emit('refreshDataList')
+              this.loading = false
+            }).catch(() => {
+              this.loading = false
+            })
+          }
+        })
+      },
+      close () {
+        this.$refs.inputForm.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>

+ 16 - 27
src/views/modules/rank/tabs/RankLevelList.vue

@@ -39,23 +39,12 @@
           :checkbox-config="{}">
           <vxe-column type="seq" width="40"></vxe-column>
           <vxe-column type="checkbox" width="40" ></vxe-column>
-          <vxe-column field="name" title="序列名称" :edit-render="{}"></vxe-column>
-          <vxe-column field="officeList" title="适用范围" :edit-render="{}">
-            <template scope="scope" >
-              <el-tag v-for="(item, index) in scope.row.officeList">{{item.name}}</el-tag>
-            </template>
-          </vxe-column>
-          <vxe-column field="useFlag" title="状态" :edit-render="{}">
-            <template  slot-scope="scope">
-              <el-tag type="success" v-if="scope.row.useFlag === '1' ">已启用</el-tag>
-              <el-tag type="danger" v-if="scope.row.useFlag === '2' ">禁用</el-tag>
-            </template>
-          </vxe-column>
+          <vxe-column field="name" title="职层名称" :edit-render="{}"></vxe-column>
           <vxe-column title="操作" width="200px" fixed="right" align="center">
             <template  slot-scope="scope">
 
-              <el-button v-if="hasPermission('rank:rank_sequence:edit')" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row.id)">修改</el-button>
-              <el-button v-if="hasPermission('rank:rank_sequence:del')" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
+              <el-button v-if="hasPermission('rank:rank_level:edit')" type="text" icon="el-icon-edit" size="small" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('rank:rank_level:del')" type="text"  icon="el-icon-delete" size="small" @click="del(scope.row.id)">删除</el-button>
             </template>
           </vxe-column>
         </vxe-table>
@@ -71,13 +60,13 @@
         </vxe-pager>
       </div>
     </div>
-    <RankSequenceForm  ref="rankSequenceForm" @refreshDataList="refreshList"></RankSequenceForm>
+    <RankLevelForm  ref="rankLevelForm" @refreshDataList="refreshList"></RankLevelForm>
   </div>
 </template>
 
 <script>
-  import RankSequenceService from '@/api/rank/RankSequenceService'
-  import RankSequenceForm from './RankSequenceForm'
+  import RankLevelService from '@/api/rank/RankLevelService'
+  import RankLevelForm from './RankLevelForm'
   export default {
     props: {
       index: {
@@ -103,9 +92,9 @@
         loading: false
       }
     },
-    rankSequenceService: null,
+    rankLevelService: null,
     created () {
-      this.rankSequenceService = new RankSequenceService()
+      this.rankLevelService = new RankLevelService()
     },
     watch: {
       index (index) {
@@ -115,7 +104,7 @@
       }
     },
     components: {
-      RankSequenceForm
+      RankLevelForm
     },
     mounted () {
       this.refreshList()
@@ -127,23 +116,23 @@
       },
       // 新增
       add () {
-        this.$refs.rankSequenceForm.init('add', '')
+        this.$refs.rankLevelForm.init('add', '')
       },
       // 修改
       edit (id) {
-        id = id || this.$refs.rankSequenceTable.getCheckboxRecords().map(item => {
+        id = id || this.$refs.rankLevelTable.getCheckboxRecords().map(item => {
           return item.id
         })[0]
-        this.$refs.rankSequenceForm.init('edit', id)
+        this.$refs.rankLevelForm.init('edit', id)
       },
       // 查看
       view (id) {
-        this.$refs.rankSequenceForm.init('view', id)
+        this.$refs.rankLevelForm.init('view', id)
       },
       // 获取数据列表
       refreshList () {
         this.loading = true
-        this.rankSequenceService.list({
+        this.rankLevelService.list({
           'current': this.tablePage.currentPage,
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
@@ -170,7 +159,7 @@
       },
       // 删除
       del (id) {
-        let ids = id || this.$refs.rankSequenceTable.getCheckboxRecords().map(item => {
+        let ids = id || this.$refs.rankLevelTable.getCheckboxRecords().map(item => {
           return item.id
         }).join(',')
         this.$confirm(`确定删除所选项吗?`, '提示', {
@@ -194,7 +183,7 @@
         this.$refs.sortTableDialog.init(this.dataList)
       },
       dataSort (dataListSort) {
-        this.rankSequenceService.updateSort(dataListSort).then(() => {
+        this.rankLevelService.updateSort(dataListSort).then(() => {
           this.refreshList()
         })
       }

+ 21 - 10
src/views/modules/sys/workClient/WorkClientForm.vue

@@ -5,7 +5,7 @@
       :close-on-click-modal="false"
       v-dialogDrag
       width="800px"
-      @close="close,closeXTable"
+      @close="close(),closeXTable()"
       @keyup.enter.native="doSubmit"
       :visible.sync="visible">
       <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
@@ -26,7 +26,7 @@
                   {required: true, message:'请选择是否拥有信用代码', trigger:'blur'}
                  ]">
               <el-radio-group v-model="inputForm.hasUscc">
-                <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" :key="item.id">{{item.label}}</el-radio>
+                  <el-radio v-for="item in $dictUtils.getDictList('yes_no')" :label="item.value" >{{item.label}}</el-radio>
               </el-radio-group>
             </el-form-item>
           </el-col>
@@ -89,11 +89,11 @@
           </el-col>
 
           <el-col :span="12">
-            <el-form-item label="代表方" prop="deputy"
+            <el-form-item label="代表方" prop="deputyList"
                           :rules="[
                     {required: true, message:'请选择代表方', trigger:'blur'}
                  ]">
-              <el-select v-model="inputForm.deputy" placeholder="请选择" multiple style="width:100%;">
+              <el-select v-model="inputForm.deputyList" placeholder="请选择" multiple style="width:100%;">
                 <el-option
                   v-for="item in $dictUtils.getDictList('representative')"
                   :key="item.value"
@@ -145,7 +145,7 @@
               <SelectTree
                 ref="areaTree"
                 :props="{
-                      value: 'areaId',             // ID字段名
+                      value: 'id',             // ID字段名
                       label: 'name',         // 显示名称
                       children: 'children'    // 子级字段名
                     }"
@@ -184,7 +184,7 @@
         <el-form-item label="开户行信息" prop="bankInfos">
           <vxe-toolbar>
             <template #buttons>
-              <vxe-button size="mini" @click="insertEvent('bank')">新增</vxe-button>
+              <vxe-button :disabled="method==='view'" size="mini" @click="insertEvent('bank')">新增</vxe-button>
             </template>
           </vxe-toolbar>
         </el-form-item>
@@ -228,7 +228,7 @@
         <el-form-item label="联系人信息" prop="linkmanInfos">
           <vxe-toolbar>
             <template #buttons>
-              <vxe-button size="mini" @click="insertEvent('linkman')">新增</vxe-button>
+              <vxe-button :disabled="method==='view'" size="mini" @click="insertEvent('linkman')">新增</vxe-button>
             </template>
           </vxe-toolbar>
         </el-form-item>
@@ -376,6 +376,7 @@
         visible: false,
         loading: false,
         inputForm: {
+          deputyList: [],
           permissionFlag: '', // 判断是否为当前登录人参数
           name: '',
           hasUscc: '',
@@ -487,6 +488,7 @@
         })
         this.method = method
         this.inputForm = {
+          deputyList: [],
           name: '',
           hasUscc: '',
           uscCode: '',
@@ -547,16 +549,25 @@
           if (method === 'edit' || method === 'view') { // 修改或者查看
             this.loading = true
             this.workClientService.findById(this.inputForm.id).then(({data}) => {
-              this.inputForm = this.recover(this.inputForm, data)
+              // this.inputForm = this.recover(this.inputForm, data)
               data.workClientBank.forEach(i => {
                 this.bankInfos.push(i)
               })
               data.workClientLinkman.forEach(i => {
                 this.linkmanInfos.push(i)
               })
-              this.inputForm = data.workClientInfo
+              const deputyList = []
+              if (data.workClientInfo.deputy !== null && data.workClientInfo.deputy !== undefined && data.workClientInfo.deputy !== '') {
+                data.workClientInfo.deputy.split(',').forEach(item => {
+                  deputyList.push(item)
+                })
+              }
+              this.inputForm = JSON.parse(JSON.stringify(data.workClientInfo))
               this.inputForm.permissionFlag = data.permissionFlag
+              this.inputForm.deputyList = deputyList
               this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+              this.inputForm.hasUscc = JSON.stringify(this.inputForm.hasUscc)
+              console.log(this.inputForm)
               this.loading = false
             })
           }
@@ -584,7 +595,7 @@
             } else {
               this.inputForm.status = '5'
             }
-            this.projectService.save(this.inputForm).then(({data}) => {
+            this.workClientService.save(this.inputForm).then(({data}) => {
               this.close()
               this.$message.success(data)
               this.$emit('refreshDataList')