Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -312,7 +312,8 @@
|
|||||||
path:'/docManage/splitting/splitDetail',
|
path:'/docManage/splitting/splitDetail',
|
||||||
query: {
|
query: {
|
||||||
infoId:val.id,
|
infoId:val.id,
|
||||||
infoNumber:val.serialNumber
|
infoNumber:val.serialNumber,
|
||||||
|
createBy:val.createBy
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
<div class="split-detail-wrap">
|
<div class="split-detail-wrap">
|
||||||
<div class="split-detail-left">
|
<div class="split-detail-left">
|
||||||
<div class="split-detail-left-tree">
|
<div class="split-detail-left-tree">
|
||||||
<a-input-search style="margin-bottom: 8px" :placeholder="$t('NodeQuickLookup')" @change="onLeftChange" @search="onSearch" />
|
<a-input-search style="margin-bottom: 8px" :placeholder="$t('NodeQuickLookup')" @change="onLeftChange"
|
||||||
|
@search="onSearch"/>
|
||||||
<a-tree
|
<a-tree
|
||||||
v-if="gData.length>0"
|
v-if="gData.length>0"
|
||||||
:selected-keys="selectedKeys"
|
:selected-keys="selectedKeys"
|
||||||
@@ -21,13 +22,19 @@
|
|||||||
<template #title="{ key: treeKey, title, record }">
|
<template #title="{ key: treeKey, title, record }">
|
||||||
<a-dropdown :trigger="['contextmenu']">
|
<a-dropdown :trigger="['contextmenu']">
|
||||||
<!-- <span>{{ title }}</span>-->
|
<!-- <span>{{ title }}</span>-->
|
||||||
<span v-if="title.indexOf(searchValue) >= -1 && title.length <= 18" :title="title" class="expand-title">
|
<span v-if="title.indexOf(searchValue) >= -1 && title.length <= 18" :title="title"
|
||||||
{{ title.substr(0, title.indexOf(searchValue)) }}<span style="color: #f50">{{ searchValue }}</span>{{ title.substr(title.indexOf(searchValue) + searchValue.length) }}
|
class="expand-title">
|
||||||
|
{{ title.substr(0, title.indexOf(searchValue)) }}<span
|
||||||
|
style="color: #f50">{{ searchValue }}</span>{{ title.substr(title.indexOf(searchValue) + searchValue.length) }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else-if="title.indexOf(searchValue) >= -1 && title.length > 18 && title.indexOf(searchValue)>18" :title="title">
|
<span
|
||||||
|
v-else-if="title.indexOf(searchValue) >= -1 && title.length > 18 && title.indexOf(searchValue)>18"
|
||||||
|
:title="title">
|
||||||
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
||||||
</span>
|
</span>
|
||||||
<span v-else-if="title.indexOf(searchValue) >= -1 && title.length > 18 && title.indexOf(searchValue)<=18" :title="title">
|
<span
|
||||||
|
v-else-if="title.indexOf(searchValue) >= -1 && title.length > 18 && title.indexOf(searchValue)<=18"
|
||||||
|
:title="title">
|
||||||
{{ title.substr(0, title.indexOf(searchValue)) }}<span style="color: #f50">{{ title.indexOf(searchValue)+searchValue.length>18?searchValue.substr(0,18-title.indexOf(searchValue)) : searchValue }}</span>{{ title.indexOf(searchValue)+searchValue.length>18?'...': title.substr(title.indexOf(searchValue) + searchValue.length,18-title.indexOf(searchValue) - searchValue.length)+'...' }}
|
{{ title.substr(0, title.indexOf(searchValue)) }}<span style="color: #f50">{{ title.indexOf(searchValue)+searchValue.length>18?searchValue.substr(0,18-title.indexOf(searchValue)) : searchValue }}</span>{{ title.indexOf(searchValue)+searchValue.length>18?'...': title.substr(title.indexOf(searchValue) + searchValue.length,18-title.indexOf(searchValue) - searchValue.length)+'...' }}
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
@@ -35,10 +42,16 @@
|
|||||||
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
{{title && title.length > 18?title.slice(0,17)+'...':title}}
|
||||||
</span>
|
</span>
|
||||||
<template #overlay>
|
<template #overlay>
|
||||||
<a-menu @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
|
<a-menu v-if="$route.query.createBy == userData.username"
|
||||||
<a-menu-item key="1" @click="orgAdd" v-has="'split:sarFileSplitMenu:add'">{{$t('newNode')}}</a-menu-item>
|
@click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">
|
||||||
<a-menu-item key="2" @click="orgEdit" v-has="'split:sarFileSplitMenu:update'">{{$t('modifyNode')}}</a-menu-item>
|
<a-menu-item key="1" @click="orgAdd" v-has="'split:sarFileSplitMenu:add'">{{$t('newNode')}}
|
||||||
<a-menu-item key="3" @click="orgDelete" v-if="deleteNode" v-has="'split:sarFileSplitMenu:delete'">{{$t('deleteNode')}}</a-menu-item>
|
</a-menu-item>
|
||||||
|
<a-menu-item key="2" @click="orgEdit" v-has="'split:sarFileSplitMenu:update'">
|
||||||
|
{{$t('modifyNode')}}
|
||||||
|
</a-menu-item>
|
||||||
|
<a-menu-item key="3" @click="orgDelete" v-if="deleteNode"
|
||||||
|
v-has="'split:sarFileSplitMenu:delete'">{{$t('deleteNode')}}
|
||||||
|
</a-menu-item>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
@@ -53,37 +66,54 @@
|
|||||||
:menuId="menuId" @resetSearch="resetSearch" @queryParams="queryParamsValues"/>
|
:menuId="menuId" @resetSearch="resetSearch" @queryParams="queryParamsValues"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text" @click="handleCopyManage" v-has="'split:sarFileSplitItems:copy'">
|
<div class="operator-text" @click="handleCopyManage"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:copy'">
|
||||||
<a-icon type="copy"/>
|
<a-icon type="copy"/>
|
||||||
{{ $t('copy') }}
|
{{ $t('copy') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleAddManage" v-has="'split:sarFileSplitItems:add'">
|
<div class="operator-text" @click="handleAddManage"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:add'">
|
||||||
<a-icon type="plus"/>
|
<a-icon type="plus"/>
|
||||||
{{ $t('add') }}
|
{{ $t('add') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text upload-split" @click="handleImportManage" v-has="'split:sarFileSplitItems:import'">
|
<div class="operator-text upload-split"
|
||||||
<a-icon type="import" :rotate="-90" v-if="uploadMenuId===undefined||uploadMenuId===''" />{{ (uploadMenuId===''||uploadMenuId===undefined)? $t('import'):'' }}
|
v-if="$route.query.createBy == userData.username"
|
||||||
<upload v-if="menuId" ref="uploadSplit":infoId="infoId" :menuId="uploadMenuId" @uploadSuccess="uploadSuccess"></upload>
|
@click="handleImportManage" v-has="'split:sarFileSplitItems:import'">
|
||||||
|
<a-icon type="import" :rotate="-90" v-if="uploadMenuId===undefined||uploadMenuId===''"/>
|
||||||
|
{{ (uploadMenuId===''||uploadMenuId===undefined)? $t('import'):'' }}
|
||||||
|
<upload v-if="menuId" ref="uploadSplit" :infoId="infoId" :menuId="uploadMenuId"
|
||||||
|
@uploadSuccess="uploadSuccess"></upload>
|
||||||
<!-- <ImportFile :url="url"/>-->
|
<!-- <ImportFile :url="url"/>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleExportManage" v-has="'split:sarFileSplitItems:export'">
|
<div class="operator-text" @click="handleExportManage"
|
||||||
|
v-has="'split:sarFileSplitItems:export'">
|
||||||
<a-icon type="export" :rotate="-90"/>
|
<a-icon type="export" :rotate="-90"/>
|
||||||
{{ $t('export') }}
|
{{ $t('export') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleDownManage" v-has="'split:sarFileSplitItems:template'">
|
<div class="operator-text" @click="handleDownManage"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:template'">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{ $t('TemplateDownload') }}
|
{{ $t('TemplateDownload') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleMergeManage" v-has="'split:sarFileSplitItems:merge'">
|
<div class="operator-text" @click="handleMergeManage"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:merge'">
|
||||||
<a-icon type="snippets"/>
|
<a-icon type="snippets"/>
|
||||||
{{ $t('MergerClause') }}
|
{{ $t('MergerClause') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleManage" v-has="'split:sarFileSplitItems:set'">
|
<div class="operator-text" @click="handleManage"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:set'">
|
||||||
<a-icon type="setting"/>
|
<a-icon type="setting"/>
|
||||||
{{ $t('BatchSetting') }}
|
{{ $t('BatchSetting') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleBatCancel" v-has="'split:sarFileSplitItems:delete'">
|
<div class="operator-text" @click="handleBatCancel"
|
||||||
|
v-if="$route.query.createBy == userData.username"
|
||||||
|
v-has="'split:sarFileSplitItems:delete'">
|
||||||
<a-icon type="delete"/>
|
<a-icon type="delete"/>
|
||||||
{{ $t('BatchDelete') }}
|
{{ $t('BatchDelete') }}
|
||||||
</div>
|
</div>
|
||||||
@@ -96,7 +126,7 @@
|
|||||||
:OperationList="OperationList"
|
:OperationList="OperationList"
|
||||||
:infoId="$route.query.infoId"
|
:infoId="$route.query.infoId"
|
||||||
:menuId="menuId"
|
:menuId="menuId"
|
||||||
:showAction="true"
|
:showAction="$route.query.createBy == userData.username ? true :false"
|
||||||
@onSelectChange="onSelectChange"
|
@onSelectChange="onSelectChange"
|
||||||
@deleteClick="deleteClick"
|
@deleteClick="deleteClick"
|
||||||
@editClick="editClick"
|
@editClick="editClick"
|
||||||
@@ -140,7 +170,9 @@
|
|||||||
<a-input v-model="form.itemName" :placeholder="$t('PleaseEnter')+$t('clauseName')"/>
|
<a-input v-model="form.itemName" :placeholder="$t('PleaseEnter')+$t('clauseName')"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
<a-form-model-item :label="$t('serialNumber')" prop="displaySeq">
|
<a-form-model-item :label="$t('serialNumber')" prop="displaySeq">
|
||||||
<a-input-number v-model="form.displaySeq" :min="1" :max="99999" :placeholder="$t('PleaseEnter')+$t('serialNumber')" :formatter="limitNumber" :parser="limitNumber" style="width: 100%" />
|
<a-input-number v-model="form.displaySeq" :min="1" :max="99999"
|
||||||
|
:placeholder="$t('PleaseEnter')+$t('serialNumber')" :formatter="limitNumber"
|
||||||
|
:parser="limitNumber" style="width: 100%"/>
|
||||||
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
|
<!-- <a-input-number v-model="rowCount" :min="1" :placeholder="$t('pleaseEnter')+$t('numberRows')" :formatter="limitNumber" :parser="limitNumber" />-->
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</a-form-model>
|
</a-form-model>
|
||||||
@@ -164,7 +196,9 @@
|
|||||||
:ids="ids">
|
:ids="ids">
|
||||||
</split-bat-form>
|
</split-bat-form>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<split-add-form ref="splitForm" v-if="addVisible" :addVisible="addVisible" :formTitle="formTitle" :flag="'4'" :url="url" :infoId="infoId" :menuId="menuId" :itemId="itemId" @closeVisible="closeVisible" @sumber="sumber"></split-add-form>
|
<split-add-form ref="splitForm" v-if="addVisible" :addVisible="addVisible" :formTitle="formTitle" :flag="'4'"
|
||||||
|
:url="url" :infoId="infoId" :menuId="menuId" :itemId="itemId" @closeVisible="closeVisible"
|
||||||
|
@sumber="sumber"></split-add-form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</a-card>
|
</a-card>
|
||||||
@@ -185,6 +219,8 @@
|
|||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
import eventBUs from '@/common/event'
|
import eventBUs from '@/common/event'
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SplitDetail',
|
name: 'SplitDetail',
|
||||||
components: {
|
components: {
|
||||||
@@ -192,12 +228,13 @@
|
|||||||
TableData,
|
TableData,
|
||||||
SplitBatForm,
|
SplitBatForm,
|
||||||
SplitAddForm,
|
SplitAddForm,
|
||||||
upload,
|
upload
|
||||||
// ImportFile
|
// ImportFile
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
labelCol: { span: 6 },
|
labelCol: { span: 6 },
|
||||||
|
userData: {},
|
||||||
wrapperCol: { span: 16 },
|
wrapperCol: { span: 16 },
|
||||||
contentVisible: false, //条款内容弹框显示
|
contentVisible: false, //条款内容弹框显示
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@@ -230,16 +267,16 @@
|
|||||||
rules: {
|
rules: {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: this.$t('PleaseEnter') + this.$t('clauseNo'), trigger: 'blur' },
|
{ required: true, message: this.$t('PleaseEnter') + this.$t('clauseNo'), trigger: 'blur' },
|
||||||
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' },
|
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' }
|
||||||
],
|
],
|
||||||
itemName: [
|
itemName: [
|
||||||
{ required: true, message: this.$t('PleaseEnter') + this.$t('clauseName'), trigger: 'blur' },
|
{ required: true, message: this.$t('PleaseEnter') + this.$t('clauseName'), trigger: 'blur' },
|
||||||
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' },
|
{ min: 1, max: 200, message: this.$t('cantExeed') + '200' + this.$t('characters'), trigger: 'blur' }
|
||||||
],
|
],
|
||||||
displaySeq: [
|
displaySeq: [
|
||||||
{ required: true, message: this.$t('PleaseEnter')+this.$t('serialNumber'), trigger: 'blur' },
|
{ required: true, message: this.$t('PleaseEnter') + this.$t('serialNumber'), trigger: 'blur' }
|
||||||
// { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' },
|
// { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' },
|
||||||
],
|
]
|
||||||
},
|
},
|
||||||
infoId: '',
|
infoId: '',
|
||||||
menuId: '',
|
menuId: '',
|
||||||
@@ -266,11 +303,11 @@
|
|||||||
addInfo: '/jero-boot/split/sarFileSplitItems/addSplitItems', //新增
|
addInfo: '/jero-boot/split/sarFileSplitItems/addSplitItems', //新增
|
||||||
updateInfo: '/jero-boot/split/sarFileSplitItems/updateSplitItems', //编辑
|
updateInfo: '/jero-boot/split/sarFileSplitItems/updateSplitItems', //编辑
|
||||||
getDocumentInfo: 'split/sarFileSplitItems/getSplitItemsById',
|
getDocumentInfo: 'split/sarFileSplitItems/getSplitItemsById',
|
||||||
importZipUrl: '/split/sarFileSplitItems/importSplitItems',//导入
|
importZipUrl: '/split/sarFileSplitItems/importSplitItems'//导入
|
||||||
},
|
},
|
||||||
urlBatSet: {
|
urlBatSet: {
|
||||||
getAddForm: 'split/sarFileSplitItems/getBatchSetForm',
|
getAddForm: 'split/sarFileSplitItems/getBatchSetForm',
|
||||||
addInfo:'/jero-boot/split/sarFileSplitItems/batchSet',
|
addInfo: '/jero-boot/split/sarFileSplitItems/batchSet'
|
||||||
},
|
},
|
||||||
batSetVisible: false, //批量设置弹框显示
|
batSetVisible: false, //批量设置弹框显示
|
||||||
ids: '',
|
ids: '',
|
||||||
@@ -283,7 +320,7 @@
|
|||||||
parameter: {},
|
parameter: {},
|
||||||
widthBrown: '',
|
widthBrown: '',
|
||||||
creenWidth: document.body.clientWidth,
|
creenWidth: document.body.clientWidth,
|
||||||
brownHeight:document.documentElement.clientHeight,
|
brownHeight: document.documentElement.clientHeight
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -297,11 +334,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed:{
|
computed: {},
|
||||||
|
|
||||||
},
|
|
||||||
mounted() {
|
mounted() {
|
||||||
const that = this;
|
const that = this
|
||||||
let client = ''
|
let client = ''
|
||||||
let width = ''
|
let width = ''
|
||||||
// this.widthBrown = window.screenWidth || document.body.clientWidth;
|
// this.widthBrown = window.screenWidth || document.body.clientWidth;
|
||||||
@@ -321,14 +356,15 @@
|
|||||||
// }, false);
|
// }, false);
|
||||||
|
|
||||||
|
|
||||||
|
this.userData = this.userInfo()
|
||||||
this.infoId = this.$route.query.infoId
|
this.infoId = this.$route.query.infoId
|
||||||
console.log('info', this.$route.query)
|
console.log('info', this.$route.query)
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
// this.loadData()
|
// this.loadData()
|
||||||
this.generateList(this.gData);
|
this.generateList(this.gData)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapGetters(['userInfo']),
|
||||||
//显示条款内容弹框
|
//显示条款内容弹框
|
||||||
showContent(val) {
|
showContent(val) {
|
||||||
this.contentVisible = true
|
this.contentVisible = true
|
||||||
@@ -336,52 +372,52 @@
|
|||||||
},
|
},
|
||||||
//关闭条款内容弹框
|
//关闭条款内容弹框
|
||||||
handleCancel() {
|
handleCancel() {
|
||||||
this.contentVisible = false;
|
this.contentVisible = false
|
||||||
},
|
},
|
||||||
generateList(data) {
|
generateList(data) {
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
const node = data[i];
|
const node = data[i]
|
||||||
const key = node.key;
|
const key = node.key
|
||||||
this.dataList.push({ key, title: key });
|
this.dataList.push({ key, title: key })
|
||||||
if (node.children) {
|
if (node.children) {
|
||||||
this.generateList(node.children);
|
this.generateList(node.children)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
getParentKey(key, tree) {
|
getParentKey(key, tree) {
|
||||||
let parentKey;
|
let parentKey
|
||||||
for (let i = 0; i < tree.length; i++) {
|
for (let i = 0; i < tree.length; i++) {
|
||||||
const node = tree[i];
|
const node = tree[i]
|
||||||
if (node.children) {
|
if (node.children) {
|
||||||
if (node.children.some(item => item.key === key)) {
|
if (node.children.some(item => item.key === key)) {
|
||||||
parentKey = node.key;
|
parentKey = node.key
|
||||||
} else if (this.getParentKey(key, node.children)) {
|
} else if (this.getParentKey(key, node.children)) {
|
||||||
parentKey = this.getParentKey(key, node.children);
|
parentKey = this.getParentKey(key, node.children)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return parentKey;
|
return parentKey
|
||||||
},
|
},
|
||||||
onExpand(expandedKeys) {
|
onExpand(expandedKeys) {
|
||||||
// console.log('expandedKeys',expandedKeys)
|
// console.log('expandedKeys',expandedKeys)
|
||||||
this.expandedKeys = expandedKeys;
|
this.expandedKeys = expandedKeys
|
||||||
this.autoExpandParent = false;
|
this.autoExpandParent = false
|
||||||
},
|
},
|
||||||
onLeftChange(e) {
|
onLeftChange(e) {
|
||||||
const value = e.target.value;
|
const value = e.target.value
|
||||||
const expandedKeys = this.dataList
|
const expandedKeys = this.dataList
|
||||||
.map(item => {
|
.map(item => {
|
||||||
if (item.title.indexOf(value) > -1) {
|
if (item.title.indexOf(value) > -1) {
|
||||||
return this.getParentKey(item.key, this.gData);
|
return this.getParentKey(item.key, this.gData)
|
||||||
}
|
}
|
||||||
return null;
|
return null
|
||||||
})
|
})
|
||||||
.filter((item, i, self) => item && self.indexOf(item) === i);
|
.filter((item, i, self) => item && self.indexOf(item) === i)
|
||||||
Object.assign(this, {
|
Object.assign(this, {
|
||||||
expandedKeys,
|
expandedKeys,
|
||||||
searchValue: value,
|
searchValue: value,
|
||||||
autoExpandParent: true,
|
autoExpandParent: true
|
||||||
})
|
})
|
||||||
this.onSearch()
|
this.onSearch()
|
||||||
},
|
},
|
||||||
@@ -397,7 +433,7 @@
|
|||||||
this.gData = [...this.data]
|
this.gData = [...this.data]
|
||||||
Object.assign(this, {
|
Object.assign(this, {
|
||||||
expandedKeys: this.expandedKeys,
|
expandedKeys: this.expandedKeys,
|
||||||
autoExpandParent: true,
|
autoExpandParent: true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
@@ -408,29 +444,29 @@
|
|||||||
toTree(config) {
|
toTree(config) {
|
||||||
// 删除 所有 children,以防止多次调用
|
// 删除 所有 children,以防止多次调用
|
||||||
config.forEach(function(item) {
|
config.forEach(function(item) {
|
||||||
delete item.children;
|
delete item.children
|
||||||
});
|
})
|
||||||
// 将数据存储为 以 id 为 KEY 的 map 索引数据列
|
// 将数据存储为 以 id 为 KEY 的 map 索引数据列
|
||||||
let map = {};
|
let map = {}
|
||||||
config.forEach((item) => {
|
config.forEach((item) => {
|
||||||
item.label = item.name;
|
item.label = item.name
|
||||||
item.key=item.id;
|
item.key = item.id
|
||||||
item.title = item.name + (item.itemName ? ' ' + item.itemName : '')
|
item.title = item.name + (item.itemName ? ' ' + item.itemName : '')
|
||||||
map[item.id] = item;
|
map[item.id] = item
|
||||||
});
|
})
|
||||||
let val = [];
|
let val = []
|
||||||
config.forEach((item) => {
|
config.forEach((item) => {
|
||||||
// 以当前遍历项,的pid,去map对象中找到索引的id
|
// 以当前遍历项,的pid,去map对象中找到索引的id
|
||||||
let parent = map[item.pid];
|
let parent = map[item.pid]
|
||||||
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
|
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
|
||||||
if (parent) {
|
if (parent) {
|
||||||
(parent.children || (parent.children = [])).push(item);
|
(parent.children || (parent.children = [])).push(item)
|
||||||
} else {
|
} else {
|
||||||
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
|
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
|
||||||
val.push(item);
|
val.push(item)
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
return val;
|
return val
|
||||||
},
|
},
|
||||||
//鼠标右键
|
//鼠标右键
|
||||||
rightClick({ event, node }) {
|
rightClick({ event, node }) {
|
||||||
@@ -439,8 +475,8 @@
|
|||||||
// console.log('eee',event,node)
|
// console.log('eee',event,node)
|
||||||
// this.NodeTreeItemVisible=true
|
// this.NodeTreeItemVisible=true
|
||||||
const x =
|
const x =
|
||||||
event.currentTarget.offsetLeft + event.currentTarget.clientWidth;
|
event.currentTarget.offsetLeft + event.currentTarget.clientWidth
|
||||||
const y = event.currentTarget.offsetTop;
|
const y = event.currentTarget.offsetTop
|
||||||
this.NodeTreeItem = {
|
this.NodeTreeItem = {
|
||||||
pageX: x,
|
pageX: x,
|
||||||
pageY: y,
|
pageY: y,
|
||||||
@@ -450,7 +486,7 @@
|
|||||||
displaySeq: node._props.dataRef.displaySeq,
|
displaySeq: node._props.dataRef.displaySeq,
|
||||||
title: node._props.dataRef.title,
|
title: node._props.dataRef.title,
|
||||||
pid: node._props.dataRef.pid || null
|
pid: node._props.dataRef.pid || null
|
||||||
};
|
}
|
||||||
this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem))
|
this.nodeItem = JSON.parse(JSON.stringify(this.NodeTreeItem))
|
||||||
// this.form.pid=this.NodeTreeItem.id
|
// this.form.pid=this.NodeTreeItem.id
|
||||||
// this.form.id=this.NodeTreeItem.id
|
// this.form.id=this.NodeTreeItem.id
|
||||||
@@ -462,12 +498,12 @@
|
|||||||
top: `${y + 6 - 0}px`,
|
top: `${y + 6 - 0}px`,
|
||||||
background: `#FFFFFF`,
|
background: `#FFFFFF`,
|
||||||
zIndex: `2`
|
zIndex: `2`
|
||||||
};
|
}
|
||||||
// console.log('NodeTreeItem',this.NodeTreeItem)
|
// console.log('NodeTreeItem',this.NodeTreeItem)
|
||||||
},
|
},
|
||||||
// 用于点击空白处隐藏增删改菜单
|
// 用于点击空白处隐藏增删改菜单
|
||||||
clearMenu() {
|
clearMenu() {
|
||||||
this.NodeTreeItem = null;
|
this.NodeTreeItem = null
|
||||||
// this.NodeTreeItemVisible=false
|
// this.NodeTreeItemVisible=false
|
||||||
},
|
},
|
||||||
//选择树节点
|
//选择树节点
|
||||||
@@ -477,7 +513,7 @@
|
|||||||
this.selectedKeys = selectedKeys
|
this.selectedKeys = selectedKeys
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
this.parameter.info_id = this.infoId
|
this.parameter.info_id = this.infoId
|
||||||
@@ -518,7 +554,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -530,7 +566,7 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
onContextMenuClick(treeKey, menuKey,) {
|
onContextMenuClick(treeKey, menuKey) {
|
||||||
// console.log(`treeKey: ${treeKey}, menuKey: ${menuKey}`);
|
// console.log(`treeKey: ${treeKey}, menuKey: ${menuKey}`);
|
||||||
},
|
},
|
||||||
//清空按钮
|
//清空按钮
|
||||||
@@ -551,7 +587,7 @@
|
|||||||
let params = {
|
let params = {
|
||||||
infoId: this.infoId,
|
infoId: this.infoId,
|
||||||
pid: this.nodeItem.id,
|
pid: this.nodeItem.id,
|
||||||
...this.form,
|
...this.form
|
||||||
}
|
}
|
||||||
this.$refs.ruleForm.validate(valid => {
|
this.$refs.ruleForm.validate(valid => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
@@ -570,7 +606,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -588,7 +624,7 @@
|
|||||||
} else {
|
} else {
|
||||||
let params = {
|
let params = {
|
||||||
info_id: this.infoId,
|
info_id: this.infoId,
|
||||||
...this.form,
|
...this.form
|
||||||
}
|
}
|
||||||
if (!this.flag) {
|
if (!this.flag) {
|
||||||
this.flag = true
|
this.flag = true
|
||||||
@@ -683,7 +719,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -694,7 +730,7 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
onCancel() {
|
onCancel() {
|
||||||
},
|
}
|
||||||
})
|
})
|
||||||
} else if (menuIds.length == 0) {
|
} else if (menuIds.length == 0) {
|
||||||
this.$message.warning(this.$t('PleaseSelectData'))
|
this.$message.warning(this.$t('PleaseSelectData'))
|
||||||
@@ -730,7 +766,7 @@
|
|||||||
if (status === 'success') {
|
if (status === 'success') {
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
@@ -813,7 +849,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -855,7 +891,7 @@
|
|||||||
this.selectClear()
|
this.selectClear()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -894,7 +930,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -905,13 +941,14 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log(error);
|
console.log(error)
|
||||||
});
|
})
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
onCancel() {},
|
onCancel() {
|
||||||
});
|
}
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
@@ -963,7 +1000,7 @@
|
|||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
let queryParam = {
|
let queryParam = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId,
|
info_id: this.infoId
|
||||||
|
|
||||||
}
|
}
|
||||||
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
||||||
@@ -973,8 +1010,8 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log(error);
|
console.log(error)
|
||||||
});
|
})
|
||||||
|
|
||||||
|
|
||||||
// postAction(`split/sarFileSplitItems/batchDeleteItems`,params).then(res=> {
|
// postAction(`split/sarFileSplitItems/batchDeleteItems`,params).then(res=> {
|
||||||
@@ -991,12 +1028,13 @@
|
|||||||
// }
|
// }
|
||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
onCancel() {},
|
onCancel() {
|
||||||
});
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
//选择框
|
//选择框
|
||||||
onSelectChange(selectedRowKeys, rows) {
|
onSelectChange(selectedRowKeys, rows) {
|
||||||
this.selectedRowKeys = selectedRowKeys;
|
this.selectedRowKeys = selectedRowKeys
|
||||||
this.selectedRows = rows
|
this.selectedRows = rows
|
||||||
this.selecIds = selectedRowKeys
|
this.selecIds = selectedRowKeys
|
||||||
// console.log('rows',this.selectedRows)
|
// console.log('rows',this.selectedRows)
|
||||||
@@ -1014,24 +1052,24 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onSearch() {
|
onSearch() {
|
||||||
let self = this;
|
let self = this
|
||||||
let tree = JSON.parse(JSON.stringify(this.data))
|
let tree = JSON.parse(JSON.stringify(this.data))
|
||||||
this.expandedKeys = []
|
this.expandedKeys = []
|
||||||
if (this.searchValue.trim() == "") {
|
if (this.searchValue.trim() == '') {
|
||||||
this.gData = JSON.parse(JSON.stringify(this.data))
|
this.gData = JSON.parse(JSON.stringify(this.data))
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
if (tree && tree.length > 0) {
|
if (tree && tree.length > 0) {
|
||||||
tree.forEach((n, i, a) => {
|
tree.forEach((n, i, a) => {
|
||||||
self.searchEach(n,this.searchValue);
|
self.searchEach(n, this.searchValue)
|
||||||
});
|
})
|
||||||
|
|
||||||
// 没有叶子节点的根节点也要清理掉
|
// 没有叶子节点的根节点也要清理掉
|
||||||
let length = tree.length;
|
let length = tree.length
|
||||||
for (let i = length - 1; i >= 0; i--) {
|
for (let i = length - 1; i >= 0; i--) {
|
||||||
let e2 = tree[i];
|
let e2 = tree[i]
|
||||||
if (!this.isHasChildren(e2) && e2.title.indexOf(this.searchValue) <= -1) {
|
if (!this.isHasChildren(e2) && e2.title.indexOf(this.searchValue) <= -1) {
|
||||||
tree.splice(i, 1);
|
tree.splice(i, 1)
|
||||||
this.expandedKeys.push(e2.key)
|
this.expandedKeys.push(e2.key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1039,73 +1077,73 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
searchEach(node, value) {
|
searchEach(node, value) {
|
||||||
let depth = this.getTreeDepth(node);
|
let depth = this.getTreeDepth(node)
|
||||||
let self = this;
|
let self = this
|
||||||
for (let i = 0; i < depth - 1; i++) {
|
for (let i = 0; i < depth - 1; i++) {
|
||||||
let spliceCounter = 0;
|
let spliceCounter = 0
|
||||||
this.traverseTree(node, n => {
|
this.traverseTree(node, n => {
|
||||||
if (self.isHasChildren(n)) {
|
if (self.isHasChildren(n)) {
|
||||||
let children = n.children;
|
let children = n.children
|
||||||
let length = children.length;
|
let length = children.length
|
||||||
for (let j = length - 1; j >= 0; j--) {
|
for (let j = length - 1; j >= 0; j--) {
|
||||||
let e3 = children[j];
|
let e3 = children[j]
|
||||||
if (!self.isHasChildren(e3) && e3.title.indexOf(value) <= -1) {
|
if (!self.isHasChildren(e3) && e3.title.indexOf(value) <= -1) {
|
||||||
children.splice(j, 1);
|
children.splice(j, 1)
|
||||||
spliceCounter++;
|
spliceCounter++
|
||||||
} else {
|
} else {
|
||||||
this.expandedKeys.push(e3.key)
|
this.expandedKeys.push(e3.key)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
if (spliceCounter == 0) {
|
if (spliceCounter == 0) {
|
||||||
break;
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 判断树形结构中的一个节点是否具有孩子节点
|
// 判断树形结构中的一个节点是否具有孩子节点
|
||||||
isHasChildren(node) {
|
isHasChildren(node) {
|
||||||
let flag = false;
|
let flag = false
|
||||||
if (node.children && node.children.length > 0) {
|
if (node.children && node.children.length > 0) {
|
||||||
flag = true;
|
flag = true
|
||||||
}
|
}
|
||||||
return flag;
|
return flag
|
||||||
},
|
},
|
||||||
|
|
||||||
// 通过传入根节点获得树的深度
|
// 通过传入根节点获得树的深度
|
||||||
getTreeDepth(node) {
|
getTreeDepth(node) {
|
||||||
if (undefined == node || null == node) {
|
if (undefined == node || null == node) {
|
||||||
return 0;
|
return 0
|
||||||
}
|
}
|
||||||
let r = 0;
|
let r = 0
|
||||||
let currentLevelNodes = [node];
|
let currentLevelNodes = [node]
|
||||||
while (currentLevelNodes.length > 0) {
|
while (currentLevelNodes.length > 0) {
|
||||||
r++;
|
r++
|
||||||
let nextLevelNodes = new Array();
|
let nextLevelNodes = new Array()
|
||||||
for (let i = 0; i < currentLevelNodes.length; i++) {
|
for (let i = 0; i < currentLevelNodes.length; i++) {
|
||||||
let e = currentLevelNodes[i];
|
let e = currentLevelNodes[i]
|
||||||
if (this.isHasChildren(e)) {
|
if (this.isHasChildren(e)) {
|
||||||
nextLevelNodes = nextLevelNodes.concat(e.children);
|
nextLevelNodes = nextLevelNodes.concat(e.children)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
currentLevelNodes = nextLevelNodes;
|
currentLevelNodes = nextLevelNodes
|
||||||
}
|
}
|
||||||
return r;
|
return r
|
||||||
},
|
},
|
||||||
|
|
||||||
traverseTree(node, callback) {
|
traverseTree(node, callback) {
|
||||||
if (!node) {
|
if (!node) {
|
||||||
return;
|
return
|
||||||
}
|
}
|
||||||
let stack = [];
|
let stack = []
|
||||||
stack.push(node);
|
stack.push(node)
|
||||||
let tmpNode;
|
let tmpNode
|
||||||
while (stack.length > 0) {
|
while (stack.length > 0) {
|
||||||
tmpNode = stack.pop();
|
tmpNode = stack.pop()
|
||||||
callback(tmpNode);
|
callback(tmpNode)
|
||||||
if (tmpNode.children && tmpNode.children.length > 0) {
|
if (tmpNode.children && tmpNode.children.length > 0) {
|
||||||
for (let i = tmpNode.children.length - 1; i >= 0; i--) {
|
for (let i = tmpNode.children.length - 1; i >= 0; i--) {
|
||||||
stack.push(tmpNode.children[i]);
|
stack.push(tmpNode.children[i])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1119,28 +1157,32 @@
|
|||||||
} else {
|
} else {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
window.removeEventListener('resize', {}, false);
|
window.removeEventListener('resize', {}, false)
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
.split-detail {
|
.split-detail {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
|
|
||||||
.split-detail-wrap {
|
.split-detail-wrap {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
.split-detail-left {
|
.split-detail-left {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
padding-right: 20px;
|
padding-right: 20px;
|
||||||
border-right: 1px solid #E6E7EC;
|
border-right: 1px solid #E6E7EC;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.split-detail-left-tree {
|
.split-detail-left-tree {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1151,28 +1193,34 @@
|
|||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-bottom {
|
.menu-bottom {
|
||||||
border-bottom: 1px solid #000000;
|
border-bottom: 1px solid #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-item:hover {
|
.menu-item:hover {
|
||||||
background: #00B3BE;
|
background: #00B3BE;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-right {
|
.split-detail-right {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|
||||||
.split-detail-search-header {
|
.split-detail-search-header {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
.table-page-search-submitButtons {
|
.table-page-search-submitButtons {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-table {
|
.split-detail-table {
|
||||||
.action-edit {
|
.action-edit {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-show {
|
.content-show {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
@@ -1183,19 +1231,23 @@
|
|||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-item {
|
.split-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.page {
|
.page {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/deep/ .ant-table-body {
|
/deep/ .ant-table-body {
|
||||||
overflow: hidden !important;
|
overflow: hidden !important;
|
||||||
}
|
}
|
||||||
@@ -1207,6 +1259,7 @@
|
|||||||
min-width: 100px;
|
min-width: 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.add-menus {
|
.add-menus {
|
||||||
.ant-modal-wrap {
|
.ant-modal-wrap {
|
||||||
.ant-modal-footer {
|
.ant-modal-footer {
|
||||||
@@ -1214,16 +1267,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-right-wraper {
|
.split-detail-right-wraper {
|
||||||
.table-page-search-submitButtons {
|
.table-page-search-submitButtons {
|
||||||
.ant-col-md-6 {
|
.ant-col-md-6 {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-search-header {
|
.split-detail-search-header {
|
||||||
.ant-col-sm-8 {
|
.ant-col-sm-8 {
|
||||||
min-width: 300px;
|
min-width: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-selection--multiple {
|
.ant-select-selection--multiple {
|
||||||
ul {
|
ul {
|
||||||
height: 36px;
|
height: 36px;
|
||||||
@@ -1231,35 +1287,42 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload-split {
|
.upload-split {
|
||||||
.ant-upload {
|
.ant-upload {
|
||||||
color: #040B29;
|
color: #040B29;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.anticon-import {
|
.anticon-import {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-right: 3px !important;
|
margin-right: 3px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.show-setting {
|
.show-setting {
|
||||||
.ant-modal {
|
.ant-modal {
|
||||||
min-width: 700px;
|
min-width: 700px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-modal-footer {
|
.ant-modal-footer {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-left {
|
.split-detail-left {
|
||||||
|
|
||||||
.ant-tree-node-content-wrapper-normal {
|
.ant-tree-node-content-wrapper-normal {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ant-tree-node-content-wrapper {
|
ant-tree-node-content-wrapper {
|
||||||
.expand-title {
|
.expand-title {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-tree-title {
|
.ant-tree-title {
|
||||||
span {
|
span {
|
||||||
//display: block;
|
//display: block;
|
||||||
@@ -1270,6 +1333,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-tree-child-tree {
|
.ant-tree-child-tree {
|
||||||
.ant-tree-title {
|
.ant-tree-title {
|
||||||
span {
|
span {
|
||||||
@@ -1284,40 +1348,49 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-modal-body {
|
.ant-modal-body {
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-table {
|
.split-detail-table {
|
||||||
.ant-table-body {
|
.ant-table-body {
|
||||||
overflow: auto !important;
|
overflow: auto !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-content-show {
|
.item-content-show {
|
||||||
.wordImg {
|
.wordImg {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 600px) and (max-width: 1600px) {
|
@media screen and (min-width: 600px) and (max-width: 1600px) {
|
||||||
|
|
||||||
.operator-text {
|
.operator-text {
|
||||||
margin-right: 20px !important;
|
margin-right: 20px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-text {
|
.title-text {
|
||||||
min-width: 73px !important;
|
min-width: 73px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-detail-wrap {
|
.split-detail-wrap {
|
||||||
height: 481px !important;
|
height: 481px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainItem {
|
.mainItem {
|
||||||
height: 500px;
|
height: 500px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 1600px) and (max-width: 2000px) {
|
@media screen and (min-width: 1600px) and (max-width: 2000px) {
|
||||||
.split-detail .split-detail-wrap .split-detail-left {
|
.split-detail .split-detail-wrap .split-detail-left {
|
||||||
height: 735px !important;
|
height: 735px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mainItem {
|
.mainItem {
|
||||||
height: 800px !important;
|
height: 800px !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -251,11 +251,22 @@
|
|||||||
>
|
>
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div style='font-size: 20px;margin-bottom: 20px;display: flex;justify-content: center' class="box-title-text-index" v-for='(item,key) in NotSelectedRowKeysValue'>
|
<!-- 没有工程接口人,导致下发收集失败提示-->
|
||||||
|
<span v-if='NoEngineer === 0'>
|
||||||
|
NIO编号为
|
||||||
|
</span>
|
||||||
|
<span style='font-size: 16px;margin-bottom: 20px;' v-for='(item,key) in NotSelectedNoEngineerValue' v-if='NoEngineer === 0'>
|
||||||
|
<span style='color: red'>{{ item.nioNumber }}、</span>
|
||||||
|
</span>
|
||||||
|
<span v-if='NoEngineer === 0'>
|
||||||
|
工程接口人没有填写,请填写完工程接口人再进行下发收集。
|
||||||
|
</span>
|
||||||
|
<!-- 状态不符合,导致不能操作按钮,没有权限-->
|
||||||
|
<div style='font-size: 18px;margin-bottom: 20px;display: flex;justify-content: center' class="box-title-text-index" v-for='(item,key) in NotSelectedRowKeysValue' v-if='NoEngineer === 1'>
|
||||||
<div>NIO编号为{{ item.nioNumber }},状态为<span style='color: red'>{{ item.state }}</span>,没有此按钮的操作权限。</div>
|
<div>NIO编号为{{ item.nioNumber }},状态为<span style='color: red'>{{ item.state }}</span>,没有此按钮的操作权限。</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 认证工程师-提示-->
|
<!-- 认证工程师-提示-->
|
||||||
<div style='font-size: 16px;color: red;display: flex;justify-content: center'>
|
<div style='font-size: 16px;color: red;display: flex;justify-content: center' v-if='NoEngineer === 1'>
|
||||||
{{ currentPersonRole =='homo'? '认证工程师': (currentPersonRole =='sdt'? '工程接口人': '填写人') }}数据状态为
|
{{ currentPersonRole =='homo'? '认证工程师': (currentPersonRole =='sdt'? '工程接口人': '填写人') }}数据状态为
|
||||||
<!-- 下发收集时-->
|
<!-- 下发收集时-->
|
||||||
<span v-if='jurisdiction === "HOMOZFSJ"'>
|
<span v-if='jurisdiction === "HOMOZFSJ"'>
|
||||||
@@ -444,6 +455,8 @@ export default {
|
|||||||
},
|
},
|
||||||
RoleType: [ ],// 控件类型
|
RoleType: [ ],// 控件类型
|
||||||
NotSelectedRowKeysValue: [],
|
NotSelectedRowKeysValue: [],
|
||||||
|
NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有
|
||||||
|
NotSelectedNoEngineerValue: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@@ -484,7 +497,9 @@ export default {
|
|||||||
// 认证工程师 下发收集 权限
|
// 认证工程师 下发收集 权限
|
||||||
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以下发收集
|
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以下发收集
|
||||||
homodistributionAndCollection() {
|
homodistributionAndCollection() {
|
||||||
|
this.NoEngineer = 1
|
||||||
this.NotSelectedRowKeysValue = []
|
this.NotSelectedRowKeysValue = []
|
||||||
|
this.NotSelectedNoEngineerValue = []
|
||||||
// 定义开关 0为没有权限 1为有权限
|
// 定义开关 0为没有权限 1为有权限
|
||||||
let flag = 1
|
let flag = 1
|
||||||
if(this.selectedRowKeysValue.length == 0) {
|
if(this.selectedRowKeysValue.length == 0) {
|
||||||
@@ -492,9 +507,15 @@ export default {
|
|||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
} else {
|
} else {
|
||||||
this.selectedRowKeysValue.forEach((item, index) => {
|
this.selectedRowKeysValue.forEach((item, index) => {
|
||||||
|
// 状态不符合,不能下发收集
|
||||||
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
|
if(item.state !== '待发起收集' && item.state !== '工程接口人退回' && item.state !== '变更') {
|
||||||
this.NotSelectedRowKeysValue.push(item)
|
this.NotSelectedRowKeysValue.push(item)
|
||||||
flag = 0
|
flag = 0
|
||||||
|
}
|
||||||
|
// 状态符合,但是没有工程接口人 不能下发收集
|
||||||
|
if(item.sdt.dataValue === null && (flag == 1 || flag == 3)) {
|
||||||
|
this.NotSelectedNoEngineerValue.push(item)
|
||||||
|
flag = 3
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -699,7 +720,6 @@ export default {
|
|||||||
// 填写人 提交 权限
|
// 填写人 提交 权限
|
||||||
// 仅仅状态为 待填写 认证工程师退回 可以提交
|
// 仅仅状态为 待填写 认证工程师退回 可以提交
|
||||||
dreJurisdictionSubmit() {
|
dreJurisdictionSubmit() {
|
||||||
console.log(this.selectedRowKeysValue,'this.selectedRowKeysValue')
|
|
||||||
// 定义开关 0为没有权限 1为有权限
|
// 定义开关 0为没有权限 1为有权限
|
||||||
this.NotSelectedRowKeysValue = []
|
this.NotSelectedRowKeysValue = []
|
||||||
let flag = 1
|
let flag = 1
|
||||||
@@ -782,7 +802,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then( (res) =>{
|
.then( (res) =>{
|
||||||
console.log(res)
|
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
_this.$message.success(res.data.result)
|
_this.$message.success(res.data.result)
|
||||||
this.areaVisibleFreeze = false
|
this.areaVisibleFreeze = false
|
||||||
@@ -792,7 +811,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch( (error) =>{
|
.catch( (error) =>{
|
||||||
console.log(error);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 冻结配置取消
|
// 冻结配置取消
|
||||||
@@ -819,7 +837,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then( (res) =>{
|
.then( (res) =>{
|
||||||
console.log(res)
|
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
this.FreezeList = res.data.result
|
this.FreezeList = res.data.result
|
||||||
}else{
|
}else{
|
||||||
@@ -827,7 +844,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch( (error) =>{
|
.catch( (error) =>{
|
||||||
console.log(error);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 下发收集的权限
|
// 下发收集的权限
|
||||||
@@ -838,6 +854,9 @@ export default {
|
|||||||
} else if(homodistributionAndCollection == 0){
|
} else if(homodistributionAndCollection == 0){
|
||||||
this.visibleoperationFailed = true
|
this.visibleoperationFailed = true
|
||||||
this.jurisdiction = 'HOMOZFSJ'
|
this.jurisdiction = 'HOMOZFSJ'
|
||||||
|
} else if(homodistributionAndCollection == 3) {
|
||||||
|
this.visibleoperationFailed = true
|
||||||
|
this.NoEngineer = 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 下发收集---请求接口
|
// 下发收集---请求接口
|
||||||
@@ -865,7 +884,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then( (res) =>{
|
.then( (res) =>{
|
||||||
console.log(res)
|
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
_this.$message.success(res.data.message)
|
_this.$message.success(res.data.message)
|
||||||
_this.areaVisible = false
|
_this.areaVisible = false
|
||||||
@@ -875,7 +893,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch( (error) =>{
|
.catch( (error) =>{
|
||||||
console.log(error);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 同步上报库 权限
|
// 同步上报库 权限
|
||||||
@@ -937,7 +954,6 @@ export default {
|
|||||||
this.$confirm({
|
this.$confirm({
|
||||||
content: _this.$t('Areyousureparameteritems'),
|
content: _this.$t('Areyousureparameteritems'),
|
||||||
onOk() {
|
onOk() {
|
||||||
console.log(configDataList,'configDataListconfigDataList')
|
|
||||||
postAction(_this.url.add, configDataList).then((res) => {
|
postAction(_this.url.add, configDataList).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
_this.GetgetTableList()
|
_this.GetgetTableList()
|
||||||
@@ -985,7 +1001,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then( (res) =>{
|
.then( (res) =>{
|
||||||
console.log(res)
|
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
_this.$message.success(res.data.result)
|
_this.$message.success(res.data.result)
|
||||||
_this.GetgetTableList()
|
_this.GetgetTableList()
|
||||||
@@ -995,7 +1010,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch( (error) =>{
|
.catch( (error) =>{
|
||||||
console.log(error);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 强制撤回权限
|
// 强制撤回权限
|
||||||
@@ -1032,7 +1046,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then( (res) =>{
|
.then( (res) =>{
|
||||||
console.log(res)
|
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
_this.$message.success(res.data.result)
|
_this.$message.success(res.data.result)
|
||||||
_this.getTableList()
|
_this.getTableList()
|
||||||
@@ -1042,7 +1055,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch( (error) =>{
|
.catch( (error) =>{
|
||||||
console.log(error);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 分配填写人
|
// 分配填写人
|
||||||
@@ -1092,7 +1104,6 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
handleCody() {
|
handleCody() {
|
||||||
console.log(this.paramsManifest, 'paramsManifestparamsManifestparamsManifestparamsManifest')
|
|
||||||
},
|
},
|
||||||
searchQuery() {
|
searchQuery() {
|
||||||
this.pageNo = 1
|
this.pageNo = 1
|
||||||
@@ -1147,7 +1158,6 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.log(error)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -888,7 +888,7 @@
|
|||||||
return current && current < moment().subtract(1, 'day')
|
return current && current < moment().subtract(1, 'day')
|
||||||
},
|
},
|
||||||
getRoleByUserId() {
|
getRoleByUserId() {
|
||||||
getAction('/sys/role/getRoleByUserId', {}).then((res) => {
|
getAction('/sys/role/getRoleByUserId', { projectLibraryId: this.$route.query.id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.roleSwitchingList = res.result || []
|
this.roleSwitchingList = res.result || []
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user