|
@@ -2,42 +2,43 @@
|
|
<div class="flexCoum">
|
|
<div class="flexCoum">
|
|
<van-nav-bar title="插单计划" left-text="返回" @click-left="back" fixed left-arrow />
|
|
<van-nav-bar title="插单计划" left-text="返回" @click-left="back" fixed left-arrow />
|
|
<!-- 表单 -->
|
|
<!-- 表单 -->
|
|
- <van-form class="InsertionPlan flexCoum-box" label-width="7em" input-align="right" validate-first @failed="onFailed">
|
|
|
|
|
|
+ <van-form class="InsertionPlan flexCoum-box" label-width="7em" input-align="right" @submit="onSubmit" validate-first
|
|
|
|
+ @failed="onFailed">
|
|
<!-- 内容 -->
|
|
<!-- 内容 -->
|
|
<div class="InsertionPlanBox contentRoll">
|
|
<div class="InsertionPlanBox contentRoll">
|
|
- <van-field v-model.trim="inserFrom.number" :readonly="false" label="任务变更通知号" placeholder="请输入"
|
|
|
|
|
|
+ <van-field v-model.trim="inserFrom.taskChangeNoticeNum" :readonly="false" label="任务变更通知号" placeholder="请输入"
|
|
:rules="[{ pattern }]" />
|
|
:rules="[{ pattern }]" />
|
|
- <van-field v-model.trim="inserFrom.number" :readonly="false" label="任务名称" placeholder="请输入"
|
|
|
|
|
|
+ <van-field v-model.trim="inserFrom.taskName" :readonly="false" label="任务名称" placeholder="请输入"
|
|
:rules="[{ pattern }]" />
|
|
:rules="[{ pattern }]" />
|
|
- <van-field readonly clickable :readonly="false" v-model.trim="inserFrom.value" label="任务类型"
|
|
|
|
- placeholder="请选择" @click="selectClick()" />
|
|
|
|
- <van-field v-model.trim="inserFrom.number" :readonly="false" label="计划人数" placeholder="请输入"
|
|
|
|
|
|
+ <van-field readonly clickable :readonly="false" v-model.trim="inserFrom.taskTypeName" label="任务类型"
|
|
|
|
+ placeholder="请选择" @click="selectClick('taskTypeId', 'taskTypeName', 'taskTypeNameColumns')" />
|
|
|
|
+ <van-field v-model.trim="inserFrom.planManNum" :readonly="false" label="计划人数" placeholder="请输入"
|
|
:rules="[{ pattern }]" />
|
|
:rules="[{ pattern }]" />
|
|
- <van-field v-model.trim="inserFrom.number" type="number" :readonly="false" label="数量"
|
|
|
|
- placeholder="请输入" :rules="[{ pattern }]" />
|
|
|
|
- <van-field v-model.trim.number="inserFrom.number" type="number" :readonly="false" label="计划工时"
|
|
|
|
|
|
+ <van-field v-model.trim="inserFrom.num" type="number" :readonly="false" label="数量" placeholder="请输入"
|
|
|
|
+ :rules="[{ pattern }]" />
|
|
|
|
+ <van-field v-model.trim.number="inserFrom.planWorkHour" type="number" :readonly="false" label="计划工时"
|
|
placeholder="请输入" :rules="[{ pattern }]" />
|
|
placeholder="请输入" :rules="[{ pattern }]" />
|
|
- <van-field v-model.trim.number="inserFrom.number" type="number" :readonly="false" label="单价"
|
|
|
|
|
|
+ <van-field v-model.trim.number="inserFrom.moneyOfJob" type="number" :readonly="false" label="单价"
|
|
:placeholder="`请输入 元/小时`" :rules="[{ pattern }]" />
|
|
:placeholder="`请输入 元/小时`" :rules="[{ pattern }]" />
|
|
- <van-field readonly clickable :readonly="false" v-model.trim="inserFrom.value" label="质检类型"
|
|
|
|
- placeholder="请选择" @click="selectClick()" />
|
|
|
|
- <van-field v-model.trim="inserFrom.gong" :readonly="true" label="工位" placeholder="请输入" />
|
|
|
|
- <van-field v-model.trim="inserFrom.zhang" :readonly="true" label="工长" placeholder="请输入" />
|
|
|
|
- <van-field :readonly="false" :formatter="formatDate"
|
|
|
|
- v-model="inserFrom.statrTime" label="开工时间" placeholder="请选择" @click="selectTime()" />
|
|
|
|
- <van-field :readonly="false" :formatter="formatDate"
|
|
|
|
- v-model="inserFrom.statrTime" label="完工时间" placeholder="请选择" @click="selectTime()" />
|
|
|
|
- <van-field v-model="inserFrom.message" rows="4" autosize label="描述" type="textarea" placeholder="请输入" />
|
|
|
|
|
|
+ <van-field readonly clickable :readonly="false" v-model.trim="inserFrom.checkTypeName" label="质检类型"
|
|
|
|
+ placeholder="请选择" @click="selectClick('checkType', 'checkTypeName', 'checkTypeNameColumns')" />
|
|
|
|
+ <van-field v-model.trim="inserFrom.stationIdName" :readonly="true" label="工位" placeholder="请输入" />
|
|
|
|
+ <van-field v-model.trim="inserFrom.foremanName" :readonly="true" label="工长" placeholder="请输入" />
|
|
|
|
+ <van-field :readonly="false" :formatter="formatDate" v-model="inserFrom.startDate" label="开工时间" placeholder="请选择"
|
|
|
|
+ @click="selectTime('startDate')" />
|
|
|
|
+ <van-field :readonly="false" :formatter="formatDate" v-model="inserFrom.endDate" label="完工时间" placeholder="请选择"
|
|
|
|
+ @click="selectTime('endDate')" />
|
|
|
|
+ <van-field v-model="inserFrom.describtion" rows="4" autosize label="描述" type="textarea" placeholder="请输入" />
|
|
</div>
|
|
</div>
|
|
<!-- 提交按钮 -->
|
|
<!-- 提交按钮 -->
|
|
<div class="InsertionPlanBtn">
|
|
<div class="InsertionPlanBtn">
|
|
- <van-button round block type="info" native-type="submit">提交</van-button>
|
|
|
|
|
|
+ <van-button round block type="info" :loading="loadingBtn" native-type="submit">提交</van-button>
|
|
</div>
|
|
</div>
|
|
</van-form>
|
|
</van-form>
|
|
|
|
|
|
<!-- 选择器 -->
|
|
<!-- 选择器 -->
|
|
<van-popup v-model="showPicker" position="bottom">
|
|
<van-popup v-model="showPicker" position="bottom">
|
|
- <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
|
|
|
|
|
|
+ <van-picker show-toolbar value-key="name" :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
|
|
</van-popup>
|
|
</van-popup>
|
|
<!-- 选择时间 -->
|
|
<!-- 选择时间 -->
|
|
<van-calendar v-model="showPickerDate" @confirm="onConfirmDate" />
|
|
<van-calendar v-model="showPickerDate" @confirm="onConfirmDate" />
|
|
@@ -51,15 +52,38 @@ export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
inserFrom: {
|
|
inserFrom: {
|
|
- number: '',
|
|
|
|
- gong: '工位A01',
|
|
|
|
- zhang: '张三',
|
|
|
|
- message: '',
|
|
|
|
|
|
+ taskChangeNoticeNum: '',
|
|
|
|
+ taskName: '',
|
|
|
|
+ taskTypeId: '',
|
|
|
|
+ planManNum: '',
|
|
|
|
+ num: '',
|
|
|
|
+ planWorkHour: '',
|
|
|
|
+ moneyOfJob: '',
|
|
|
|
+ checkType: '',
|
|
|
|
+ startDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ describtion: '',
|
|
|
|
+
|
|
|
|
+ taskTypeName: '',
|
|
|
|
+ checkTypeName: '',
|
|
|
|
+
|
|
|
|
+ stationId: JSON.parse(localStorage.getItem('userInfo')).beDeptList[0].departmentId || '',
|
|
|
|
+ stationIdName: JSON.parse(localStorage.getItem('userInfo')).beDeptList[0].departmentName || '',
|
|
|
|
+ foremanName: JSON.parse(localStorage.getItem('userInfo')).name,
|
|
},
|
|
},
|
|
- pattern: /\d{6}/,
|
|
|
|
- columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
|
|
|
|
|
|
+ pattern: /\S/,
|
|
|
|
+ columns: [],
|
|
showPicker: false,
|
|
showPicker: false,
|
|
showPickerDate: false,
|
|
showPickerDate: false,
|
|
|
|
+
|
|
|
|
+ loadingBtn: false,
|
|
|
|
+
|
|
|
|
+ // 选择字段名字
|
|
|
|
+ selectName: '',
|
|
|
|
+ selectNameId: '',
|
|
|
|
+
|
|
|
|
+ taskTypeNameColumns: [],
|
|
|
|
+ checkTypeNameColumns: [{ id: 0, name: '自检' }, { id: 1, name: '互检' }, { id: 2, name: '专检' }]
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {},
|
|
computed: {},
|
|
@@ -67,6 +91,14 @@ export default {
|
|
created() { },
|
|
created() { },
|
|
mounted() {
|
|
mounted() {
|
|
console.log(this.$route.params)
|
|
console.log(this.$route.params)
|
|
|
|
+ if(this.$route.params.item) {
|
|
|
|
+ this.inserFrom = {
|
|
|
|
+ ...JSON.parse(JSON.stringify(this.$route.params.item)),
|
|
|
|
+ }
|
|
|
|
+ this.inserFrom.checkTypeName = this.inserFrom.checkType == 0 ? '自检' : this.inserFrom.checkType == 1 ? '互检' : '专检'
|
|
|
|
+ this.inserFrom.stationIdName = this.inserFrom.stationName
|
|
|
|
+ }
|
|
|
|
+ this.getTaskType()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
back() {
|
|
back() {
|
|
@@ -79,25 +111,72 @@ export default {
|
|
onFailed(errorInfo) {
|
|
onFailed(errorInfo) {
|
|
console.log('failed', errorInfo);
|
|
console.log('failed', errorInfo);
|
|
},
|
|
},
|
|
- selectClick() {
|
|
|
|
|
|
+ onSubmit() {
|
|
|
|
+ console.log(this.inserFrom, '将要传递的值')
|
|
|
|
+ this.loadingBtn = true
|
|
|
|
+ delete this.inserFrom.planProcedureTotals
|
|
|
|
+ delete this.inserFrom.product
|
|
|
|
+ this.$axios.post('/plan/addOrUpdatePlan', {
|
|
|
|
+ ...this.inserFrom,
|
|
|
|
+ planType: 2,
|
|
|
|
+ })
|
|
|
|
+ .then(res => {
|
|
|
|
+ this.loadingBtn = false
|
|
|
|
+ if (res.code == "ok") {
|
|
|
|
+ this.inserFrom = {
|
|
|
|
+ taskChangeNoticeNum: '',
|
|
|
|
+ taskName: '',
|
|
|
|
+ taskTypeId: '',
|
|
|
|
+ planManNum: '',
|
|
|
|
+ num: '',
|
|
|
|
+ planWorkHour: '',
|
|
|
|
+ moneyOfJob: '',
|
|
|
|
+ checkType: '',
|
|
|
|
+ startDate: '',
|
|
|
|
+ endDate: '',
|
|
|
|
+ describtion: '',
|
|
|
|
+
|
|
|
|
+ taskTypeName: '',
|
|
|
|
+ checkTypeName: '',
|
|
|
|
+
|
|
|
|
+ stationId: JSON.parse(localStorage.getItem('userInfo')).beDeptList[0].departmentId || '',
|
|
|
|
+ stationIdName: JSON.parse(localStorage.getItem('userInfo')).beDeptList[0].departmentName || '',
|
|
|
|
+ foremanName: JSON.parse(localStorage.getItem('userInfo')).name,
|
|
|
|
+ }
|
|
|
|
+ this.$toast.success('操作成功');
|
|
|
|
+ } else {
|
|
|
|
+ this.$toast.clear();
|
|
|
|
+ this.$toast.fail(res.msg);
|
|
|
|
+ }
|
|
|
|
+ }).catch(err => { this.$toast.clear(); this.loadingBtn = false });
|
|
|
|
+ },
|
|
|
|
+ selectClick(id, name, columns) {
|
|
|
|
+ this.selectName = name;
|
|
|
|
+ this.selectNameId = id;
|
|
|
|
+ this.columns = this[columns];
|
|
|
|
+
|
|
|
|
+ console.log(this.columns)
|
|
|
|
+
|
|
this.showPicker = true;
|
|
this.showPicker = true;
|
|
},
|
|
},
|
|
onConfirm(value) {
|
|
onConfirm(value) {
|
|
console.log(value);
|
|
console.log(value);
|
|
- this.inserFrom.value = value;
|
|
|
|
|
|
+ this.inserFrom[this.selectNameId] = value.id;
|
|
|
|
+ this.inserFrom[this.selectName] = value.name;
|
|
this.showPicker = false;
|
|
this.showPicker = false;
|
|
},
|
|
},
|
|
- selectTime() {
|
|
|
|
|
|
+ selectTime(name) {
|
|
|
|
+ this.selectName = name;
|
|
this.showPickerDate = true
|
|
this.showPickerDate = true
|
|
},
|
|
},
|
|
onConfirmDate(value) {
|
|
onConfirmDate(value) {
|
|
console.log(value);
|
|
console.log(value);
|
|
- this.inserFrom.statrTime = this.formatDate(value);
|
|
|
|
|
|
+ this.inserFrom[this.selectName] = this.formatDate(value);
|
|
this.showPickerDate = false;
|
|
this.showPickerDate = false;
|
|
},
|
|
},
|
|
// 日期格式化
|
|
// 日期格式化
|
|
formatDate(date) {
|
|
formatDate(date) {
|
|
- if(date) {
|
|
|
|
|
|
+ if (date) {
|
|
var date = new Date(date);
|
|
var date = new Date(date);
|
|
var year = date.getFullYear();
|
|
var year = date.getFullYear();
|
|
var month = date.getMonth() + 1;
|
|
var month = date.getMonth() + 1;
|
|
@@ -107,6 +186,23 @@ export default {
|
|
var formattedDate = year + "-" + month + "-" + day;
|
|
var formattedDate = year + "-" + month + "-" + day;
|
|
return formattedDate
|
|
return formattedDate
|
|
}
|
|
}
|
|
|
|
+ },
|
|
|
|
+ // 获取数据
|
|
|
|
+ getTaskType() {
|
|
|
|
+ this.$axios.post('/task-type/list', {})
|
|
|
|
+ .then(res => {
|
|
|
|
+ if (res.code == "ok") {
|
|
|
|
+ this.taskTypeNameColumns = res.data.map(item => {
|
|
|
|
+ return {
|
|
|
|
+ id: item.id,
|
|
|
|
+ name: item.taskTypeName
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ this.$toast.clear();
|
|
|
|
+ this.$toast.fail(res.msg);
|
|
|
|
+ }
|
|
|
|
+ }).catch(err => { this.$toast.clear(); });
|
|
}
|
|
}
|
|
},
|
|
},
|
|
};
|
|
};
|