lex-xin il y a 5 ans
Parent
commit
f7f27707c5

+ 19 - 13
src/views/categroyManager/globalConfig.vue

@@ -7,26 +7,29 @@
       <!-- navMenu -->
       <el-tabs v-model.trim="activeIndex" type="card" @tab-click="handleClick">
         
-        <el-tab-pane label="声部设置" name="0" v-if="permissionList.musicalManager">
+        <el-tab-pane label="声部设置(对内)" name="0" v-if="permissionList.musicalManager">
             <musicalManager v-if="activeIndex == 0" />
         </el-tab-pane>
-        <el-tab-pane label="乐团收费类型" name="1" v-if="permissionList.typesManager">
-            <typesManager v-if="activeIndex == 1" />
+        <el-tab-pane label="声部设置(对外)" name="1" v-if="permissionList.musicalManagerOut">
+            <musicalManager v-if="activeIndex == 1" />
         </el-tab-pane>
-        <el-tab-pane label="乐团收费标准" name="2" v-if="permissionList.chargesList">
-          <chargesList v-if="activeIndex == 2" />
+        <el-tab-pane label="乐团收费类型" name="2" v-if="permissionList.typesManager">
+            <typesManager v-if="activeIndex == 2" />
         </el-tab-pane>
-        <el-tab-pane label="乐团作业模板" name="3" v-if="permissionList.jobTemplateSetting">
-            <jobTemplateSetting v-if="activeIndex == 3" />
+        <el-tab-pane label="乐团收费标准" name="3" v-if="permissionList.chargesList">
+          <chargesList v-if="activeIndex == 3" />
         </el-tab-pane>
-        <el-tab-pane label="热词标签" name="4" v-if="permissionList.errorManager">
-          <errorManager v-if="activeIndex == 4" />
+        <el-tab-pane label="乐团作业模板" name="4" v-if="permissionList.jobTemplateSetting">
+            <jobTemplateSetting v-if="activeIndex == 4" />
         </el-tab-pane>
-        <el-tab-pane label="参数设置" name="5" v-if="permissionList.overallManager">
-            <overallManager v-if="activeIndex == 5" />
+        <el-tab-pane label="热词标签" name="5" v-if="permissionList.errorManager">
+          <errorManager v-if="activeIndex == 5" />
         </el-tab-pane>
-        <el-tab-pane label="收费分润配置" name="6" v-if="permissionList.overallManagerTwo">
-            <overallManagerTwo v-if="activeIndex == 6" />
+        <el-tab-pane label="参数设置" name="6" v-if="permissionList.overallManager">
+            <overallManager v-if="activeIndex == 6" />
+        </el-tab-pane>
+        <el-tab-pane label="收费分润配置" name="7" v-if="permissionList.overallManagerTwo">
+            <overallManagerTwo v-if="activeIndex == 7" />
         </el-tab-pane>
       </el-tabs>
     </div>
@@ -36,6 +39,7 @@
 import overallManager from './generalSettings/overallManager'
 import overallManagerTwo from './generalSettings/overallManagerTwo'
 import musicalManager from './specialSetup/musicalManager'
+import musicalManagerOut from './specialSetup/musicalManagerOut'
 import typesManager from './specialSetup/typesManager'
 import jobTemplateSetting from './specialSetup/jobTemplateSetting'
 import errorManager from './generalSettings/errorManager'
