瀏覽代碼

业务类型10.12

caojunjie 1 年之前
父節點
當前提交
e1276b533b

+ 6 - 4
src/views/iosBasicData/bfeesdefine/index.vue

@@ -142,10 +142,10 @@
 
           treeOption: {
               nodeKey: "id",
-              lazy: true,
-              treeLoad: function(node, resolve) {
-                  const parentId = node.level === 0 ? 0 : node.data.id;
-              },
+              // lazy: true,
+              // treeLoad: function(node, resolve) {
+              //     const parentId = node.level === 0 ? 0 : node.data.id;
+              // },
               addBtn: false,
               menu: false,
               size: "small",
@@ -652,4 +652,6 @@
 ::v-deep .el-input-group__append {
     padding: 0 0px !important;
 }
+
+
 </style>

+ 10 - 6
src/views/iosBasicData/bvessels/index.vue

@@ -554,9 +554,11 @@
         },
 
       rowSave(row, done, loading) {
-          row.extendedDataArr.map(item=>{
-              delete item.edit
-          })
+            if (row.extendedDataArr) {
+                row.extendedDataArr.map(item=>{
+                    delete item.edit
+                })
+            }
           row.extendedData = JSON.stringify(row.extendedDataArr)
           delete row.extendedDataArr
         addBvessels(row).then(() => {
@@ -573,9 +575,11 @@
       },
       rowUpdate(row, index, done, loading) {
         // if (row.status === 1) {
-          row.extendedDataArr.map(item=>{
-              delete item.edit
-          })
+          if (row.extendedDataArr) {
+              row.extendedDataArr.map(item=>{
+                  delete item.edit
+              })
+          }
           row.extendedData = JSON.stringify(row.extendedDataArr)
           delete row.extendedDataArr
           updateBvessels(row).then(() => {

+ 34 - 34
src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue

@@ -25,21 +25,21 @@
                         <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8"
                                 :class="{ isShow: item.display }" >
                             <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                                <div v-if="item.prop == 'businessTypeCnName'">
-                                    <search-query ref="SearchQuery"
-                                                  :selectValue="form[item.prop]"
-                                                  :datalist="businessTypeData"
-                                                  title="业务类型"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :disabled="item.disabled || detailData.seeDisabled"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                                  @remoteMethod="bbusinesstypeListfun" @corpChange="businessTypeCorpChange" >
-                                        <bbusinesstype></bbusinesstype>
-                                    </search-query>
-                                </div>
-                                <el-select v-else-if="item.type == 'select'"  v-model="form[item.prop]" :placeholder="'请选择' + item.label" clearable
+                                <!--<div v-if="item.prop == 'businessTypeCnName'">-->
+                                <!--    <search-query ref="SearchQuery"-->
+                                <!--                  :selectValue="form[item.prop]"-->
+                                <!--                  :datalist="businessTypeData"-->
+                                <!--                  title="业务类型"-->
+                                <!--                  :filterable="true"-->
+                                <!--                  :clearable="true"-->
+                                <!--                  :remote="true"-->
+                                <!--                  :disabled="item.disabled || detailData.seeDisabled"-->
+                                <!--                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"-->
+                                <!--                  @remoteMethod="bbusinesstypeListfun" @corpChange="businessTypeCorpChange" >-->
+                                <!--        <bbusinesstype></bbusinesstype>-->
+                                <!--    </search-query>-->
+                                <!--</div>-->
+                                <el-select v-if="item.type == 'select'"  v-model="form[item.prop]" :placeholder="'请选择' + item.label" clearable
                                            filterable style="width: 100%" size="small"
                                            :disabled="item.disabled || detailData.seeDisabled">
                                     <el-option v-for="(ite, inde) in item.dicData" :key="inde" :label="ite.label"
@@ -256,25 +256,25 @@ export default {
                     //         trigger: "blur"
                     //     }]
                     // },
-                    {
-                        label: "业务类型",
-                        prop: "businessTypeCnName",
-                        rules: [{
-                            required: true,
-                            message: "",
-                            trigger: "blur"
-                        }]
-                    },
-                    {
-                        label: "业务类型英文",
-                        prop: "businessTypeEnName",
-                        disabled:true,
-                        rules: [{
-                            required: true,
-                            message: "请输入业务类型英文名称",
-                            trigger: "blur"
-                        }]
-                    },
+                    // {
+                    //     label: "业务类型",
+                    //     prop: "businessTypeCnName",
+                    //     rules: [{
+                    //         required: true,
+                    //         message: "",
+                    //         trigger: "blur"
+                    //     }]
+                    // },
+                    // {
+                    //     label: "业务类型英文",
+                    //     prop: "businessTypeEnName",
+                    //     disabled:true,
+                    //     rules: [{
+                    //         required: true,
+                    //         message: "请输入业务类型英文名称",
+                    //         trigger: "blur"
+                    //     }]
+                    // },
                     {
                         label: "模版编号",
                         prop: "code",

+ 140 - 71
src/views/iosBasicData/losbfeestemplate/index.vue

@@ -1,66 +1,87 @@
 <!--费用模板-->
 <template>
   <div>
-      <basic-container v-if="isShow">
-          <avue-crud :option="option"
-                     :table-loading="loading"
-                     :data="data"
-                     :page.sync="page"
-                     :permission="permissionList"
-                     id="out-table"
-                     :header-cell-class-name="headerClassName"
-                     :before-open="beforeOpen"
-                     v-model="form"
-                     ref="crud"
-                     @row-update="rowUpdate"
-                     @row-save="rowSave"
-                     @row-del="rowDel"
-                     @search-change="searchChange"
-                     @search-reset="searchReset"
-                     @selection-change="selectionChange"
-                     @current-change="currentChange"
-                     @size-change="sizeChange"
-                     @refresh-change="refreshChange"
-                     @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 303)"
-                     @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 303)"
-                     @on-load="onLoad">
-              <template slot="menuLeft">
-                  <el-button type="primary"
-                             size="small"
-                             icon="el-icon-plus"
-                             @click="addbtnfun()">新增费用模板
-                  </el-button>
-                  <el-button type="danger"
-                             size="small"
-                             icon="el-icon-delete"
-                             plain
-                             @click="handleDelete">删 除
-                  </el-button>
-              </template>
-              <template slot-scope="scope" slot="menu">
-                  <el-button
-                      :type="scope.type"
-                      :size="scope.size"
-                      icon="el-icon-edit"
-                      @click.stop="rowCellfun(scope.row, scope.index)"
-                  >编辑
-                  </el-button>
-                  <el-button
-                      :type="scope.type"
-                      :size="scope.size"
-                      icon="el-icon-delete"
-                      @click.stop="rowDel(scope.row, scope.index)"
-                  >删除
-                  </el-button>
-              </template>
-              <template slot="remarks" slot-scope="scope">
-                  <avue-text-ellipsis :text="scope.row.remarks" :height="30" use-tooltip placement="top">
-                      <small slot="more">...</small>
-                  </avue-text-ellipsis>
-              </template>
+      <el-row v-if="isShow">
+          <el-col :span="5">
+              <div class="box">
+                  <el-scrollbar>
+                      <basic-container>
+                          <avue-tree :option="treeOption" :data="feesTypeData" @node-click="nodeClick" >
+                              <template slot="addBtn">
+                                  <el-tooltip class="item" effect="dark" content="新建分类" placement="top">
+                                      <i class="el-icon-setting" style="font-size:18px;line-height: 30px;width: 20px;padding: 0 10px;"
+                                         @click="corpTypeVisible = true"></i>
+                                  </el-tooltip>
+                              </template>
+                          </avue-tree>
+                      </basic-container>
+                  </el-scrollbar>
+              </div>
+          </el-col>
+          <el-col :span="19">
+              <basic-container>
+                  <avue-crud :option="option"
+                             :table-loading="loading"
+                             :data="data"
+                             :page.sync="page"
+                             :search.sync="search"
+                             :permission="permissionList"
+                             id="out-table"
+                             :header-cell-class-name="headerClassName"
+                             :before-open="beforeOpen"
+                             v-model="form"
+                             ref="crud"
+                             @row-update="rowUpdate"
+                             @row-save="rowSave"
+                             @row-del="rowDel"
+                             @search-change="searchChange"
+                             @search-reset="searchReset"
+                             @selection-change="selectionChange"
+                             @current-change="currentChange"
+                             @size-change="sizeChange"
+                             @refresh-change="refreshChange"
+                             @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 303)"
+                             @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 303)"
+                             @on-load="onLoad">
+                      <template slot="menuLeft">
+                          <el-button type="primary"
+                                     size="small"
+                                     icon="el-icon-plus"
+                                     @click="addbtnfun()">新增费用模板
+                          </el-button>
+                          <el-button type="danger"
+                                     size="small"
+                                     icon="el-icon-delete"
+                                     plain
+                                     @click="handleDelete">删 除
+                          </el-button>
+                      </template>
+                      <template slot-scope="scope" slot="menu">
+                          <el-button
+                              :type="scope.type"
+                              :size="scope.size"
+                              icon="el-icon-edit"
+                              @click.stop="rowCellfun(scope.row, scope.index)"
+                          >编辑
+                          </el-button>
+                          <el-button
+                              :type="scope.type"
+                              :size="scope.size"
+                              icon="el-icon-delete"
+                              @click.stop="rowDel(scope.row, scope.index)"
+                          >删除
+                          </el-button>
+                      </template>
+                      <template slot="remarks" slot-scope="scope">
+                          <avue-text-ellipsis :text="scope.row.remarks" :height="30" use-tooltip placement="top">
+                              <small slot="more">...</small>
+                          </avue-text-ellipsis>
+                      </template>
 
-          </avue-crud>
-      </basic-container>
+                  </avue-crud>
+              </basic-container>
+          </el-col>
+      </el-row>
 
       <fees-templateItems ref="feesTemplateItems" v-if="!isShow" :detailData="detailData" @goBack="goBack"></fees-templateItems>
   </div>
@@ -70,11 +91,28 @@
   import {losbfeestemplateList, losbfeestemplateDetail, losbfeestemplateSubmit, losbfeestemplateRemove} from "@/api/iosBasicData/losbfeestemplate.js";
   import {mapGetters} from "vuex";
   import feesTemplateItems from "@/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue";
+  import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
 
   export default {
       components:{ feesTemplateItems},
     data() {
       return {
+          treeOption: {
+              nodeKey: "id",
+              // lazy: true,
+              addBtn: false,
+              menu: false,
+              size: "small",
+              props: {
+                  labelText: "标题",
+                  label: "cnName",
+                  value: "value",
+                  children: "children"
+              }
+          },
+          feesTypeData:[],
+          corpTypeVisible:false,
+
           // 详情传递的数据
           detailData:{},
           isShow:true,
@@ -87,6 +125,7 @@
           currentPage: 1,
           total: 0
         },
+          search:{},
         selectionList: [],
         option:{},
         optionBack: {
@@ -206,6 +245,15 @@
                 hide:true,
                 display:false,
             },
+              {
+                  label: "备注",
+                  prop: "remarks",
+                  span:24,
+                  type: 'textarea',
+                  width: "180",
+                  slot: true,
+                  minRows: 3,
+              },
             {
               label: "状态",
               prop: "status",
@@ -280,15 +328,7 @@
                   width: 160,
                   display:false,
               },
-            {
-              label: "备注",
-              prop: "remarks",
-                span:24,
-                type: 'textarea',
-                width: "180",
-                slot: true,
-                minRows: 3,
-            },
+
           ]
         },
         data: []
@@ -314,8 +354,15 @@
     },
       async created() {
           this.option = await this.getColumnData(this.getColumnName(303), this.optionBack);
+          this.bbusinesstypeListfun()
       },
     methods: {
+          // 获取左侧业务类别数据
+        bbusinesstypeListfun(){
+            bbusinesstypeList().then(res=>{
+                this.feesTypeData = res.data.data.records
+            })
+        },
         // 详情的返回列表
         goBack(){
             // 初始化数据
@@ -329,12 +376,31 @@
             this.isShow = true;
             this.onLoad(this.page, this.search);
         },
+        // 左侧筛选
+        nodeClick(data) {
+            console.log(data,331)
+            this.search.businessTypeId = data.id
+            this.detailData.businessTypeId = data.id
+            this.detailData.businessTypeCnName = data.cnName
+            this.detailData.businessTypeEnName = data.enName
+            this.onLoad(this.page,this.search);
+        },
         // 添加弹窗开启
         addbtnfun(){
-            this.detailData = {
-                seeDisabled: false,
-            };
+            if (!this.detailData.businessTypeId) {
+                this.$message({
+                    type: "warning",
+                    message: "请先选择业务类型!"
+                });
+                return
+            }
+            this.detailData.seeDisabled = false
             this.isShow = false
+            this.$nextTick(()=>{
+                this.$refs.feesTemplateItems.form.businessTypeId = this.detailData.businessTypeId
+                this.$refs.feesTemplateItems.form.businessTypeCnName = this.detailData.businessTypeCnName
+                this.$refs.feesTemplateItems.form.businessTypeEnName = this.detailData.businessTypeEnName
+            })
         },
         // 编辑详情打开
         rowCellfun(row,index){
@@ -506,4 +572,7 @@
 ::v-deep#out-table .back-two {
     background: #ecf5ff !important;
 }
+::v-deep .el-input-group__append {
+    padding: 0 0px !important;
+}
 </style>