ruanqi 4 years ago
parent
commit
d979bafcd2
  1. 5
      src/api/base/site.js
  2. 3
      src/api/production/schedule.js
  3. 33
      src/views/common/login.vue
  4. 3
      src/views/main.vue
  5. 107
      src/views/modules/schedule/cancelSfdc.vue
  6. 2
      src/views/modules/schedule/schedule.vue
  7. 2
      src/views/modules/sys/user-add-or-update.vue
  8. 161
      src/views/modules/sys/user.vue

5
src/api/base/site.js

@ -41,3 +41,8 @@ export const getWorkCenterDataDetail=data => createAPI(`/base/getWorkCenterDataD
export const saveResource=data => createAPI(`/base/saveResource`, 'post', data);
export const deleteResource=data => createAPI(`/base/deleteResource`, 'post', data);
export const getUnSelectedSiteData=data => createAPI(`/base/getUnSelectedSiteData`, 'post', data);
export const getAccessSiteData=data => createAPI(`/base/getAccessSiteData`, 'post', data);
export const addAccessSite=data => createAPI(`/base/addAccessSite`, 'post', data);
export const deleteAccessSite=data => createAPI(`/base/deleteAccessSite`, 'post', data);

3
src/api/production/schedule.js

@ -18,3 +18,6 @@ export const cancelSchedule = data => createAPI(`/schedule/cancelSchedule`,'post
export const circulationSchedule = data => createAPI(`/schedule/circulationSchedule`,'post',data)
export const getSfdcList = data => createAPI(`/schedule/getSfdcList`,'post',data)
export const cancelSfdc = data => createAPI(`/schedule/cancelSfdc`,'post',data)
export const getSfdcOperatorList = data => createAPI(`/schedule/getSfdcOperatorList`,'post',data)
export const getSfdcDefectList = data => createAPI(`/schedule/getSfdcDefectList`,'post',data)

33
src/views/common/login.vue

@ -6,6 +6,18 @@
<h3 class="login-title">用户登陆</h3>
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" status-icon>
<el-form-item>
<el-select v-model="dataForm.site" style="width: 230px"
placeholder="请选择工厂">
<el-option
v-for="(item,index) in siteList"
:key="index"
:label="item.siteID+' - '+item.siteName"
:value="item.siteID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item prop="userName">
<el-input v-model="dataForm.userName" placeholder="帐号"></el-input>
</el-form-item>
@ -23,6 +35,9 @@
</template>
<script>
import {
getSiteData,
} from "@/api/base/site.js"
import { getUUID } from '@/utils'
export default {
data () {
@ -32,8 +47,10 @@
userName: '',
password: '',
uuid: '',
captcha: ''
captcha: '',
site:''
},
siteList:[],
dataRule: {
userName: [
{ required: true, message: '帐号不能为空', trigger: 'blur' }
@ -47,8 +64,18 @@
},
created () {
this.userName();
this.getSiteData();
},
methods: {
getSiteData(){
let data={};
getSiteData(data).then(({data}) => {
this.siteList = data.rows
if(this.siteList.length>0){
this.dataForm.site=this.siteList[0].siteID
}
})
},
//
userName(){
this.dataForm.userName = localStorage.getItem('userName')
@ -63,7 +90,8 @@
data: this.$http.adornData({
'username': this.dataForm.userName,
'password': this.dataForm.password,
'uuid': this.dataForm.uuid
'uuid': this.dataForm.uuid,
'site': this.dataForm.site,
})
}).then(({data}) => {
if (data && data.code === 0) {
@ -73,6 +101,7 @@
localStorage.setItem('locale', data.language)
localStorage.setItem('refresh', "0")
localStorage.setItem('userName', this.dataForm.userName)
localStorage.setItem('accessSite', this.dataForm.site)
} else {
this.$message.error(data.msg)
}

3
src/views/main.vue

@ -97,7 +97,8 @@
this.userName = data.user.username
this.site = data.user.site
this.languageDefault = data.user.languageDefault
this.site = data.user.site
// this.site = data.user.site
this.site =localStorage.getItem("accessSite")
this.userDisplay = data.user.userDisplay
}
})

107
src/views/modules/schedule/cancelSfdc.vue

@ -80,10 +80,12 @@
header-align="center"
fixed="left"
align="center"
width="160"
width="210"
label="操作">
<template slot-scope="scope" class="foo_container">
<a type="text" size="small" v-if="scope.row.reverseflag==='N'" @click="cancelSfdc(scope.row)">取消报工</a>
<a type="text" size="small" @click="operatorModal(scope.row)">操作员明细</a>
<a type="text" size="small" @click="defectModal(scope.row)">不良原因</a>
</template>
</el-table-column>
<el-table-column
@ -227,7 +229,77 @@
label="机台名称">
</el-table-column>
</el-table>
<el-dialog title="操作员明细" :close-on-click-modal="false" v-drag :visible.sync="operatorModalFlag" width="450px">
<el-table
height="200"
:data="operatorModalList"
border
style="width: 100%">
<el-table-column
type="index"
header-align="center"
align="right"
min-width="60"
label="序号">
</el-table-column>
<el-table-column
prop="operatorID"
header-align="center"
align="left"
min-width="100"
label="操作员ID">
</el-table-column>
<el-table-column
prop="operatorName"
header-align="center"
align="left"
min-width="120"
label="操作员姓名">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="operatorModalFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="不良原因" :close-on-click-modal="false" v-drag :visible.sync="defectModalFlag" width="450px">
<el-table
height="200"
:data="defectModalList"
border
style="width: 100%">
<el-table-column
type="index"
header-align="center"
align="right"
min-width="60"
label="序号">
</el-table-column>
<el-table-column
prop="defectCode"
header-align="center"
align="left"
min-width="100"
label="不良代码">
</el-table-column>
<el-table-column
prop="defectDesc"
header-align="center"
align="left"
min-width="120"
label="不良原因">
</el-table-column>
<el-table-column
prop="defectQty"
header-align="center"
align="right"
min-width="120"
label="不良数量">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="defectModalFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div>
</template>
@ -236,6 +308,8 @@
import {
getSfdcList,
cancelSfdc,
getSfdcOperatorList,
getSfdcDefectList,
} from '@/api/production/schedule.js'
import Chooselist from '@/views/modules/common/Chooselist'
// import {
@ -288,6 +362,10 @@
resourceId:'',
shiftNo:'',
},
operatorModalList:[],
operatorModalFlag:false,
defectModalList:[],
defectModalFlag:false,
}
},
mounted () {
@ -381,7 +459,30 @@
})
})
},
operatorModal(row){
let inData={
site:row.site,
orderNo:row.orderNo,
itemNo:row.itemNo,
seqNo:row.seqNo,
}
getSfdcOperatorList(inData).then(({data}) => {
this.operatorModalList = data.rows
})
this.operatorModalFlag=true;
},
defectModal(row){
let inData={
site:row.site,
orderNo:row.orderNo,
itemNo:row.itemNo,
seqNo:row.seqNo,
}
getSfdcDefectList(inData).then(({data}) => {
this.defectModalList = data.rows
})
this.defectModalFlag=true;
}
},
created () {
}

2
src/views/modules/schedule/schedule.vue

@ -369,7 +369,7 @@
</el-table-column>
</el-table>
</div>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="scheduledModalFlag = false">关闭</el-button>
<!-- <el-button type="primary" :disabled="bannersBut" @click="saveBanners()">确定</el-button>-->
</el-footer>

2
src/views/modules/sys/user-add-or-update.vue

@ -97,7 +97,7 @@
mobile: '',
roleIdList: [],
status: 1,
site: 'C70',
site: '',
userDisplay: ''
},
dataRule: {

161
src/views/modules/sys/user.vue

@ -94,6 +94,8 @@
<template slot-scope="scope">
<a v-if="isAuth('sys:user:update')" type="text" size="small"
@click="addOrUpdateHandle(scope.row.userId)">修改</a>
<a v-if="isAuth('sys:user:update')" type="text" size="small"
@click="accessSiteModal(scope.row)">工厂权限</a>
<a v-if="isAuth('sys:user:delete')" type="text" size="small" @click="deleteHandle(scope.row.userId)">删除</a>
</template>
</el-table-column>
@ -109,7 +111,77 @@
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<el-dialog title="工厂权限" :close-on-click-modal="false" v-drag :visible.sync="accessSiteFlag" width="800px">
<div style="font-size: 12px">
用户ID<el-input v-model="userData.username" style="width: 120px"></el-input>
用户姓名<el-input v-model="userData.userDisplay" style="width: 120px"></el-input>
</div>
<el-container style="margin-top: -12px;">
<el-main style="width: 300px">
<span style="font-size: 12px" >可选工厂</span>
<el-table
height="300px"
:data="SiteList1"
border
@row-click="clickSite1"
highlight-current-row
v-loading="dataListLoading"
style="width: 100%">
<el-table-column
prop="siteID"
header-align="center"
align="left"
min-width="110"
label="工厂ID">
</el-table-column>
<el-table-column
prop="siteName"
header-align="center"
align="left"
min-width="170"
label="工厂名称">
</el-table-column>
</el-table>
</el-main>
<el-main style="width: 100px">
<div style="margin-top: 100px">
<el-button type="primary" @click="addSite()">添加>></el-button>
</div>
<div style="margin-top: 20px">
<el-button type="primary" @click="deleteSite()">删除<<</el-button>
</div>
</el-main>
<el-main style="width: 300px">
<span style="font-size: 12px" >已选工厂</span>
<el-table
height="300px"
:data="SiteList2"
border
@row-click="clickSite2"
highlight-current-row
v-loading="dataListLoading"
style="width: 100%">
<el-table-column
prop="siteID"
header-align="center"
align="left"
min-width="110"
label="工厂ID">
</el-table-column>
<el-table-column
prop="siteName"
header-align="center"
align="left"
min-width="170"
label="工厂名称">
</el-table-column>
</el-table>
</el-main>
</el-container>
<!-- <el-footer style="height:40px;margin-top: 20px;text-align:center">-->
<!-- <el-button type="primary" @click="routingModelFlag = false">关闭</el-button>-->
<!-- </el-footer>-->
</el-dialog>
</div>
</template>
@ -118,7 +190,12 @@
import AddOrUpdate from './user-add-or-update'
import {debounce, throttle} from "../../../utils/common";
import {
getUnSelectedSiteData,
getAccessSiteData,
addAccessSite,
deleteAccessSite,
} from "@/api/base/site.js"
export default {
data() {
@ -202,7 +279,16 @@
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
addOrUpdateVisible: false,
accessSiteFlag: false,
SiteList1:[],
SiteList2:[],
SiteRow1:null,
SiteRow2:null,
userData:{
username:'',
userDisplay:'',
},
}
},
components: {
@ -217,6 +303,75 @@
})
},
methods: {
accessSiteModal(row){
let inData={
username:row.username
}
getUnSelectedSiteData(inData).then(({data}) => {
this.SiteList1 = data.rows;
})
getAccessSiteData(inData).then(({data}) => {
this.SiteList2 = data.rows;
})
this.userData.username=row.username;
this.userData.userDisplay=row.userDisplay;
this.accessSiteFlag=true;
},
clickSite1(row){
this.SiteRow1 = JSON.parse(JSON.stringify(row));
},
clickSite2(row){
this.SiteRow2 = JSON.parse(JSON.stringify(row));
},
addSite(){
if(this.SiteRow1==null){
this.$alert("请选择可选工厂!", '错误', {
confirmButtonText: '确定'
})
return false;
}
let inSiteData={
site:this.SiteRow1.siteID,
userID:this.userData.username,
}
addAccessSite(inSiteData).then(({data}) => {
let inData={
username:this.userData.username
}
getUnSelectedSiteData(inData).then(({data}) => {
this.SiteList1 = data.rows;
})
getAccessSiteData(inData).then(({data}) => {
this.SiteList2 = data.rows;
})
this.SiteRow1=null;
})
},
deleteSite(){
if(this.SiteRow2==null){
this.$alert("请选择已选工厂!", '错误', {
confirmButtonText: '确定'
})
return false;
}
let inSiteData={
site:this.SiteRow2.siteID,
userID:this.userData.username,
}
deleteAccessSite(inSiteData).then(({data}) => {
let inData={
username:this.userData.username
}
getUnSelectedSiteData(inData).then(({data}) => {
this.SiteList1 = data.rows;
})
getAccessSiteData(inData).then(({data}) => {
this.SiteList2 = data.rows;
})
this.SiteRow2=null;
})
},
//
handleCurrentChange(val) {
this.selectUser = val

Loading…
Cancel
Save