|
@@ -8,7 +8,8 @@
|
|
|
<span slot-scope="{ node, data }" class="custom-tree-node">
|
|
|
<span>
|
|
|
<span v-if="data.category" style="border-radius: 50%;display: inline-block;padding: 2px 4px;line-height: 1;font-size: 12px;color: #fff;position: relative;margin-right: 5px;top: 0px;" :style="{backgroundColor: setOdinColor(data.category[0])}">{{ data.category[0].toUpperCase() }}</span>{{ node.label }}
|
|
|
- <el-tag v-for="item in data.deptSetting" :key="item.id" closable type="info" size="small" style="margin-left: 20px;" @close="handleClose(item, data, 'tag')">{{ item.value }}</el-tag>
|
|
|
+ <el-tag v-for="item in data.deptSetting" :key="item.id" closable type="info" size="small" style="margin-left: 20px;" @close="handleClose(item, data, 'tag')">
|
|
|
+ <el-tooltip class="item" effect="dark" :content="find(item.id).deptPath" placement="top"><span>{{ item.value }}</span></el-tooltip></el-tag>
|
|
|
</span>
|
|
|
<span>
|
|
|
<el-button class="teamDeleteText" type="text" @click="() => append(data)">设置</el-button>
|
|
@@ -23,11 +24,12 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-else label="团队">
|
|
|
- <el-select v-model="setTeam.value" filterable remote style="width: 100%" reserve-keyword placeholder="请选择" :remote-method="remoteMethod">
|
|
|
- <el-option v-for="item in options" :key="item.deptCode" :label="item.deptName" :value="item.deptCode">
|
|
|
- {{ item.deptLevel }} {{ item.deptName }}
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
+ <Cascader ref="Cascader" v-model="setTeam.value" :multiple="false" />
|
|
|
+<!-- <el-select v-model="setTeam.value" filterable remote style="width: 100%" reserve-keyword placeholder="请选择" :remote-method="remoteMethod">-->
|
|
|
+<!-- <el-option v-for="item in options" :key="item.deptCode" :label="item.deptName" :value="item.deptCode">-->
|
|
|
+<!-- {{ item.deptLevel }} {{ item.deptName }}-->
|
|
|
+<!-- </el-option>-->
|
|
|
+<!-- </el-select>-->
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</normal-dialog>
|
|
@@ -42,9 +44,10 @@
|
|
|
|
|
|
<script>
|
|
|
import normalDialog from '@/components/dialog/normalDialog'
|
|
|
+import Cascader from '@/views/monthlyReport/childrenPage/editReport/components/Cascader'
|
|
|
import { getDeptByKeyWord, createOdinDeptRel, deleteOdinBizRel, getOdinTree, getOdinNodeByParentId, addShowOdinNode } from '@/api/qualityMonthlyReport'
|
|
|
export default {
|
|
|
- components: { normalDialog },
|
|
|
+ components: { normalDialog, Cascader },
|
|
|
data() {
|
|
|
return {
|
|
|
deleteTeamBizDialog: false, // 删除
|
|
@@ -73,6 +76,11 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ computed: {
|
|
|
+ selectEnum() {
|
|
|
+ return this.$store.state.monthlyReportEdit.selectEnum
|
|
|
+ }
|
|
|
+ },
|
|
|
watch: {
|
|
|
filterText(val) {
|
|
|
this.$refs.tree.filter(val)
|
|
@@ -81,6 +89,8 @@ export default {
|
|
|
created() {
|
|
|
this.getOdinTree(null)
|
|
|
this.getOdinNodeByParentId(138396)
|
|
|
+ // 获取部门数据
|
|
|
+ this.$store.dispatch('monthlyReportEdit/setSelectEnum')
|
|
|
},
|
|
|
methods: {
|
|
|
getOdinTree(e) {
|
|
@@ -138,6 +148,10 @@ export default {
|
|
|
list.push({ deptId: item.deptCode, deptName: item.deptName })
|
|
|
}
|
|
|
})
|
|
|
+ // console.log(this.setTeam.value, this.find(this.setTeam.value))
|
|
|
+ const setTeam = this.find(this.setTeam.value)
|
|
|
+ list.push({ deptId: setTeam.value, deptName: setTeam.label })
|
|
|
+ // find()
|
|
|
const obj = { ...this.nodeData, depts: list, odinNsName: this.typeVal.ns }
|
|
|
const res = await createOdinDeptRel(obj)
|
|
|
if (res.code === 200) {
|
|
@@ -154,10 +168,14 @@ export default {
|
|
|
},
|
|
|
append(val) { // 设置
|
|
|
this.setTeam = {}
|
|
|
+ setTimeout(() => {
|
|
|
+ this.$refs.Cascader.selectValue = []
|
|
|
+ })
|
|
|
this.typeVal = val
|
|
|
this.showTreeNodeDialog = true
|
|
|
if (val === 'add') return
|
|
|
this.nodeData = { odinId: val.id, odinNs: val.name, odinNsName: val.ns }
|
|
|
+ this.$forceUpdate()
|
|
|
},
|
|
|
// 设置odin节点前置图标颜色
|
|
|
setOdinColor(keyword) {
|
|
@@ -166,6 +184,27 @@ export default {
|
|
|
if (keyword === 's') return 'rgba(14,180,0,0.65)'
|
|
|
if (keyword === 'c') return '#E09D6C'
|
|
|
return ''
|
|
|
+ },
|
|
|
+ // 查找对应的部门数据
|
|
|
+ find(id) {
|
|
|
+ console.log(187, id)
|
|
|
+ let name = ''
|
|
|
+ const run = (arr) => {
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ const elm = arr[i]
|
|
|
+ if (`${elm.value}` === `${id}`) {
|
|
|
+ console.log(elm)
|
|
|
+ name = elm
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (elm.children) {
|
|
|
+ run(elm.children)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // console.log(this.selectEnum)
|
|
|
+ run(this.selectEnum)
|
|
|
+ return name
|
|
|
}
|
|
|
}
|
|
|
}
|