|
|
@@ -588,6 +588,60 @@
|
|
|
</Button>
|
|
|
</div>
|
|
|
</Modal>
|
|
|
+ <Modal
|
|
|
+ class=""
|
|
|
+ v-model="finishWork"
|
|
|
+
|
|
|
+ width="80%"
|
|
|
+ >
|
|
|
+ <div slot="header" style="text-align:center;font-weight:bold"><h1>完 工</h1></div>
|
|
|
+ <div style="display:flex;height: 7.5rem;">
|
|
|
+ <div style="width:60%;overflow:auto;border-right:2px solid #ede7e7">
|
|
|
+ <div style="display:flex">
|
|
|
+ <span style="width:2rem;font-size: 0.4rem;margin: 0.6em;">工序</span>
|
|
|
+ <div style="display:flex;flex-wrap: wrap;">
|
|
|
+ <span v-for="item in produceList" :key="item.id" @click="changeChooseProduceList(item)" :style="item.isChoosed?{border: '2px solid #83b2e3',fontSize: '0.4rem',padding: '0.1em 0.2rem',borderRadius: '5px',margin: '0.6em',color:'#ffffff',backgroundColor:'#83b2e3',cursor: 'pointer'}:{border: '2px solid #83b2e3',fontSize: '0.4rem',padding: '0.1em 0.2rem',borderRadius: '5px',margin: '0.6em',color:'#83b2e3',cursor: 'pointer'}">
|
|
|
+ {{item.title}}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display:flex">
|
|
|
+ <span style="width:3rem;font-size: 0.4rem;margin: 0.6em;">班组</span>
|
|
|
+ <div style="display:flex;flex-wrap:wrap">
|
|
|
+ <span v-for="_item in employeeList" :key="_item.id" @click="changeChooseEmployeeList(_item)" :style="_item.isChoosed?{border: '2px solid #83b2e3',fontSize: '0.4rem',padding: '0.1em 0.2rem',borderRadius: '5px',margin: '0.6em',color:'#ffffff',backgroundColor:'#83b2e3',cursor: 'pointer'}:{border: '2px solid #83b2e3',fontSize: '0.4rem',padding: '0.1em 0.2rem',borderRadius: '5px',margin: '0.6em',color:'#83b2e3',cursor: 'pointer'}" >
|
|
|
+ {{_item.nickname}}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width:40%;overflow:auto;">
|
|
|
+
|
|
|
+ <div v-for="item in rownoList" :key="item.id" style="display:flex;justify-content: space-between;align-items: center;width: 100%;font-size:0.4rem;margin-bottom:0.5rem">
|
|
|
+ <van-number-keyboard
|
|
|
+ :show="show5"
|
|
|
+ @blur="show5 = false"
|
|
|
+ @input="numChange($event,item)"
|
|
|
+ @delete="delChange(item)"
|
|
|
+ z-index="99999"
|
|
|
+ />
|
|
|
+ <span style="margin-left:1rem">行号:{{item.sort}}</span><span style="width: 40%;">数量:<Input style='width:50%' size="large" v-model="item.num" @on-focus="show5 = true" clearable /></span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div slot="footer" style="text-align:center;">
|
|
|
+ <div style="margin-bottom:0.3rem"><h1>是否确认完工?</h1></div>
|
|
|
+ <Button
|
|
|
+ @click="handleRoomCancel"
|
|
|
+ type="primary"
|
|
|
+ style="margin-right: 0.5rem;width:15%;height:1rem;font-size:0.4rem"
|
|
|
+ >
|
|
|
+ 返回
|
|
|
+ </Button>
|
|
|
+ <Button @click="handleThen" type="primary" style="margin-right: 0.5rem;width:15%;height:1rem;font-size:0.4rem">
|
|
|
+ 确认
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ </Modal>
|
|
|
</Modal>
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -605,10 +659,18 @@ export default {
|
|
|
data() {
|
|
|
// 这里存放数据
|
|
|
return {
|
|
|
+ produceID:null,
|
|
|
+ employeeID:null,
|
|
|
+ rownoList:[],
|
|
|
+ employeeList:[],
|
|
|
+ produceList:[],
|
|
|
+ saveData:[],
|
|
|
+ finishWork:false,
|
|
|
show: false,
|
|
|
show2: false,
|
|
|
show3: false,
|
|
|
show4: false,
|
|
|
+ show5:false,
|
|
|
isFullScreen: false,
|
|
|
fullscreenModal: true,
|
|
|
selectionModal: false,
|
|
|
@@ -679,8 +741,67 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
// 生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
- mounted() {},
|
|
|
+ mounted() {
|
|
|
+ this.axios.post('/api/station_get_type').then(res=>{
|
|
|
+ if(res.code == 200){
|
|
|
+ this.employeeList = res.data.employee_list;
|
|
|
+ this.employeeList.map(item=>{
|
|
|
+ item.isChoosed = false;
|
|
|
+ })
|
|
|
+ this.produceList = res.data.produce_list;
|
|
|
+ this.produceList.map(item=>{
|
|
|
+ item.isChoosed = false;
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ delChange(item){
|
|
|
+ item.num = item.num.toString().substring(0,item.num.length-1)
|
|
|
+ },
|
|
|
+ numChange(e,item){
|
|
|
+ item.num = item.num+''+e;
|
|
|
+ },
|
|
|
+ changeChooseEmployeeList(item){
|
|
|
+ this.employeeList.map(m=>{
|
|
|
+ if(m.id==item.id){
|
|
|
+ m.isChoosed = !m.isChoosed
|
|
|
+ }else{
|
|
|
+ m.isChoosed=false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(item.isChoosed){
|
|
|
+ this.employeeID =item.id
|
|
|
+ }
|
|
|
+ this.$forceUpdate();
|
|
|
+ },
|
|
|
+ changeChooseProduceList(item){
|
|
|
+
|
|
|
+ let produce = item.id;
|
|
|
+ let id = [];
|
|
|
+ this.saveData.map(v=>{
|
|
|
+ id.push(v.id)
|
|
|
+ });
|
|
|
+ this.produceList.map(m=>{
|
|
|
+
|
|
|
+ if(m.id==item.id){
|
|
|
+ m.isChoosed = !m.isChoosed
|
|
|
+ }else{
|
|
|
+ m.isChoosed=false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(item)
|
|
|
+ if(item.isChoosed){
|
|
|
+ this.axios.post('/api/station_get_order_produce',{id,produce}).then(res=>{
|
|
|
+ if(res.code==200){
|
|
|
+ this.rownoList = res.data;
|
|
|
+ this.produceID = item.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.rownoList= [];
|
|
|
+ }
|
|
|
+ },
|
|
|
back() {
|
|
|
this.$router.go(-1);
|
|
|
},
|
|
|
@@ -730,15 +851,19 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
handleChooseBlockClick(row) {
|
|
|
- console.log(`row`, row);
|
|
|
+
|
|
|
if (row.isChoosed) {
|
|
|
row.isChoosed = false;
|
|
|
+ this.saveData.map((v,index)=>{
|
|
|
+ if(v.id == row.id){
|
|
|
+ this.saveData.splice(index,1)
|
|
|
+ }
|
|
|
+ })
|
|
|
} else {
|
|
|
- this.contentData.map((v) => {
|
|
|
- v.isChoosed = false;
|
|
|
- });
|
|
|
row.isChoosed = true;
|
|
|
+ this.saveData.push(row)
|
|
|
}
|
|
|
+ console.log(this.saveData)
|
|
|
if (row.un_print == 0) {
|
|
|
row.isFinished = true;
|
|
|
}
|
|
|
@@ -954,6 +1079,13 @@ export default {
|
|
|
console.log(`res`, res);
|
|
|
res.data.data.map((v) => (v.isChoosed = false));
|
|
|
this.contentData = res.data.data;
|
|
|
+ this.contentData.map(v=>{
|
|
|
+ this.saveData.map(m=>{
|
|
|
+ if(v.id==m.id){
|
|
|
+ v.isChoosed =true;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
this.total = res.data.total;
|
|
|
}
|
|
|
});
|
|
|
@@ -1022,27 +1154,43 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ handleThen(){
|
|
|
+ this.axios.post('/api/station_order_produce_complete',{produce_id:this.produceID,employee_id:this.employeeID,sort_list:this.rownoList}).then(res=>{
|
|
|
+ if(res.code==200){
|
|
|
+ this.$Message.success(res.msg);
|
|
|
+ this.produceList.map((v) => {
|
|
|
+ v.isChoosed = false;
|
|
|
+ });
|
|
|
+ this.produceID = null;
|
|
|
+ this.rownoList=[];
|
|
|
+ this.finishWork = false;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ // this.finishWork = false;
|
|
|
+ },
|
|
|
handleOk() {
|
|
|
- if (!this.selectedObj.isChoosed) {
|
|
|
+ if (this.saveData.length==0) {
|
|
|
return this.$Message.warning("请选择数据");
|
|
|
}
|
|
|
- if (this.selectedObj.type == 1 && this.selectedObj.un_print == 0) {
|
|
|
- this.selectedObj.ok_num =
|
|
|
- this.selectedObj.on_print - this.selectedObj.on_complete;
|
|
|
- this.okModal = true;
|
|
|
- } else if (this.selectedObj.type != 1) {
|
|
|
- this.selectedObj.ok_num = this.selectedObj.un_complete;
|
|
|
- this.okModal = true;
|
|
|
- } else {
|
|
|
- return this.$Message.warning("部件存在未打印芯片,请先打印");
|
|
|
- }
|
|
|
+ // if (this.selectedObj.type == 1 && this.selectedObj.un_print == 0) {
|
|
|
+ // this.selectedObj.ok_num =
|
|
|
+ // this.selectedObj.on_print - this.selectedObj.on_complete;
|
|
|
+ // this.okModal = true;
|
|
|
+ // } else if (this.selectedObj.type != 1) {
|
|
|
+ // this.selectedObj.ok_num = this.selectedObj.un_complete;
|
|
|
+ // this.okModal = true;
|
|
|
+ // } else {
|
|
|
+ // return this.$Message.warning("部件存在未打印芯片,请先打印");
|
|
|
+ // }
|
|
|
+ this.finishWork = true;
|
|
|
},
|
|
|
handleRoomCancel() {
|
|
|
- this.modalRoomList.map((v) => {
|
|
|
- v.isCurrent = false;
|
|
|
+ this.produceList.map((v) => {
|
|
|
+ v.isChoosed = false;
|
|
|
});
|
|
|
- this.modalRoomListSelected = [];
|
|
|
- this.roomModal = false;
|
|
|
+ this.produceID = null;
|
|
|
+ this.rownoList = [];
|
|
|
+ this.finishWork = false;
|
|
|
},
|
|
|
handleOkComfirm(row) {
|
|
|
this.axios({
|