| | |
| | | let loadingInstance; |
| | | let loadingStatus = false; |
| | | if (process.env.NODE_ENV == 'development') { |
| | | axios.defaults.baseURL = 'http://127.0.0.1:8098/'; |
| | | axios.defaults.baseURL = 'http://192.168.12.101:8098/'; |
| | | } |
| | | else if (process.env.NODE_ENV == 'debug') { |
| | | axios.defaults.baseURL = 'http://192.168.12.101:8098/'; |
| | |
| | | export default defineComponent({ |
| | | setup() { |
| | | const table = ref({ |
| | | key: 'ID', |
| | | key: 'agv_id', |
| | | footer: "Foots", |
| | | cnName: 'AGVä»»å¡', |
| | | name: 'taskinfo/dt_agvtask', |
| | |
| | | sortName: "ID" |
| | | }); |
| | | const editFormFields = ref({"agv_fromaddress":"","agv_toaddress":"","agv_tasktype":"","agv_grades":"","agv_code":""}); |
| | | const editFormOptions = ref([[{ |
| | | title: "NG䏿ä½", |
| | | required: false, |
| | | field: "agv_fromaddress", |
| | | type: "select", |
| | | data: [ |
| | | { key: "X01001003", value: "1åå
NG䏿ä½" }, |
| | | { key: "X02001003", value: "2åå
NG䏿ä½" }, |
| | | { key: "X03001002", value: "3åå
NG䏿ä½" } |
| | | ] |
| | | }, |
| | | // {"title":"NG䏿ä½","field":"agv_fromaddress","type":"text","required":true} |
| | | ], |
| | | const editFormOptions = ref([ |
| | | // [{ |
| | | // title: "NG䏿ä½", |
| | | // required: false, |
| | | // field: "agv_fromaddress", |
| | | // type: "select", |
| | | // data: [ |
| | | // { key: "X01001003", value: "1åå
NG䏿ä½" }, |
| | | // { key: "X02001003", value: "2åå
NG䏿ä½" }, |
| | | // { key: "X03001002", value: "3åå
NG䏿ä½" } |
| | | // ] |
| | | // }, |
| | | // // {"title":"NG䏿ä½","field":"agv_fromaddress","type":"text","required":true} |
| | | // ], |
| | | |
| | | // [{"title":"ç»ç¹å°å","field":"agv_toaddress","type":"text","required":true}], |
| | | // [{"dataKey":"task_grade","data":[],"title":"ä»»å¡ç级","required":true,"field":"agv_grade","type":"select"}], |
| | | // [{"dataKey":"agv_tasktypes","data":[],"title":"ä»»å¡ç±»å","required":true,"field":"agv_tasktype","type":"select"}] |
| | | [{"dataKey":"task_grade","data":[],"title":"ä»»å¡ç级","required":true,"field":"agv_grade","type":"select"}], |
| | | [{"dataKey":"agv_tasktypes","data":[],"title":"ä»»å¡ç±»å","required":true,"field":"agv_tasktype","type":"select"}] |
| | | // [{"dataKey":"agv_code","data":[],"title":"AGVç¼å·","required":true,"field":"agv_code","type":"select"}] |
| | | ]); |
| | | const searchFormFields = ref({"agv_tasknum":"","agv_fromaddress":"","agv_toaddress":"","agv_tasktype":[],"agv_taskstate":[],"agv_materielid":"","agv_createtime":"","agv_barcode":"","agv_materbarcode":""}); |
| | |
| | | <template> |
| | | <div> |
| | | <vol-box :lazy="true" v-model="detialBox" title="æå¨ç§»åº" :height="350" :width="400" :padding="15"> |
| | | <vol-box :lazy="true" v-model="detialBox" title="NGä»»å¡" :height="350" :width="400" :padding="15"> |
| | | <div> |
| | | <el-form :model="formdata" label-width="120px" :rules="rules" size="mini" ref="ruleFormRef"> |
| | | <!-- <el-form-item label="ç±»å"> |
| | |
| | | </el-radio-group> |
| | | </el-form-item> --> |
| | | |
| | | <el-form-item v-if="inType == 'handle'" label="èµ·å§å°å" prop="from_address"> |
| | | <el-select v-model="formdata.from_address" clearable filterable placeholder="è¯·éæ©èµ·å§å°å"> |
| | | <el-option v-for="item in formAddressList" :label="item.key" :value="item.key" /> |
| | | <el-form-item v-if="inType == 'handle'" label="NG䏿ä½" prop="from_address"> |
| | | <el-select v-model="formdata.from_address" clearable filterable placeholder="è¯·éæ©NG䏿ä½"> |
| | | <el-option v-for="item in formAddressList" :label="item.value" :value="item.key" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="ç®çå°å" prop="to_address"> |
| | | <!-- <el-form-item label="ç®çå°å" prop="to_address"> |
| | | <el-select v-model="formdata.to_address" clearable filterable placeholder="è¯·éæ©ç®çå°å"> |
| | | <el-option v-for="item in toAddressList" :label="item.key" :value="item.key" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form-item> --> |
| | | <el-form-item label=""> |
| | | <el-button type="primary" @click="onSubmit()" size="mini"> 确认移åº</el-button> |
| | | <el-button type="primary" @click="onSubmit()" size="mini"> 确认添å NGä»»å¡</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | |
| | | export default { |
| | | components: { "vol-box": VolBox1Vue }, |
| | | methods: {}, |
| | | created() { |
| | | this.http.post("/api/Sys_Dictionary/GetVueDictionary", ["route_began", "route_end"]).then(x => { |
| | | x.forEach(item => { |
| | | if (item.dicNo == 'route_end') { |
| | | this.toAddressList = item.data; |
| | | } else if (item.dicNo == 'route_began') { |
| | | this.formAddressList = item.data; |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | // created() { |
| | | // this.http.post("/api/Sys_Dictionary/GetVueDictionary", ["route_began", "route_end"]).then(x => { |
| | | // x.forEach(item => { |
| | | // if (item.dicNo == 'route_end') { |
| | | // this.toAddressList = item.data; |
| | | // } else if (item.dicNo == 'route_began') { |
| | | // this.formAddressList = item.data; |
| | | // } |
| | | // }) |
| | | // }) |
| | | // }, |
| | | data() { |
| | | return { |
| | | detialBox: false, |
| | |
| | | from_address: "", |
| | | to_address: "" |
| | | }, |
| | | formAddressList: [], |
| | | formAddressList: [ |
| | | { key: "X01001003", value: "1åå
NG䏿ä½" }, |
| | | { key: "X02001003", value: "2åå
NG䏿ä½" }, |
| | | { key: "X03001002", value: "3åå
NG䏿ä½" } |
| | | ], |
| | | toAddressList: [] |
| | | }; |
| | | }, |
| | |
| | | var _this = this; |
| | | this.$refs.ruleFormRef.validate((valid) => { |
| | | if (valid) { |
| | | _this.http.post("/api/ToMes/AddToFloat3", _this.formdata, "æ£å¨æ·»å ....").then(x => { |
| | | if (!x.status) return _this.$Message.error(x.message); |
| | | _this.$Message.success("æ·»å æå!"); |
| | | _this.refresh(); |
| | | _this.http.post("/api/dt_agvtask/addNgTask", _this.formdata, "æ£å¨æ·»å ....").then(x => { |
| | | if (!x.status){ |
| | | _this.detialBox=false; |
| | | _this.formdata.from_address=""; |
| | | _this.$Message.error(x.message); |
| | | }else{ |
| | | _this.detialBox=false; |
| | | _this.formdata.from_address=""; |
| | | _this.$Message.success("æ·»å æå!"); |
| | | window.location.reload(); |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | |
| | | **åå°æä½è§ï¼http://v2.volcore.xyz/document/netCoreDev |
| | | *****************************************************************************************/ |
| | | //æ¤jsæä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | import addTask from "@/views/dialog/addTask" |
| | | |
| | | let extension = { |
| | | components: { |
| | | //æ¥è¯¢ç颿©å±ç»ä»¶ |
| | | gridHeader: '', |
| | | gridHeader: addTask, |
| | | gridBody: '', |
| | | gridFooter: '', |
| | | //æ°å»ºãç¼è¾å¼¹åºæ¡æ©å±ç»ä»¶ |
| | |
| | | tableAction: '', //æå®æå¼ 表çæé(è¿éå¡«å表å,é»è®¤ä¸ç¨å¡«å) |
| | | buttons: { view: [], box: [], detail: [] }, //æ©å±çæé® |
| | | methods: { |
| | | // onClick: function () { |
| | | // this.add(); |
| | | // } |
| | | add(){ |
| | | this.$refs.gridHeader.detialBox = true; |
| | | }, |
| | | //ä¸é¢è¿äºæ¹æ³å¯ä»¥ä¿çä¹å¯ä»¥å é¤ |
| | | onInit() { //æ¡æ¶åå§åé
ç½®åï¼ |
| | | //示ä¾ï¼å¨æé®çæå颿·»å ä¸ä¸ªæé® |
| | |
| | | this.buttons.forEach(x => { |
| | | if(x.value == 'Add') |
| | | { |
| | | x.name = 'NGä»»å¡' |
| | | x.name = 'NGä»»å¡'; |
| | | } |
| | | }); |
| | | //示ä¾ï¼è®¾ç½®ä¿®æ¹æ°å»ºãç¼è¾å¼¹åºæ¡å段æ ç¾çé¿åº¦ |
| | |
| | | // this.$refs.table.$refs.table.toggleRowSelection(row); //åå»è¡æ¶éä¸å½åè¡; |
| | | }, |
| | | modelOpenAfter(row) { |
| | | // if(this.currentAction=='Add'){ |
| | | // this.editFormFields.agv_fromaddress='xxx'; |
| | | // } |
| | | //ç¹å»ç¼è¾ãæ°å»ºæé®å¼¹åºæ¡åï¼å¯ä»¥å¨æ¤å¤åé»è¾ï¼å¦ï¼ä»åå°è·åæ°æ® |
| | | //(1)夿æ¯ç¼è¾è¿æ¯æ°å»ºæä½ï¼ this.currentAction=='Add'; |
| | | //(2)ç»å¼¹åºæ¡è®¾ç½®é»è®¤å¼ |
| | |
| | | [MaxLength(50)] |
| | | [Column(TypeName = "nvarchar(50)")] |
| | | [Editable(true)] |
| | | [Required(AllowEmptyStrings = false)] |
| | | //[Required(AllowEmptyStrings = false)] |
| | | public string agv_tasknum { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | [MaxLength(20)] |
| | | [Column(TypeName = "nvarchar(20)")] |
| | | [Editable(true)] |
| | | [Required(AllowEmptyStrings = false)] |
| | | //[Required(AllowEmptyStrings = false)] |
| | | public string agv_taskstate { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | [Display(Name = "å建æ¶é´")] |
| | | [Column(TypeName = "datetime")] |
| | | [Editable(true)] |
| | | [Required(AllowEmptyStrings = false)] |
| | | //[Required(AllowEmptyStrings = false)] |
| | | public DateTime agv_createtime { get; set; } |
| | | |
| | | /// <summary> |
| | |
| | | ///ä»»å¡ç±»å |
| | | /// </summary> |
| | | [Display(Name = "ä»»å¡ç±»å")] |
| | | [MaxLength(20)] |
| | | [Column(TypeName = "nvarchar(20)")] |
| | | [MaxLength(50)] |
| | | [Column(TypeName = "nvarchar(50)")] |
| | | [Editable(true)] |
| | | //[Required(AllowEmptyStrings = false)] |
| | | public string agv_tasktype { get; set; } |
| | |
| | | using WIDESEA_Entity.DomainModels; |
| | | using WIDESEA_Core.Utilities; |
| | | using System.Linq.Expressions; |
| | | using WIDESEA_Entity.DomainModels.Mes; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | namespace WIDESEA_WMS.IServices |
| | | { |
| | | public partial interface Idt_agvtaskService |
| | | { |
| | | WebResponseContent addNgTask([FromBody] MesRequestTemp request); |
| | | } |
| | | } |
| | |
| | | using WIDESEA_Comm.LogInfo; |
| | | using StackExchange.Redis; |
| | | using WIDESEA_Comm; |
| | | using WIDESEA_Entity.DomainModels.Mes; |
| | | |
| | | namespace WIDESEA_WMS.Services |
| | | { |
| | |
| | | //base.Init(dbRepository); |
| | | } |
| | | |
| | | public WebResponseContent addNgTask(MesRequestTemp requestTemp) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | var fromaddress = requestTemp.from_address; |
| | | VOLContext context = new VOLContext(); |
| | | Idt_stationinfoRepository stationinfoRepository = new dt_stationinfoRepository(context); |
| | | IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context); |
| | | var station = stationinfoRepository.Find(x => x.stationCode == fromaddress).FirstOrDefault(); |
| | | if (_repository.Find(x => x.agv_fromaddress == fromaddress || x.agv_toaddress == fromaddress).Any()) |
| | | throw new Exception($"è´§ä½{fromaddress}å·²åå¨ä»»å¡ï¼"); |
| | | if (station == null) throw new Exception($"æªæ¾å°è´§ä½{fromaddress}ï¼"); |
| | | if (!station.enable) throw new Exception($"è´§ä½{fromaddress}æªå¯ç¨ï¼"); |
| | | if (station.quantity < 1) throw new Exception($"è´§ä½{fromaddress}æ 车轮ï¼"); |
| | | var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault(); |
| | | if (Work == null) throw new Exception($"æªæ¾å°è´§ä½{fromaddress}çæºå 工工åä¿¡æ¯"); |
| | | dt_agvtask agvtask = new dt_agvtask() |
| | | { |
| | | agv_fromaddress = station.stationCode, |
| | | agv_id = Guid.NewGuid(), |
| | | agv_tasknum = IdenxManager.GetTaskNo("KH-", "WMS"), |
| | | agv_grade = 2, |
| | | agv_createtime = DateTime.Now, |
| | | agv_taskstate = "Queue", |
| | | agv_materielid = station.stationType, |
| | | agv_qty = station.quantity, |
| | | agv_tasktype = "TaskType_OutsourceInbound", |
| | | agv_toaddress = "", |
| | | agv_userid = UserContext.Current.UserName, |
| | | bindSN = station.bindSN, |
| | | agv_worktype = Convert.ToInt32(Work.processCode), |
| | | agv_materbarcode = Work.materialCode, |
| | | agv_Traytype = station.tray_type, |
| | | jobID = station.Number, |
| | | agv_TrayStatus = station.tray_status |
| | | }; |
| | | _repository.Add(agvtask, true); |
| | | station.location_state = LocationStateEnum.InBusy.ToString(); |
| | | stationinfoRepository.Update(station, true); |
| | | content.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content.Message = ex.Message; |
| | | } |
| | | return content; |
| | | } |
| | | public override WebResponseContent Update(SaveModel saveModel) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | var agv_id = saveModel.MainData["agv_id"].ToString(); |
| | | var task = _repository.Find(x => x.agv_id.ToString() == agv_id).FirstOrDefault(); |
| | | if (task.agv_taskstate != AGVTaskStateEnum.Queue.ToString()) return content.Error("å½åä»»å¡ä¸å¯æ´æ¹ï¼"); |
| | | return base.Update(saveModel); |
| | | } |
| | | #region æ·»å NGä»»å¡ |
| | | public override WebResponseContent Add(SaveModel saveDataModel) |
| | | { |
| | |
| | | using Microsoft.AspNetCore.Http; |
| | | using WIDESEA_Entity.DomainModels; |
| | | using WIDESEA_WMS.IServices; |
| | | using WIDESEA_Core.Utilities; |
| | | using WIDESEA_Entity.DomainModels.Mes; |
| | | |
| | | namespace WIDESEA_WMS.Controllers |
| | | { |
| | |
| | | _service = service; |
| | | _httpContextAccessor = httpContextAccessor; |
| | | } |
| | | /// <summary> |
| | | /// æ·»å NGä»»å¡ |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <returns></returns> |
| | | [HttpPost, Route("addNgTask")] |
| | | public WebResponseContent addNgTask([FromBody] MesRequestTemp request) |
| | | { |
| | | return _service.addNgTask(request); |
| | | } |
| | | } |
| | | } |