@@ -46,6 +50,7 @@ export default {
     overallManager,
     overallManagerTwo,
     musicalManager, 
+    musicalManagerOut, 
     typesManager, 
     jobTemplateSetting, 
     errorManager,
@@ -59,6 +64,7 @@ export default {
         overallManager: permission('/globalConfig/overallManager'),
         overallManagerTwo: permission('/globalConfig/overallManagerTwo'),
         musicalManager: permission('/globalConfig/musicalManager'),
+        musicalManagerOut: permission('/globalConfig/musicalManagerOut'),
         typesManager: permission('/globalConfig/typesManager'),
         chargesList: permission('/globalConfig/chargesList'),
         jobTemplateSetting: permission('/globalConfig/jobTemplateSetting'),

+ 2 - 0
src/views/categroyManager/specialSetup/musicalManager.vue

@@ -99,6 +99,7 @@ export default {
       if (!this.oneTypeName) return
       subjectUpset({
         parentSubjectId: 0,
+        tenantId: 1,
         name: this.oneTypeName
       }).then(res => {
         this.messageTips('添加', res)
@@ -112,6 +113,7 @@ export default {
       if (!this.inputValue[index]) return
       subjectUpset({
         parentSubjectId: item.id,
+        tenantId: 1,
         name: this.inputValue[index]
       }).then(res => {
         this.messageTips('添加', res)

+ 255 - 0
src/views/categroyManager/specialSetup/musicalManagerOut.vue

@@ -0,0 +1,255 @@
+<template>
+  <div class='m-container'>
+    <!-- <h2>声部管理</h2> -->
+    <div class="m-core">
+      <!-- <div class='newBand'>添加</div> -->
+      <!-- 列表 -->
+      <el-row class="music-title">
+        <el-col :span="6">
+          一级分类
+          <el-popover placement="right"
+                      width="300"
+                      trigger="click">
+            <el-input v-model.trim="oneTypeName"
+                      size="medium"
+                      style="width: 73%"
+                      autocomplete="off"></el-input>
+            <el-button style="margin: 0;"
+                       @click="onAddMusic"
+                       type="primary"
+                       size="medium">提交</el-button>
+            <el-button slot="reference"
+                       type="primary"
+                       size="mini"
+                       round
+                       icon="el-icon-plus">添加</el-button>
+          </el-popover>
+
+        </el-col>
+        <el-col :span="18">
+          二级分类
+        </el-col>
+      </el-row>
+
+      <el-row v-for="(item, index) in subjectList"
+              :key="item.id">
+        <el-col :span="6">
+          <el-button @click="subjectDelete(item)"
+                     icon="el-icon-delete"
+                     circle></el-button>
+          <span class="one_name">{{ item.name }}</span>
+        </el-col>
+        <el-col :span="18"
+                class="tow_col">
+
+          <el-tag v-for="s in item.subjects"
+                  :key="s.id"
+                  type="info"
+                  effect="dark"
+                  closable
+                  :disable-transitions="false"
+                  @close="subjectDelete(s)"> {{s.name}}</el-tag>
+          <span style="display: inline-block;">
+            <el-input class="input-new-tag"
+                      v-if="item.inputStatus"
+                      v-model.trim="inputValue[index]"
+                      key="tag"
+                      ref="saveTagInput"
+                      size="small">
+            </el-input>
+            <el-button v-else
+                       key="tag"
+                       type="primary"
+                       size="mini"
+                       round
+                       icon="el-icon-plus"
+                       @click="item.inputStatus = true">添加</el-button>
+            <el-button v-if="item.inputStatus"
+                       type="info"
+                       size="mini"
+                       round
+                       icon="el-icon-check"
+                       @click="onSave(item, index)">保存</el-button>
+          </span>
+        </el-col>
+      </el-row>
+
+    </div>
+  </div>
+</template>
+<script>
+import pagination from '@/components/Pagination/index'
+import { subjectListTree, subjectUpset } from '@/api/specialSetting'
+export default {
+  components: { pagination },
+  name: 'musicalManager',
+  data () {
+    return {
+      oneTypeName: null, // 添加一级分类名称
+      subjectList: [],
+      inputValue: []
+    }
+  },
+  mounted () {
+    this.getList()
+  },
+  methods: {
+    onAddMusic () {
+      // 添加一级分类 
+      if (!this.oneTypeName) return
+      subjectUpset({
+        parentSubjectId: 0,
+        tenantId: 2,
+        name: this.oneTypeName
+      }).then(res => {
+        this.messageTips('添加', res)
+        if (res.code == 200) {
+          this.oneTypeName = null
+        }
+      })
+    },
+    onSave (item, index) {
+      // 添加二级分类 
+      if (!this.inputValue[index]) return
+      subjectUpset({
+        parentSubjectId: item.id,
+        tenantId: 2,
+        name: this.inputValue[index]
+      }).then(res => {
+        this.messageTips('添加', res)
+        if (res.code == 200) {
+          this.inputValue[index] = null
+        }
+      })
+    },
+    subjectDelete (item) { // 删除分类
+      subjectUpset({
+        delFlag: 'YES',
+        id: item.id
+      }).then(res => {
+        this.messageTips('删除', res)
+      })
+    },
+    messageTips (title, res) {
+      if (res.code == 200) {
+        this.$message.success(title + '成功')
+        this.getList()
+      } else {
+        this.$message.error(res.msg)
+      }
+    },
+    getList () {
+      subjectListTree({
+        delFlag: 0,
+        rows: 9999
+      }).then(res => {
+        let result = res.data
+        if (res.code == 200) {
+          let tempArray = []
+          result.rows.forEach(item => {
+            item.inputStatus = false
+            tempArray.push(item)
+          })
+          this.subjectList = tempArray
+        }
+      })
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+/deep/.el-popover {
+  .el-form {
+    display: flex;
+  }
+  .el-form-item__content {
+    margin-left: 0 !important;
+  }
+}
+.music-title {
+  font-size: 14px;
+  color: #444;
+  .el-col {
+    background-color: #edeef0;
+    padding-left: 36px;
+  }
+  /deep/.el-button {
+    float: right;
+    margin-top: 10px;
+    margin-right: 16px;
+  }
+}
+.el-row {
+  margin-bottom: 12px;
+  .el-col {
+    line-height: 48px;
+  }
+  .el-col-18 {
+    width: calc(75% - 20px);
+    margin-left: 20px;
+  }
+  .one_name {
+    padding-left: 10px;
+  }
+  .tow_col {
+    padding-left: 20px;
+    .el-button--primary {
+      background: #fff;
+      border-color: #979797;
+      color: #777;
+      &:hover,
+      &:active,
+      &:focus {
+        background: #fff;
+        border-color: #979797;
+        color: #777;
+      }
+    }
+  }
+  .tow_input {
+    width: 100px;
+    margin-right: 12px;
+  }
+}
+.el-button--primary {
+  background: #14928a;
+  border-color: #14928a;
+  color: #fff;
+  &:hover,
+  &:active,
+  &:focus {
+    background: #14928a;
+    border-color: #14928a;
+    color: #fff;
+  }
+}
+/deep/.el-date-editor.el-input {
+  width: 100% !important;
+}
+.el-select {
+  width: 98% !important;
+}
+.el-tag + .el-tag {
+  margin-left: 10px;
+}
+.button-new-tag {
+  margin-left: 10px;
+  height: 32px;
+  line-height: 30px;
+  padding-top: 0;
+  padding-bottom: 0;
+}
+.input-new-tag {
+  width: 90px;
+  // margin-left: 10px;
+  vertical-align: bottom;
+}
+.el-tag--dark.el-tag--info {
+  background-color: #f0f2f5;
+  border-color: #f0f2f5;
+  color: #5a5e66;
+  /deep/.el-tag__close {
+    background-color: #c0c4cc;
+  }
+}
+</style>