|
|
|
@ -7,34 +7,42 @@ |
|
|
|
<el-form-item :label="'属性模板名称'"> |
|
|
|
<el-input v-model="searchData.codeDesc" style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'模板分类'" > |
|
|
|
<el-select filterable v-model="searchData.functionType" style="width: 120px"> |
|
|
|
<el-option label="全部" value=""></el-option> |
|
|
|
<el-option label="A" value="A"></el-option> |
|
|
|
<el-option label="IP" value="IP"></el-option> |
|
|
|
<el-option label="MP" value="MP"></el-option> |
|
|
|
<el-option label="BM" value="BM"></el-option> |
|
|
|
<el-option label="ECN" value="ECN"></el-option> |
|
|
|
<el-option label="TEST" value="TEST"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="模板分组"> |
|
|
|
<el-select v-model="searchData.group" @change="getDataList"> |
|
|
|
<el-form-item label="应用菜单"> |
|
|
|
<el-select v-model="searchData.group" @change="changeMenu('dictDataSelect')"> |
|
|
|
<el-option :value="i.menuId" :label="i.name" v-for="i in menuList" :key="i.menuId"></el-option> |
|
|
|
</el-select> |
|
|
|
<!-- <el-select multiple--> |
|
|
|
<!-- collapse-tags style="width: 200px;" v-model="searchData.menuList" @change="changeMenu('dictDataSelect')">--> |
|
|
|
<!-- <el-option :value="i.menuId" :label="i.name" v-for="i in menuList" :key="i.menuId"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'模板分类'"> |
|
|
|
<!-- <el-select filterable v-model="searchData.functionType" style="width: 120px">--> |
|
|
|
<!-- <el-option label="全部" value=""></el-option>--> |
|
|
|
<!-- <el-option label="A" value="A"></el-option>--> |
|
|
|
<!-- <el-option label="IP" value="IP"></el-option>--> |
|
|
|
<!-- <el-option label="MP" value="MP"></el-option>--> |
|
|
|
<!-- <el-option label="BM" value="BM"></el-option>--> |
|
|
|
<!-- <el-option label="ECN" value="ECN"></el-option>--> |
|
|
|
<!-- <el-option label="TEST" value="TEST"></el-option>--> |
|
|
|
<!-- <el-option label="询价" value="PRICECHECK"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<dict-data-select ref="dictDataSelect" @change="getDataList" v-model="searchData.functionType" clearable :dict-type="searchData.group" |
|
|
|
:use-default-value="false"></dict-data-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="BU类别"> |
|
|
|
<el-select v-model="searchData.bu" @change="getDataList"> |
|
|
|
<el-form-item label="BU"> |
|
|
|
<el-select v-model="searchData.buNo" @change="getDataList" clearable> |
|
|
|
<el-option :value="i.buNo" :label="i.buDesc" v-for="i in BUList" :key="i.buNo"></el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'状态'"> |
|
|
|
<!-- <el-select filterable v-model="searchData.active" style="width: 130px">--> |
|
|
|
<!-- <el-option label="全部" value=""></el-option>--> |
|
|
|
<!-- <el-option label="是" value="Y"></el-option>--> |
|
|
|
<!-- <el-option label="否" value="N"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<dict-data-select v-model="searchData.active" clearable dict-type="sys_status" :use-default-value="false"></dict-data-select> |
|
|
|
<!-- <el-select filterable v-model="searchData.active" style="width: 130px">--> |
|
|
|
<!-- <el-option label="全部" value=""></el-option>--> |
|
|
|
<!-- <el-option label="是" value="Y"></el-option>--> |
|
|
|
<!-- <el-option label="否" value="N"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<dict-data-select v-model="searchData.active" clearable dict-type="sys_status" |
|
|
|
:use-default-value="false"></dict-data-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="' '"> |
|
|
|
<el-button @click="getDataList()">查询</el-button> |
|
|
|
@ -99,10 +107,11 @@ |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="{row,$index}"> |
|
|
|
<div v-if="item.columnProp !== 'active'"> |
|
|
|
<span v-if="!item.columnHidden">{{row[item.columnProp]}}</span> |
|
|
|
<span v-if="!item.columnHidden">{{ row[item.columnProp] }}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
</div> |
|
|
|
<span v-else :style="{color:row.active === 'Y'?'#67C23A':'red'}">{{row.active === 'Y'?'启用':'停用'}}</span> |
|
|
|
<span v-else |
|
|
|
:style="{color:row.active === 'Y'?'#67C23A':'red'}">{{ row.active === 'Y' ? '启用' : '停用' }}</span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
@ -112,11 +121,15 @@ |
|
|
|
width="160" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="{row,$index}"> |
|
|
|
<el-link style="cursor:pointer;" type="primary" v-if="row.isSystem !== 'Y'" @click="updateModal(row)">修改</el-link> |
|
|
|
<el-link style="cursor:pointer;" type="primary" v-if="row.isSystem !== 'Y'" @click="updateModal(row)">修改 |
|
|
|
</el-link> |
|
|
|
<span style="cursor:no-drop;color: #aaa" v-else>修改</span> |
|
|
|
<el-link style="cursor:pointer;" type="primary" size="small" @click="detailModal(row)">属性项目</el-link> |
|
|
|
<el-link style="cursor:pointer;" type="primary" v-if="row.isSystem !== 'Y'" @click="deletePropertiesModel(row)">删除</el-link> |
|
|
|
<el-link style="cursor:pointer;" type="primary" v-if="row.isSystem !== 'Y'" |
|
|
|
@click="deletePropertiesModel(row)">删除 |
|
|
|
</el-link> |
|
|
|
<span style="cursor:no-drop;color: #aaa" v-else>删除</span> |
|
|
|
<el-link style="cursor:pointer;" type="primary" @click="BUBtnDialog(row)">BU授权</el-link> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
@ -129,37 +142,26 @@ |
|
|
|
:total="totalPage" |
|
|
|
layout="total, sizes, prev, pager, next, jumper"> |
|
|
|
</el-pagination> |
|
|
|
<el-dialog title="属性模板" top="20vh" :close-on-click-modal="false" @close="()=>{this.$refs.modeForm.resetFields();}" v-drag :visible.sync="modalFlag" width="27vw"> |
|
|
|
<el-dialog title="属性模板" top="20vh" :close-on-click-modal="false" |
|
|
|
@close="()=>{this.$refs.modeForm.resetFields();}" v-drag :visible.sync="modalFlag" width="500px"> |
|
|
|
<el-form ref="modeForm" label-position="top" :model="modalData" :rules="rules"> |
|
|
|
<el-row :gutter="10"> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-col :span="10"> |
|
|
|
<el-form-item label="属性模板编码:" prop="codeNo"> |
|
|
|
<el-input v-model="modalData.codeNo" :disabled="modalDisableFlag"></el-input> |
|
|
|
<el-input v-model="modalData.codeNo" :disabled="this.modalData.flag !== '1'"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="16"> |
|
|
|
<el-col :span="14"> |
|
|
|
<el-form-item label="属性模板名称:" prop="codeDesc"> |
|
|
|
<el-input v-model="modalData.codeDesc"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item :label="'模板分类'" > |
|
|
|
<el-select filterable style="width: 100%;" v-model="modalData.functionType" :disabled="modalDisableFlag"> |
|
|
|
<el-option label="A" value="A"></el-option> |
|
|
|
<el-option label="IP" value="IP"></el-option> |
|
|
|
<el-option label="MP" value="MP"></el-option> |
|
|
|
<el-option label="BM" value="BM"></el-option> |
|
|
|
<el-option label="ECN" value="ECN"></el-option> |
|
|
|
<!-- <el-option label="TEST" value="TEST"></el-option>--> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="16"> |
|
|
|
<el-form-item label="模板分组" required> |
|
|
|
<el-select |
|
|
|
v-model="modalData.menuList" |
|
|
|
multiple clearable |
|
|
|
collapse-tags style="width: 100%;" |
|
|
|
<el-col :span="10"> |
|
|
|
<el-form-item label="应用菜单" required> |
|
|
|
<el-select :disabled="this.modalData.flag !== '1'" |
|
|
|
v-model="modalData.group" |
|
|
|
@change="changeMenu('dialogDictDataSelect')" |
|
|
|
style="width: 100%;" |
|
|
|
placeholder="请选择"> |
|
|
|
<el-option |
|
|
|
v-for="item in menuList" |
|
|
|
@ -170,9 +172,25 @@ |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="14"> |
|
|
|
<el-form-item :label="'模板分类'" prop="functionType"> |
|
|
|
<!-- <el-select filterable style="width: 100%;" v-model="modalData.functionType" :disabled="modalDisableFlag">--> |
|
|
|
<!-- <el-option label="A" value="A"></el-option>--> |
|
|
|
<!-- <el-option label="IP" value="IP"></el-option>--> |
|
|
|
<!-- <el-option label="MP" value="MP"></el-option>--> |
|
|
|
<!-- <el-option label="BM" value="BM"></el-option>--> |
|
|
|
<!-- <el-option label="ECN" value="ECN"></el-option>--> |
|
|
|
<!-- <el-option label="TEST" value="TEST"></el-option>--> |
|
|
|
<!-- <el-option label="询价" value="PRICECHECK"></el-option>--> |
|
|
|
<!-- </el-select>--> |
|
|
|
<dict-data-select :disabled="this.modalData.flag !== '1'" ref="dialogDictDataSelect" v-model="modalData.functionType" clearable :dict-type="modalData.group" |
|
|
|
:use-default-value="false"></dict-data-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<el-form-item label="状态:" prop="active"> |
|
|
|
<dict-data-select v-model="modalData.active" clearable dict-type="sys_status" :use-default-value="false"></dict-data-select> |
|
|
|
<dict-data-select v-model="modalData.active" clearable dict-type="sys_status" |
|
|
|
:use-default-value="false"></dict-data-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
@ -225,7 +243,8 @@ |
|
|
|
:label="item.columnLabel"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
|
|
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" |
|
|
|
style="width: 100px; height: 80px"/></span> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
@ -235,7 +254,8 @@ |
|
|
|
width="130" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a type="text" size="small" v-if="scope.row.valueChooseFlag === 'Y'" @click="chooseModal(scope.row)">可选值</a> |
|
|
|
<a type="text" size="small" v-if="scope.row.valueChooseFlag === 'Y'" |
|
|
|
@click="chooseModal(scope.row)">可选值</a> |
|
|
|
<a type="text" size="small" @click="deleteModalDetails(scope.row)">删除属性</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
@ -261,7 +281,8 @@ |
|
|
|
<!-- </el-footer>--> |
|
|
|
<!-- </el-dialog>--> |
|
|
|
|
|
|
|
<el-dialog title="新增" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" width="1000px"> |
|
|
|
<el-dialog title="新增" @close="refreshDetailList" :close-on-click-modal="false" v-drag :visible.sync="fastAddFlag" |
|
|
|
width="1000px"> |
|
|
|
<div style="font-size: 12px"> |
|
|
|
<!-- 属性模板编码:<el-input v-model="detailData.codeNo" readonly style="width: 120px"></el-input>--> |
|
|
|
<!-- 属性模板名称:<el-input v-model="detailData.codeDesc" readonly style="width: 120px"></el-input>--> |
|
|
|
@ -279,7 +300,7 @@ |
|
|
|
</div> |
|
|
|
<el-container style="margin-top: 0px;"> |
|
|
|
<el-main style="width: 350px;padding: 1px"> |
|
|
|
<span style="font-size: 12px" >可选属性:</span> |
|
|
|
<span style="font-size: 12px">可选属性:</span> |
|
|
|
<el-table |
|
|
|
height="400px" |
|
|
|
:data="itemList1" |
|
|
|
@ -322,7 +343,7 @@ |
|
|
|
</div> |
|
|
|
</el-main> |
|
|
|
<el-main style="width: 350px;padding: 1px"> |
|
|
|
<span style="font-size: 12px" >已有属性:</span> |
|
|
|
<span style="font-size: 12px">已有属性:</span> |
|
|
|
<el-table |
|
|
|
height="400px" |
|
|
|
:data="itemList2" |
|
|
|
@ -392,11 +413,30 @@ |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
<el-dialog title="BU授权" v-drag :visible.sync="BUDialog" width="518px"> |
|
|
|
<el-form :inline="true" label-position="top" :model="modalData"> |
|
|
|
<el-form-item :label="'模板编码'"> |
|
|
|
<el-input v-model="modalData.codeNo" readonly style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'模板名称'"> |
|
|
|
<el-input v-model="modalData.codeDesc" readonly style="width: 120px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-transfer class="rq" :props="{key: 'buNo',label: 'buDesc' }" |
|
|
|
filterable v-model="selectionBU" |
|
|
|
:data="BUList"> |
|
|
|
|
|
|
|
</el-transfer> |
|
|
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
|
|
|
<el-button type="primary" @click="savePropertiesBU">保存</el-button> |
|
|
|
<el-button type="primary" @click="BUDialog = false">关闭</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { |
|
|
|
import { |
|
|
|
propertiesModelSearch, |
|
|
|
propertiesModelSave, |
|
|
|
propertiesModelEdit, |
|
|
|
@ -409,12 +449,19 @@ |
|
|
|
deleteModalDetail, // 单删 |
|
|
|
goUpItem, |
|
|
|
goDownItem, |
|
|
|
} from "@/api/base/properties.js" |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' |
|
|
|
import DictDataSelect from "../../sys/dict-data-select.vue"; |
|
|
|
import {searchBUList, searchMenuAllListId, searchPropertiesGroup} from "../../../../api/base/properties"; |
|
|
|
export default { |
|
|
|
} from "@/api/base/properties.js" |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' |
|
|
|
import DictDataSelect from "../../sys/dict-data-select.vue"; |
|
|
|
import { |
|
|
|
saveBUPropertiesList, |
|
|
|
searchBUList, |
|
|
|
searchBUPropertiesList, |
|
|
|
searchMenuAllListId, |
|
|
|
searchPropertiesGroup |
|
|
|
} from "../../../../api/base/properties"; |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
DictDataSelect, |
|
|
|
Chooselist |
|
|
|
@ -447,10 +494,12 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
data () { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
BUList:[], |
|
|
|
menuList:[], |
|
|
|
selectionBU: [], |
|
|
|
BUDialog: false, |
|
|
|
BUList: [], |
|
|
|
menuList: [], |
|
|
|
// 是否收藏 |
|
|
|
favorite: false, |
|
|
|
// 导出 start |
|
|
|
@ -458,17 +507,18 @@ |
|
|
|
exportName: "属性模板" + this.dayjs().format('YYYYMMDDHHmmss'), |
|
|
|
exportHeader: ["属性模板"], |
|
|
|
exportFooter: [], |
|
|
|
exportList:[], |
|
|
|
exportList: [], |
|
|
|
// 导出 end |
|
|
|
tagNo:'', |
|
|
|
tagNo: '', |
|
|
|
searchData: { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
group:'', |
|
|
|
bu:'', |
|
|
|
group: '', |
|
|
|
buNo: '', |
|
|
|
codeNo: '', |
|
|
|
codeDesc: '', |
|
|
|
active:'Y', |
|
|
|
functionType:'', |
|
|
|
active: 'Y', |
|
|
|
functionType: '', |
|
|
|
menuList:[], |
|
|
|
page: 1, |
|
|
|
limit: 10, |
|
|
|
}, |
|
|
|
@ -477,28 +527,28 @@ |
|
|
|
pageSize: 50, |
|
|
|
totalPage: 0, |
|
|
|
// addDetailModalFlag:false, |
|
|
|
modalFlag:false, |
|
|
|
modalDisableFlag:false, |
|
|
|
modalData:{ |
|
|
|
flag:'', |
|
|
|
codeNo:'', |
|
|
|
codeDesc:'', |
|
|
|
active:'', |
|
|
|
functionType:'', |
|
|
|
menuList:[], |
|
|
|
userId:this.$store.state.user.name, |
|
|
|
modalFlag: false, |
|
|
|
modalDisableFlag: false, |
|
|
|
modalData: { |
|
|
|
flag: '', |
|
|
|
codeNo: '', |
|
|
|
codeDesc: '', |
|
|
|
active: '', |
|
|
|
functionType: '', |
|
|
|
group: '', |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
createdBy: this.$store.state.user.name, |
|
|
|
updateBy: this.$store.state.user.name, |
|
|
|
}, |
|
|
|
detailData:{ |
|
|
|
detailData: { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
codeNo:'', |
|
|
|
codeDesc:'', |
|
|
|
functionType:'', |
|
|
|
itemNo:'', |
|
|
|
itemDesc:'', |
|
|
|
itemType:'', |
|
|
|
userId:this.$store.state.user.name |
|
|
|
codeNo: '', |
|
|
|
codeDesc: '', |
|
|
|
functionType: '', |
|
|
|
itemNo: '', |
|
|
|
itemDesc: '', |
|
|
|
itemType: '', |
|
|
|
userId: this.$store.state.user.name |
|
|
|
}, |
|
|
|
columnList: [ |
|
|
|
{ |
|
|
|
@ -507,7 +557,7 @@ |
|
|
|
serialNumber: '100002001TableFunctionType', |
|
|
|
tableId: "100002001Table", |
|
|
|
tableName: "属性项目表", |
|
|
|
columnProp: 'functionType', |
|
|
|
columnProp: 'functionTypeDesc', |
|
|
|
headerAlign: "center", |
|
|
|
align: "center", |
|
|
|
columnLabel: '模板分类', |
|
|
|
@ -638,23 +688,23 @@ |
|
|
|
fixed: '', |
|
|
|
}, |
|
|
|
], |
|
|
|
detailModelFlag:false, |
|
|
|
detailModelFlag: false, |
|
|
|
detailList: [], |
|
|
|
chooseTableData:[], |
|
|
|
chooseTableData: [], |
|
|
|
dataListLoading: false, |
|
|
|
dataListSelections: [], |
|
|
|
// modalDisableFlag:false, |
|
|
|
chooseModalFlag:false, |
|
|
|
itemFlag:'text', |
|
|
|
itemData:{ |
|
|
|
itemNo:'', |
|
|
|
valueNo:'', |
|
|
|
availableValue:'', |
|
|
|
itemType:'', |
|
|
|
chooseModalFlag: false, |
|
|
|
itemFlag: 'text', |
|
|
|
itemData: { |
|
|
|
itemNo: '', |
|
|
|
valueNo: '', |
|
|
|
availableValue: '', |
|
|
|
itemType: '', |
|
|
|
createdBy: this.$store.state.user.name |
|
|
|
}, |
|
|
|
dataList:[], |
|
|
|
departmentList:[], |
|
|
|
dataList: [], |
|
|
|
departmentList: [], |
|
|
|
// 展示列集 |
|
|
|
columnDetailList: [ |
|
|
|
{ |
|
|
|
@ -777,38 +827,45 @@ |
|
|
|
fixed: '', |
|
|
|
}, |
|
|
|
], |
|
|
|
levelList:[], |
|
|
|
chooseModalData:{ |
|
|
|
levelList: [], |
|
|
|
chooseModalData: { |
|
|
|
site: '', |
|
|
|
itemNo: '', |
|
|
|
itemDesc: '', |
|
|
|
itemType:'', |
|
|
|
valueTypeDb:'', |
|
|
|
itemType: '', |
|
|
|
valueTypeDb: '', |
|
|
|
}, |
|
|
|
//---------快速添加---------- |
|
|
|
fastAddFlag:false, |
|
|
|
itemList1:[], |
|
|
|
itemList2:[], |
|
|
|
itemListRow1:{}, |
|
|
|
itemListRow2:{}, |
|
|
|
fastAddFlag: false, |
|
|
|
itemList1: [], |
|
|
|
itemList2: [], |
|
|
|
itemListRow1: {}, |
|
|
|
itemListRow2: {}, |
|
|
|
itemSelections1: [], |
|
|
|
itemSelections2: [], |
|
|
|
rules:{ |
|
|
|
codeNo:[ |
|
|
|
rules: { |
|
|
|
codeNo: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
} |
|
|
|
], |
|
|
|
codeDesc: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
} |
|
|
|
], |
|
|
|
codeDesc:[ |
|
|
|
active: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
trigger: 'change' |
|
|
|
} |
|
|
|
], |
|
|
|
active:[ |
|
|
|
functionType: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: ' ', |
|
|
|
@ -818,53 +875,63 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
mounted() { |
|
|
|
this.$nextTick(() => { |
|
|
|
this.height = window.innerHeight - 210 |
|
|
|
}) |
|
|
|
}, |
|
|
|
async created () { |
|
|
|
async created() { |
|
|
|
await this.searchBUList(); |
|
|
|
await this.searchMenuList(); |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
searchMenuList(){ |
|
|
|
changeMenu(ref){ |
|
|
|
this.getDataList(); |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.$refs[ref].initOption(); |
|
|
|
}) |
|
|
|
}, |
|
|
|
searchMenuList() { |
|
|
|
let params = { |
|
|
|
site:this.$store.state.user.site |
|
|
|
site: this.$store.state.user.site |
|
|
|
} |
|
|
|
searchMenuAllListId(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
searchMenuAllListId(params).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.menuList = data.rows; |
|
|
|
if (this.menuList.length > 0){ |
|
|
|
if (this.menuList.length > 0) { |
|
|
|
this.searchData.group = this.menuList[0].menuId |
|
|
|
// this.searchData.menuList.push(this.menuList[0].menuId) |
|
|
|
} |
|
|
|
this.getDataList(); |
|
|
|
}else { |
|
|
|
this.$nextTick(()=>{ |
|
|
|
this.$refs.dictDataSelect.initOption(); |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
}).catch((error) => { |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
searchBUList(){ |
|
|
|
searchBUList() { |
|
|
|
let params = { |
|
|
|
site:this.$store.state.user.site |
|
|
|
site: this.$store.state.user.site |
|
|
|
} |
|
|
|
searchBUList(params).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
searchBUList(params).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.BUList = data.rows; |
|
|
|
if (this.BUList.length > 0){ |
|
|
|
this.searchData.bu = this.BUList[0].buNo |
|
|
|
if (this.BUList.length > 0) { |
|
|
|
this.searchData.buNo = this.BUList[0].buNo |
|
|
|
} |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error)=>{ |
|
|
|
}).catch((error) => { |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 获取基础数据列表S |
|
|
|
getBaseList (val,type) { |
|
|
|
getBaseList(val, type) { |
|
|
|
this.tagNo = val |
|
|
|
this.$nextTick(() => { |
|
|
|
let strVal = '' |
|
|
|
@ -875,7 +942,7 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
/* 列表方法的回调 */ |
|
|
|
getBaseData (val) { |
|
|
|
getBaseData(val) { |
|
|
|
if (this.tagNo === 1024) { |
|
|
|
this.detailData.itemNo = val.ItemNo |
|
|
|
this.detailData.itemDesc = val.ItemDesc |
|
|
|
@ -886,7 +953,7 @@ |
|
|
|
this.searchData.limit = -1 |
|
|
|
this.searchData.page = 1 |
|
|
|
await propertiesModelSearch(this.searchData).then(({data}) => { |
|
|
|
this.exportList= data.page.list; |
|
|
|
this.exportList = data.page.list; |
|
|
|
}) |
|
|
|
return this.exportList; |
|
|
|
}, |
|
|
|
@ -911,7 +978,7 @@ |
|
|
|
}, |
|
|
|
// 导出 end |
|
|
|
// 获取数据列表 |
|
|
|
getDataList () { |
|
|
|
getDataList() { |
|
|
|
this.searchData.limit = this.pageSize |
|
|
|
this.searchData.page = this.pageIndex |
|
|
|
propertiesModelSearch(this.searchData).then(({data}) => { |
|
|
|
@ -925,31 +992,27 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 每页数 |
|
|
|
sizeChangeHandle (val) { |
|
|
|
sizeChangeHandle(val) { |
|
|
|
this.pageSize = val |
|
|
|
this.pageIndex = 1 |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 当前页 |
|
|
|
currentChangeHandle (val) { |
|
|
|
currentChangeHandle(val) { |
|
|
|
this.pageIndex = val |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
|
|
|
|
addModal(){ |
|
|
|
let menuList = [] |
|
|
|
if (this.menuList.length>0){ |
|
|
|
menuList.push(this.menuList[0].menuId) |
|
|
|
} |
|
|
|
addModal() { |
|
|
|
this.modalData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
flag:'1', |
|
|
|
codeNo:'', |
|
|
|
codeDesc:'', |
|
|
|
active:'Y', |
|
|
|
functionType:'A', |
|
|
|
menuList: menuList, |
|
|
|
userId:this.$store.state.user.name, |
|
|
|
flag: '1', |
|
|
|
codeNo: '', |
|
|
|
codeDesc: '', |
|
|
|
active: 'Y', |
|
|
|
functionType: '', |
|
|
|
group: '', |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
createdBy: this.$store.state.user.name, |
|
|
|
updateBy: this.$store.state.user.name, |
|
|
|
}; |
|
|
|
@ -957,32 +1020,22 @@ |
|
|
|
this.modalFlag = true; |
|
|
|
}, |
|
|
|
|
|
|
|
updateModal(row){ |
|
|
|
updateModal(row) { |
|
|
|
this.modalData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
flag:'2', |
|
|
|
codeNo:row.codeNo, |
|
|
|
codeDesc:row.codeDesc, |
|
|
|
active:row.active, |
|
|
|
menuList:[], |
|
|
|
functionType:row.functionType, |
|
|
|
userId:this.$store.state.user.name, |
|
|
|
flag: '2', |
|
|
|
codeNo: row.codeNo, |
|
|
|
codeDesc: row.codeDesc, |
|
|
|
active: row.active, |
|
|
|
group: row.group, |
|
|
|
functionType: row.functionType, |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
updateBy: this.$store.state.user.name, |
|
|
|
}; |
|
|
|
searchPropertiesGroup(row).then(({data})=>{ |
|
|
|
if (data && data.code === 0){ |
|
|
|
this.modalData.menuList = data.rows; |
|
|
|
} |
|
|
|
this.modalDisableFlag=true; |
|
|
|
this.modalFlag=true; |
|
|
|
}).catch((error)=>{ |
|
|
|
this.modalDisableFlag=true; |
|
|
|
this.modalFlag=true; |
|
|
|
}) |
|
|
|
this.modalFlag = true; |
|
|
|
}, |
|
|
|
|
|
|
|
// 删除 |
|
|
|
deletePropertiesModel (row) { |
|
|
|
deletePropertiesModel(row) { |
|
|
|
this.$confirm(`是否删除这个属性模板?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
@ -1008,7 +1061,7 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
saveData(){ |
|
|
|
saveData() { |
|
|
|
if (this.modalData.codeNo == '' || this.modalData.codeNo == null) { |
|
|
|
this.$alert('请输入属性模板编码!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
@ -1027,13 +1080,13 @@ |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if (this.modalData.menuList.length <= 0){ |
|
|
|
this.$alert('选择模板分组!', '错误', { |
|
|
|
if (this.modalData.functionType === '' && this.modalData.flag === '1') { |
|
|
|
this.$alert('选择模板类型!', '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
if(this.modalData.flag == '1'){ |
|
|
|
if (this.modalData.flag === '1') { |
|
|
|
propertiesModelSave(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
@ -1051,11 +1104,11 @@ |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
propertiesModelEdit(this.modalData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.getDataList() |
|
|
|
this.modalFlag=false |
|
|
|
this.modalFlag = false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
@ -1072,7 +1125,7 @@ |
|
|
|
} |
|
|
|
}, |
|
|
|
//打开属性清单 |
|
|
|
detailModal(row){ |
|
|
|
detailModal(row) { |
|
|
|
this.detailData.codeNo = row.codeNo |
|
|
|
this.detailData.codeDesc = row.codeDesc |
|
|
|
this.detailData.functionType = row.functionType |
|
|
|
@ -1081,7 +1134,7 @@ |
|
|
|
}) |
|
|
|
this.detailModelFlag = true; |
|
|
|
}, |
|
|
|
deleteModalDetails(row){ |
|
|
|
deleteModalDetails(row) { |
|
|
|
this.$confirm(`是否删除这个属性项目?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
@ -1108,12 +1161,12 @@ |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
}, |
|
|
|
chooseModal(row){ |
|
|
|
chooseModal(row) { |
|
|
|
this.chooseModalData.site = row.site; |
|
|
|
this.chooseModalData.itemNo = row.itemNo; |
|
|
|
this.chooseModalData.itemDesc = row.itemDesc; |
|
|
|
this.chooseModalData.valueTypeDb = row.valueTypeDb; |
|
|
|
this.chooseModalData.itemType=row.functionType; |
|
|
|
this.chooseModalData.itemType = row.functionType; |
|
|
|
searchItemAvailable(this.chooseModalData).then(({data}) => { |
|
|
|
this.chooseTableData = data.rows |
|
|
|
}) |
|
|
|
@ -1121,14 +1174,14 @@ |
|
|
|
}, |
|
|
|
//---------快速添加---------- |
|
|
|
|
|
|
|
queryTemplateItem(){ |
|
|
|
queryTemplateItem() { |
|
|
|
getItemLists(this.detailData).then(({data}) => { |
|
|
|
this.itemList1 = data.row1; |
|
|
|
this.itemList2 = data.row2; |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
addFastModal(){ |
|
|
|
addFastModal() { |
|
|
|
this.itemSelections1 = null |
|
|
|
this.itemSelections2 = null |
|
|
|
getItemLists(this.detailData).then(({data}) => { |
|
|
|
@ -1138,24 +1191,24 @@ |
|
|
|
this.fastAddFlag = true; |
|
|
|
}, |
|
|
|
// 可选属性 |
|
|
|
itemClickRow1(row){ |
|
|
|
itemClickRow1(row) { |
|
|
|
this.$refs.itemTable1.toggleRowSelection(row); |
|
|
|
}, |
|
|
|
// 已有属性 |
|
|
|
itemClickRow2(row){ |
|
|
|
itemClickRow2(row) { |
|
|
|
this.$refs.itemTable2.toggleRowSelection(row); |
|
|
|
}, |
|
|
|
selectFlag(){ |
|
|
|
selectFlag() { |
|
|
|
return true; |
|
|
|
}, |
|
|
|
selectionItem1(val){ |
|
|
|
selectionItem1(val) { |
|
|
|
this.itemSelections1 = val |
|
|
|
}, |
|
|
|
selectionItem2(val){ |
|
|
|
selectionItem2(val) { |
|
|
|
this.itemSelections2 = val |
|
|
|
}, |
|
|
|
addItem(){ |
|
|
|
if(this.itemSelections1 == null || this.itemSelections1.length == 0){ |
|
|
|
addItem() { |
|
|
|
if (this.itemSelections1 == null || this.itemSelections1.length == 0) { |
|
|
|
this.$alert("请选择可选属性!", '提示', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
@ -1186,8 +1239,8 @@ |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
deleteItem(){ |
|
|
|
if(this.itemSelections2 == null || this.itemSelections2.length == 0){ |
|
|
|
deleteItem() { |
|
|
|
if (this.itemSelections2 == null || this.itemSelections2.length == 0) { |
|
|
|
this.$alert("请选择已有属性!", '提示', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
@ -1195,14 +1248,14 @@ |
|
|
|
} |
|
|
|
let inData = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
codeNo:this.detailData.codeNo, |
|
|
|
codeDesc:this.detailData.codeDesc, |
|
|
|
functionType:this.detailData.functionType, |
|
|
|
codeNo: this.detailData.codeNo, |
|
|
|
codeDesc: this.detailData.codeDesc, |
|
|
|
functionType: this.detailData.functionType, |
|
|
|
// itemNo: this.itemListRow2.itemNo, |
|
|
|
// itemDesc:this.itemListRow2.itemDesc, |
|
|
|
itemList: this.itemSelections2, |
|
|
|
itemType:this.detailData.itemType, |
|
|
|
userId:this.$store.state.user.name |
|
|
|
itemType: this.detailData.itemType, |
|
|
|
userId: this.$store.state.user.name |
|
|
|
} |
|
|
|
deleteModalDetails(inData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
@ -1218,7 +1271,7 @@ |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
refreshDetailList(){ |
|
|
|
refreshDetailList() { |
|
|
|
searchModalDetails(this.detailData).then(({data}) => { |
|
|
|
this.detailList = data.rows |
|
|
|
}) |
|
|
|
@ -1244,6 +1297,78 @@ |
|
|
|
}) |
|
|
|
|
|
|
|
}, |
|
|
|
BUBtnDialog(row) { |
|
|
|
this.modalData = row |
|
|
|
searchBUPropertiesList(row).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.selectionBU = data.row.map(item => item.buNo); |
|
|
|
this.BUDialog = true |
|
|
|
} else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error) => { |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
savePropertiesBU() { |
|
|
|
// if (this.selectionBU.length === 0) { |
|
|
|
// this.$message.warning("未选择BU") |
|
|
|
// return |
|
|
|
// } |
|
|
|
let arr = this.selectionBU.map(item => { |
|
|
|
return { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
buNo: item, |
|
|
|
functionType: this.modalData.functionType, |
|
|
|
codeNo: this.modalData.codeNo |
|
|
|
} |
|
|
|
}); |
|
|
|
if (arr.length === 0){ |
|
|
|
arr[0] = { |
|
|
|
site: this.$store.state.user.site, |
|
|
|
functionType: this.modalData.functionType, |
|
|
|
codeNo: this.modalData.codeNo |
|
|
|
} |
|
|
|
} |
|
|
|
saveBUPropertiesList(arr).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.$message.success(data.msg) |
|
|
|
this.getDataList() |
|
|
|
this.BUDialog = false |
|
|
|
} else { |
|
|
|
this.$message.warning(data.msg) |
|
|
|
} |
|
|
|
}).catch((error) => { |
|
|
|
this.$message.error(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style scoped> |
|
|
|
.rq /deep/ .el-transfer-panel { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.rq /deep/ .el-transfer-panel .el-transfer-panel__header { |
|
|
|
height: 35px; |
|
|
|
line-height: 35px; |
|
|
|
} |
|
|
|
|
|
|
|
.rq /deep/ .el-transfer-panel .el-transfer-panel__header .el-checkbox { |
|
|
|
line-height: 35px; |
|
|
|
} |
|
|
|
|
|
|
|
.rq /deep/ .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label { |
|
|
|
color: #fff |
|
|
|
} |
|
|
|
|
|
|
|
.rq /deep/ .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span { |
|
|
|
color: #3c3c3e; |
|
|
|
} |
|
|
|
|
|
|
|
.rq /deep/ .el-transfer-panel .el-checkbox__inner::after { |
|
|
|
height: 8px; |
|
|
|
width: 4px; |
|
|
|
} |
|
|
|
</style> |