Browse Source

2024-02-28 筛选页面实现

master
zelian_wu 2 years ago
parent
commit
31be0e33f0
  1. 7
      src/api/sift/queryUserSetting.js
  2. 4
      src/store/index.js
  3. 17
      src/store/modules/sift.js
  4. 375
      src/views/main-content.vue
  5. 6
      src/views/modules/base/buInfo.vue
  6. 339
      src/views/modules/base/factoryInformation.vue

7
src/api/sift/queryUserSetting.js

@ -0,0 +1,7 @@
import {createAPI} from "../../utils/httpRequest";
export const searchUserSettingList = (data) => createAPI(`/sift/list`,'get',data)
export const searchUserSettingRecording = (data) => createAPI(`/sift/recording`,'get',data)
export const searchUserSettingRecordList = (data) => createAPI(`/sift/recordList`,'get',data)
export const saveOrUpdateBatch = (data) => createAPI(`/sift/saveOrUpdateBatch`,'post',data)
export const saveQueryHeaderDetail = (data) => createAPI(`/sift/saveRecord`,'post',data)

4
src/store/index.js

@ -3,13 +3,15 @@ import Vuex from 'vuex'
import cloneDeep from 'lodash/cloneDeep'
import common from './modules/common'
import user from './modules/user'
import sift from "./modules/sift";
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
common,
user
user,
sift
},
mutations: {
// 重置vuex本地储存状态

17
src/store/modules/sift.js

@ -0,0 +1,17 @@
export default {
namespaced: true,
state: {
siftList:[],
searchFunction:(params)=>{
window.alert("没有查询方法")
},//直接查询
},
mutations: {
commitSiftList(state, siftList) {
state.siftList = siftList
},
commitSearchFunction(state, SearchFunction) {
state.searchFunction = SearchFunction
},
}
}

375
src/views/main-content.vue

@ -1,4 +1,5 @@
<template>
<div>
<main class="site-content" :class="{ 'site-content--tabs': $route.meta.isTab }">
<!-- 主入口标签页 s -->
<el-tabs
@ -14,6 +15,7 @@
<el-dropdown-item @click.native="tabsCloseOtherHandle">关闭其它标签页</el-dropdown-item>
<el-dropdown-item @click.native="tabsCloseAllHandle">关闭全部标签页</el-dropdown-item>
<el-dropdown-item @click.native="refresh()">刷新当前标签页</el-dropdown-item>
<el-dropdown-item @click.native="flag = true">筛选条件</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-tab-pane
@ -40,14 +42,116 @@
</keep-alive>
</el-card>
</main>
<el-dialog title="查询" append-to-body v-drag @close="closeSiftDialog" @open="openSiftDialog" :visible.sync="flag" width="65%">
<el-container>
<el-aside width="90%">
<el-autocomplete :hide-loading="false" v-if="!settingFlag" style="width: 100%;" @select="handleSelect" :fetch-suggestions="querySaveRecord" v-model="itemDesc">
<el-button @click="$store.state.sift.searchFunction([...siftList])" style="width: 80px" slot="append" icon="el-icon-search"></el-button>
</el-autocomplete>
<el-table ref="siftTable" :row-key="getRowKeys" @selection-change="handleSelectionChange" :data="siftList" height="40vh" border>
<el-table-column
type="selection"
width="40" align="center" v-if="settingFlag">
</el-table-column>
<el-table-column label="操作" align="left" header-align="center" width="70" v-if="settingFlag">
<template slot-scope="{row,$index}">
<el-link style="cursor:pointer;" @click="moveSetting($index,-1)" v-if="$index !== 0">上移</el-link>
<el-link style="cursor:pointer;" @click="moveSetting($index,1)" v-if="$index !== siftList.length-1">下移</el-link>
</template>
</el-table-column>
<!-- <el-table-column label="属性" align="center" show-overflow-tooltip width="120" prop="fieldName"></el-table-column>-->
<el-table-column label="属性名称" align="center" show-overflow-tooltip width="120" prop="fieldCaption"></el-table-column>
<el-table-column label="条件" align="center">
<template slot-scope="{row,$index}">
<el-input v-model="row.formula" clearable :disabled="row.symbol === 'is_null' || row.symbol === 'is_not_null'">
<el-select @change="(value)=>changeSymbol(value,row)" slot="prepend" clearable v-model="row.symbol" style="width: 100px;cursor:pointer;">
<el-option value="eq" label="="></el-option>
<el-option value="ne" label="!="></el-option>
<el-option value="lt" label="<"></el-option>
<el-option value="le" label="<="></el-option>
<el-option value="gt" label=">"></el-option>
<el-option value="ge" label=">="></el-option>
<el-option value="like" label="包含"></el-option>
<el-option value="in" label="在列表"></el-option>
<el-option value="between" label="范围"></el-option>
<el-option value="not_between" label="不在范围"></el-option>
<el-option value="is_null" label="是空"></el-option>
<el-option value="is_not_null" label="不是空"></el-option>
</el-select>
</el-input>
</template>
</el-table-column>
<el-table-column label="排序" align="center" prop="sortBy" show-overflow-tooltip width="120">
<template slot-scope="{row,$index}">
<el-select v-model="row.sortBy" clearable style="width: 100%">
<el-option value="asc" label="升序"></el-option>
<el-option value="desc" label="降序"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="数据库字段" align="center" prop="originalField" show-overflow-tooltip width="120"></el-table-column>
</el-table>
</el-aside>
<el-container>
<el-main style="padding: 0px;">
<el-card class="box-card" style="height: 100%;margin-left: 3px">
<div style="text-align: center;">
<div class="box-div" style="margin-top: 70px">
<button @click="openSaveQueryHeaderDialog" v-if="!settingFlag">条件保存</button>
</div>
<div class="box-div">
<button @click="flushedSiftList">刷新</button>
</div>
<div class="box-div">
<button @click="clearSetting">清除</button>
</div>
<div class="box-div">
<button @click="queryUserSettingSave">{{ settingFlag?'保存':'配置' }}</button>
</div>
<div class="box-div" v-if="settingFlag">
<button @click="settingFlag = false">取消</button>
</div>
</div>
</el-card>
</el-main>
</el-container>
</el-container>
<div style="height: 20px;width: 100%"></div>
</el-dialog>
<el-dialog title="记录名称" center :visible.sync="saveQueryHeader" @open="selectData = {itemDesc: undefined}" top="20vh" width="20%">
<el-input v-model="selectData.itemDesc"></el-input>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="saveQueryHeaderDetail"> </el-button>
<el-button type="primary" @click="saveQueryHeader = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { isURL } from '@/utils/validate'
import {
saveOrUpdateBatch, saveQueryHeaderDetail,
searchUserSettingList,
searchUserSettingRecording,
searchUserSettingRecordList
} from "../api/sift/queryUserSetting";
import {Decimal} from "decimal.js";
export default {
inject: ['refresh'],
data () {
return {
cloneSiftList:[],
flag:false,
settingFlag:false,
selectionSiftList:[],
recordList:[],
itemDesc:'',
selectData:{
itemDesc:undefined,
},
saveQueryHeader:false,
}
},
computed: {
@ -73,6 +177,11 @@
return isURL(this.$route.meta.iframeUrl) ? { height: height + 'px' } : { minHeight: height + 'px' }
}
return { minHeight: height + 'px' }
},
siftList:{
get(){
return this.$store.state.sift.siftList.filter(e => e.visible === 'Y'|| this.settingFlag)
},
}
},
methods: {
@ -121,8 +230,274 @@
this.$nextTick(() => {
this.$router.push({ name: tab.name, query: tab.query, params: tab.params })
})
},
openSiftDialog(){
this.cloneSiftList = JSON.parse(JSON.stringify(this.$store.state.sift.siftList))
},
closeSiftDialog(){
if (this.settingFlag){
this.$confirm('存在未保存的数据,是否保存?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.queryUserSettingSave();
this.settingFlag = false;
}).catch(() => {
this.settingFlag = false;
});
}
this.$store.commit("sift/commitSiftList",this.cloneSiftList);
this.itemDesc = '';
},
searchSiftList(){
let params = {
menuId:this.$route.meta.menuId,
userId:this.$store.state.user.id
}
searchUserSettingList(params).then(({data})=>{
if (data && data.code === 0){
this.$store.commit("sift/commitSiftList",data.rows)
this.cloneSiftList = data.rows
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.warning(error)
})
},
queryUserSettingSave(){
if (this.settingFlag === false){
this.settingFlag = true
this.$store.commit("sift/commitSiftList",this.cloneSiftList)
this.$nextTick(()=>{
this.$refs.siftTable.clearSelection()
this.siftList.forEach(row=>{
this.$refs.siftTable.toggleRowSelection(row,row.visible === 'Y')
})
})
return
}
//
// this.showSetting();
//
saveOrUpdateBatch(this.showSetting()).then(({data})=>{
if (data && data.code === 0){
this.searchSiftList()
this.itemDesc = '';
this.settingFlag = false
this.$message.success(data.msg)
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
handleSelectionChange(val){
this.selectionSiftList = val
},
getRowKeys(row){
return row.fieldName
},
moveSetting(i,num){
let arr = [...this.siftList]
arr[i+num].showSeqNo = new Decimal(arr[i+num].showSeqNo).toNumber() - num
arr[i].showSeqNo = new Decimal(arr[i+num].showSeqNo).toNumber() + num
arr = arr.sort((a,b)=> a.showSeqNo-b.showSeqNo)
this.$store.commit("sift/commitSiftList",arr)
this.$nextTick(()=>{
this.siftList.forEach(row =>{
this.$refs.siftTable.toggleRowSelection(row,row.visible === 'Y')
})
})
},
showSetting(){
let arr = [...this.siftList]
arr.map(i=>{
i.visible = 'N'
return i
})
this.selectionSiftList.forEach(item=>{
for (let i = 0; i < arr.length; i++) {
let setting = arr[i]
if (item.fieldName === setting.fieldName){
setting.visible = 'Y'
break
}
}
})
return arr
},
clearSetting(){
let arr = JSON.parse(JSON.stringify(this.siftList));
for (let i = 0; i < this.siftList.length; i++) {
arr[i].symbol = null;
arr[i].formula = null;
arr[i].sortBy = null;
}
this.itemDesc = '';
this.$store.commit("sift/commitSiftList",arr)
this.$nextTick(()=>{
this.siftList.forEach(row =>{
this.$refs.siftTable.toggleRowSelection(row,row.visible === 'Y')
})
})
},
flushedSiftList(){
let params = {
menuId:this.$route.meta.menuId,
userId:this.$store.state.user.id
}
this.itemDesc = ''
searchUserSettingList(params).then(({data})=>{
if (data && data.code === 0){
this.$store.commit("sift/commitSiftList",data.rows)
this.$nextTick(()=>{
this.siftList.forEach(row =>{
this.$refs.siftTable.toggleRowSelection(row,row.visible === 'Y')
})
})
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
flushedSiftRecording(){
let params = {
menuId:this.$route.meta.menuId,
userId:this.$store.state.user.id
}
searchUserSettingRecordList(params).then(({data})=>{
if (data && data.code === 0){
this.recordList = data.rows
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
flushSift(){
if (this.$route.meta.menuId){
this.flushedSiftList()
this.flushedSiftRecording()
}
},
querySaveRecord(queryString, cb){
let results = this.recordList;
results = queryString?results.filter((item)=>{
return item.itemDesc.toUpperCase().match(queryString)
}):results;
results = results.map(item=>{
item.value = item.itemDesc
return item
})
cb(results)
},
handleSelect(item){
this.selectData = JSON.parse(JSON.stringify(item))
searchUserSettingRecording(item).then(({data})=>{
if (data && data.code === 0){
let rows = data.rows
let list = [...this.siftList]
rows.forEach((row)=>{
for (let i = 0; i < list.length; i++) {
let sift = list[i]
if (sift.menuId === row.menuId && sift.userId === row.userId && sift.fieldName === row.fieldName){
sift.symbol = row.symbol
sift.formula = row.formula
sift.sortBy = row.sortBy
break
}
}
})
this.$store.commit("sift/commitSiftList",list);
//
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
openSaveQueryHeaderDialog(){
if (!this.itemDesc){
this.saveQueryHeader = true
return
}
this.saveQueryHeaderDetail();
},
saveQueryHeaderDetail(){
let param = {...this.selectData}
//
if (this.saveQueryHeader){
param.menuId = this.$route.meta.menuId
param.userId = this.$store.state.user.id
param.dtsName = 'ADOQResult'
}
param.querySavedDetailList = JSON.parse(JSON.stringify(this.siftList))
saveQueryHeaderDetail(param).then(({data})=>{
if (data && data.code === 0){
this.flushedSiftRecording();
this.saveQueryHeader = false
this.$message.success(data.msg)
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
changeSymbol(value,row){
if (value === 'is_null' || value === 'is_not_null'){
row.formula = '';
}
}
},
watch:{
//
$route:'flushSift'
},
mounted() {
this.flushSift()
}
}
</script>
<style scoped>
/deep/ .el-table .cell{
height: auto;
}
.box-div{
width: 100%;
margin-bottom: 5px;
padding-bottom: 5px;
//border-bottom: 1px solid #eee;
}
.box-div button{
height: 32px;
width: 80px;
background: rgb(22,179,163);
border: none;
border-radius: 5px;
color: #fff;
cursor: pointer;
}
.box-div button:hover{
background: rgb(97, 217, 204);
}
/deep/ .el-input .el-input-group__prepend{
background-color: #fff;
}
/deep/ .el-autocomplete .el-input .el-input-group__append{
background-color: rgb(22,179,163);
color: #fff;
border: 1px solid rgb(22,179,163);
}
</style>

6
src/views/modules/base/buInfo.vue

@ -263,7 +263,13 @@
}
},
},
activated() {
this.$store.commit("sift/commitSearchFunction",this.getBuDemo)
},
methods: {
getBuDemo(params){
this.$message.success("这里是BU")
},
// S
getBaseList (val, type) {
this.tagNo = val

339
src/views/modules/base/factoryInformation.vue

@ -1,9 +1,11 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{buttons.search}}</el-button>
<el-button @click="addModal()" type="primary" :disabled = "authAdd"
style="margin-left: 2px;margin-top: 0px">{{buttons.add}}</el-button>
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 0px">{{ buttons.search }}
</el-button>
<el-button @click="addModal()" type="primary" :disabled="authAdd"
style="margin-left: 2px;margin-top: 0px">{{ buttons.add }}
</el-button>
<download-excel
:fields="fields()"
:data="exportData"
@ -33,10 +35,11 @@
fixed="right"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="scope.row.active=='Y'" @click="accessSiteModel(scope.row)">{{buttons.role}}</a>
<a type="text" size="small" v-if="!authEdit" @click="editSite(scope.row)">{{buttons.update}}</a>
<a type="text" size="small" @click="getCompanyInformation(scope.row)">{{buttons.companyInformation}}</a>
<!-- //v-if="jumpFlag"-->
<a type="text" size="small" v-if="scope.row.active=='Y'"
@click="accessSiteModel(scope.row)">{{ buttons.role }}</a>
<a type="text" size="small" v-if="!authEdit" @click="editSite(scope.row)">{{ buttons.update }}</a>
<a type="text" size="small" @click="getCompanyInformation(scope.row)">{{ buttons.companyInformation }}</a>
<!-- //v-if="jumpFlag"-->
</template>
</el-table-column>
<el-table-column
@ -50,13 +53,14 @@
:width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<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>
</template>
</el-table-column>
</el-table>
<el-dialog :title=labels.factoryInformation :close-on-click-modal="false" v-drag :visible.sync="siteFlag" width="630px" >
<el-dialog :title=labels.factoryInformation :close-on-click-modal="false" v-drag :visible.sync="siteFlag"
width="630px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="labels.site">
<el-input v-model="siteData.siteID" :disabled="siteInputFlag" style="width: 130px"></el-input>
@ -72,8 +76,8 @@
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item >
<span slot="label" style="" @click="getBaseList(1003)"><a herf="#">{{labels.company}}</a></span>
<el-form-item>
<span slot="label" style="" @click="getBaseList(1003)"><a herf="#">{{ labels.company }}</a></span>
<el-input v-model="siteData.companyID" style="width: 130px"></el-input>
</el-form-item>
<el-form-item :label=labels.referenceCustomerID>
@ -112,23 +116,26 @@
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label=labels.address>
<el-input v-model="siteData.address" type="textarea" :autosize="{ minRows: 1, maxRows: 6}" style="width: 562px"></el-input>
<el-input v-model="siteData.address" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label=labels.addressE>
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}" style="width: 562px"></el-input>
<el-input v-model="siteData.addressE" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: 0px;">
<el-form-item :label=labels.website>
<el-input v-model="siteData.website" type="textarea" :autosize="{ minRows: 1, maxRows: 6}" style="width: 562px"></el-input>
<el-input v-model="siteData.website" type="textarea" :autosize="{ minRows: 1, maxRows: 6}"
style="width: 562px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="siteSave()">{{buttons.save}}</el-button>
<el-button type="primary" @click="siteFlag = false">{{buttons.close}}</el-button>
<el-button type="primary" @click="siteSave()">{{ buttons.save }}</el-button>
<el-button type="primary" @click="siteFlag = false">{{ buttons.close }}</el-button>
</el-footer>
</el-dialog>
<!-- 动态列 -->
@ -161,38 +168,36 @@
<script>
import column from "@/views/modules/common/column";
import {
import column from "@/views/modules/common/column";
import {
getSiteData,
getCompanyData,
siteSave,
searchAccessSiteListBySite,
saveAccessSiteForSite
} from "@/api/base/site.js"
import {
} from "@/api/base/site.js"
import {
searchFunctionButtonList,
} from "@/api/sysLanguage.js"
import {
} from "@/api/sysLanguage.js"
import {
getTableDefaultListLanguage,
getTableUserListLanguage,
} from "@/api/table.js"
import Chooselist from '@/views/modules/common/Chooselist'
} from "@/api/table.js"
import Chooselist from '@/views/modules/common/Chooselist'
var functionId='100001002';
var functionId = '100001002';
export default {
export default {
name: "factoryInformation",
components: {
column,Chooselist
column, Chooselist
},
data() {
return {
rowSite:'',
accessSiteVisible:false,
accessSiteList:[],
userList:[],
rowSite: '',
accessSiteVisible: false,
accessSiteList: [],
userList: [],
queryTable: {
functionId: this.$route.meta.menuId,
tableId: "100001002Table",
@ -206,15 +211,15 @@
status: true,
languageCode: this.$i18n.locale
},
jumpFlag:true,
jumpFlag: true,
authEdit: false,
authAdd: false,
authDelete: false,
menuId: this.$route.meta.menuId,
tagNo:'',
tagNo: '',
// start
exportData: [],
exportName: "工厂信息"+this.dayjs().format('YYYYMMDDHHmmss'),
exportName: "工厂信息" + this.dayjs().format('YYYYMMDDHHmmss'),
exportHeader: ["工厂信息"],
exportFooter: [],
// end
@ -267,7 +272,7 @@
tableId: '*',
},
],
labelsList:[
labelsList: [
{
functionId: functionId,
languageValue: '工厂编码',
@ -367,32 +372,32 @@
},
],
labels: {
site:'工厂编码',
factoryInformation:'工厂信息',
siteName_cn:'工厂名称(中文)',
siteName_en:'工厂名称(英文)',
postCode:'邮政编码',
company:'会计单位',
referenceCustomerID:'参照客户编码',
active:'在用',
shipTime:'发货时间',
contactName:'联系人',
phoneNo:'电话',
email:'email',
faxNo:'传真',
address:'地址(中文)',
addressE:'地址(英文)',
website:'公司网站',
},
buttons:{
search:'查询',
add:'新增',
download:'导出',
update:'修改',
companyInformation:'查看会计单位信息',
save:'保存',
close:'关闭',
role:'授权',
site: '工厂编码',
factoryInformation: '工厂信息',
siteName_cn: '工厂名称(中文)',
siteName_en: '工厂名称(英文)',
postCode: '邮政编码',
company: '会计单位',
referenceCustomerID: '参照客户编码',
active: '在用',
shipTime: '发货时间',
contactName: '联系人',
phoneNo: '电话',
email: 'email',
faxNo: '传真',
address: '地址(中文)',
addressE: '地址(英文)',
website: '公司网站',
},
buttons: {
search: '查询',
add: '新增',
download: '导出',
update: '修改',
companyInformation: '查看会计单位信息',
save: '保存',
close: '关闭',
role: '授权',
},
queryButton: {
functionId: functionId,
@ -407,30 +412,30 @@
objectType: 'label'
},
visible:false,
visible: false,
// end
height: 200,
siteFlag:false,
siteInputFlag:true,
siteFlag: false,
siteInputFlag: true,
siteData: {
add:'',
siteID:'',
siteName:'',
siteNameE:'',
companyID:'',
postCode:'',
address:'',
addressE:'',
website:'',
contactName:'',
phoneNo:'',
faxNo:'',
email:'',
active:'Y',
shipTime:'',
referenceCustomerID:'',
},
dataList:[],
add: '',
siteID: '',
siteName: '',
siteNameE: '',
companyID: '',
postCode: '',
address: '',
addressE: '',
website: '',
contactName: '',
phoneNo: '',
faxNo: '',
email: '',
active: 'Y',
shipTime: '',
referenceCustomerID: '',
},
dataList: [],
columnList: [
{
userId: this.$store.state.user.name,
@ -712,14 +717,14 @@
})
},
watch: {
'$route' (to, from) {
if(localStorage.getItem('factoryInformation')!=undefined){
'$route'(to, from) {
if (localStorage.getItem('factoryInformation') != undefined) {
this.getData();
}
}
},
methods: {
getBaseData(val){
getBaseData(val) {
this.$nextTick(() => {
if (this.tagNo === 1003) {
@ -729,74 +734,74 @@
},
//
getBaseList(val){
getBaseList(val) {
this.tagNo = val
this.$nextTick(() => {
let strVal = "";
if (val === 1003 && this.siteData.companyID){
if (val === 1003 && this.siteData.companyID) {
strVal = this.siteData.companyID
}
this.$refs.baseList.init(val,strVal)
this.$refs.baseList.init(val, strVal)
})
},
getData(){
let data={};
if(localStorage.getItem('factoryInformation')!=undefined){
data=JSON.parse(localStorage.getItem('factoryInformation'));
getData() {
let data = {};
if (localStorage.getItem('factoryInformation') != undefined) {
data = JSON.parse(localStorage.getItem('factoryInformation'));
}
localStorage.removeItem('factoryInformation');
getSiteData(data).then(({data}) => {
this.dataList = data.rows
})
},
addModal(){
this.siteData={
add:'',
siteID:'',
siteName:'',
siteNameE:'',
companyID:'',
postCode:'',
address:'',
addressE:'',
website:'',
contactName:'',
phoneNo:'',
faxNo:'',
email:'',
active:'Y',
shipTime:'',
referenceCustomerID:'',
},
this.siteData.add=0;
this.siteInputFlag=false;
this.siteData.active='Y';
this.siteFlag=true;
},
editSite(row){
this.siteData=JSON.parse(JSON.stringify(row));
this.siteData.add=1;
this.siteInputFlag=true;
this.siteFlag=true;
},
siteSave(){
addModal() {
this.siteData = {
add: '',
siteID: '',
siteName: '',
siteNameE: '',
companyID: '',
postCode: '',
address: '',
addressE: '',
website: '',
contactName: '',
phoneNo: '',
faxNo: '',
email: '',
active: 'Y',
shipTime: '',
referenceCustomerID: '',
},
this.siteData.add = 0;
this.siteInputFlag = false;
this.siteData.active = 'Y';
this.siteFlag = true;
},
editSite(row) {
this.siteData = JSON.parse(JSON.stringify(row));
this.siteData.add = 1;
this.siteInputFlag = true;
this.siteFlag = true;
},
siteSave() {
siteSave(this.siteData).then(({data}) => {
if(this.siteData.companyID==''||this.siteData.companyID==null){
this.$alert("请选择会计单位!",'错误',{
confirmButtonText:'确定'
if (this.siteData.companyID == '' || this.siteData.companyID == null) {
this.$alert("请选择会计单位!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if(this.siteData.siteID==''||this.siteData.siteID==null){
this.$alert("请输入工厂编码!",'错误',{
confirmButtonText:'确定'
if (this.siteData.siteID == '' || this.siteData.siteID == null) {
this.$alert("请输入工厂编码!", '错误', {
confirmButtonText: '确定'
})
return false;
}
if(this.siteData.siteName==''||this.siteData.siteName==null){
this.$alert("请输入工厂名称!",'错误',{
confirmButtonText:'确定'
if (this.siteData.siteName == '' || this.siteData.siteName == null) {
this.$alert("请输入工厂名称!", '错误', {
confirmButtonText: '确定'
})
return false;
}
@ -812,22 +817,22 @@
}
})
},
saveAccessSite(){
let accessSiteList=[]
for (let i = 0; i <this.accessSiteList.length ; i++) {
let inData={
site:this.rowSite,
userid:this.accessSiteList[i]
saveAccessSite() {
let accessSiteList = []
for (let i = 0; i < this.accessSiteList.length; i++) {
let inData = {
site: this.rowSite,
userid: this.accessSiteList[i]
}
accessSiteList.push(inData)
}
let saveData={
site:this.rowSite,
accessSiteList:accessSiteList,
let saveData = {
site: this.rowSite,
accessSiteList: accessSiteList,
}
saveAccessSiteForSite(saveData).then(({data}) => {
if (data && data.code === 0) {
this.$message.success( '操作成功')
this.$message.success('操作成功')
this.accessSiteVisible = false
} else {
this.$message.error(data.msg)
@ -862,19 +867,19 @@
return s
},
// end
getCompanyInformation(row){
let inData={companyID:row.companyID,companyName:row.companyName};
getCompanyInformation(row) {
let inData = {companyID: row.companyID, companyName: row.companyName};
localStorage.setItem('companyInformation', JSON.stringify(inData))
this.$router.replace('base-companyInformation')
},
//
getButtonAuthData(){
let updateFlag = this.isAuth(this.menuId+":revise");
let fullControFlag = this.isAuth(this.menuId+":fullContro");
let deleteFlag = this.isAuth(this.menuId+":remove");
getButtonAuthData() {
let updateFlag = this.isAuth(this.menuId + ":revise");
let fullControFlag = this.isAuth(this.menuId + ":fullContro");
let deleteFlag = this.isAuth(this.menuId + ":remove");
//
this.authEdit = !updateFlag ||!fullControFlag;
this.authEdit = !updateFlag || !fullControFlag;
this.authAdd = !fullControFlag;
this.authDelete = !deleteFlag;
@ -885,14 +890,15 @@
}
},
accessSiteModel(row){
searchAccessSiteListBySite({site:row.siteID,
accessSiteModel(row) {
searchAccessSiteListBySite({
site: row.siteID,
}).then(({data}) => {
this.accessSiteList = data.accessSiteList
this.userList=data.userList
this.userList = data.userList
})
this.rowSite=row.siteID
this.accessSiteVisible=true;
this.rowSite = row.siteID
this.accessSiteVisible = true;
},
//
@ -922,7 +928,7 @@
let queryTable = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId:this.queryTable .tableId,
tableId: this.queryTable.tableId,
languageCode: this.$i18n.locale
}
this.$nextTick(() => {
@ -952,25 +958,28 @@
}
})
},
getSiteDataDemo(params){
this.$message.success("这里是Site")
}
},
created() {
this.getMultiLanguageList()//
this.getData();
//
this.getButtonAuthData();
this.getTableUserColumn()
},
activated() {
this.$store.commit("sift/commitSearchFunction",this.getSiteDataDemo)
}
}
}
</script>
<style >
<style>
.el-textarea__inner {
.el-textarea__inner {
padding: 5px 5px;
}
}
</style>
Loading…
Cancel
Save