|
@@ -0,0 +1,137 @@
|
|
|
|
+<template>
|
|
|
|
+ <div class="flexCoum">
|
|
|
|
+ <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">
|
|
|
|
+ <!-- 内容 -->
|
|
|
|
+ <div class="InsertionPlanBox contentRoll">
|
|
|
|
+ <van-field v-model.trim="inserFrom.number" :readonly="false" label="任务变更通知号" placeholder="请输入"
|
|
|
|
+ :rules="[{ pattern }]" />
|
|
|
|
+ <van-field v-model.trim="inserFrom.number" :readonly="false" label="任务名称" placeholder="请输入"
|
|
|
|
+ :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="请输入"
|
|
|
|
+ :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="计划工时"
|
|
|
|
+ placeholder="请输入" :rules="[{ pattern }]" />
|
|
|
|
+ <van-field v-model.trim.number="inserFrom.number" type="number" :readonly="false" label="单价"
|
|
|
|
+ :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="请输入" />
|
|
|
|
+ </div>
|
|
|
|
+ <!-- 提交按钮 -->
|
|
|
|
+ <div class="InsertionPlanBtn">
|
|
|
|
+ <van-button round block type="info" native-type="submit">提交</van-button>
|
|
|
|
+ </div>
|
|
|
|
+ </van-form>
|
|
|
|
+
|
|
|
|
+ <!-- 选择器 -->
|
|
|
|
+ <van-popup v-model="showPicker" position="bottom">
|
|
|
|
+ <van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
|
|
|
|
+ </van-popup>
|
|
|
|
+ <!-- 选择时间 -->
|
|
|
|
+ <van-calendar v-model="showPickerDate" @confirm="onConfirmDate" />
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+export default {
|
|
|
|
+ props: {},
|
|
|
|
+ components: {},
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ inserFrom: {
|
|
|
|
+ number: '',
|
|
|
|
+ gong: '工位A01',
|
|
|
|
+ zhang: '张三',
|
|
|
|
+ message: '',
|
|
|
|
+ },
|
|
|
|
+ pattern: /\d{6}/,
|
|
|
|
+ columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
|
|
|
|
+ showPicker: false,
|
|
|
|
+ showPickerDate: false,
|
|
|
|
+ };
|
|
|
|
+ },
|
|
|
|
+ computed: {},
|
|
|
|
+ watch: {},
|
|
|
|
+ created() { },
|
|
|
|
+ mounted() {
|
|
|
|
+ console.log(this.$route.params)
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ back() {
|
|
|
|
+ this.$router.go(-1);
|
|
|
|
+ },
|
|
|
|
+ // 校验函数返回 true 表示校验通过,false 表示不通过
|
|
|
|
+ validator(val) {
|
|
|
|
+ return /1\d{10}/.test(val);
|
|
|
|
+ },
|
|
|
|
+ onFailed(errorInfo) {
|
|
|
|
+ console.log('failed', errorInfo);
|
|
|
|
+ },
|
|
|
|
+ selectClick() {
|
|
|
|
+ this.showPicker = true;
|
|
|
|
+ },
|
|
|
|
+ onConfirm(value) {
|
|
|
|
+ console.log(value);
|
|
|
|
+ this.inserFrom.value = value;
|
|
|
|
+ this.showPicker = false;
|
|
|
|
+ },
|
|
|
|
+ selectTime() {
|
|
|
|
+ this.showPickerDate = true
|
|
|
|
+ },
|
|
|
|
+ onConfirmDate(value) {
|
|
|
|
+ console.log(value);
|
|
|
|
+ this.inserFrom.statrTime = value;
|
|
|
|
+ this.showPickerDate = false;
|
|
|
|
+ },
|
|
|
|
+ // 日期格式化
|
|
|
|
+ formatDate(date) {
|
|
|
|
+ if(date) {
|
|
|
|
+ var date = new Date(date);
|
|
|
|
+ var year = date.getFullYear();
|
|
|
|
+ var month = date.getMonth() + 1;
|
|
|
|
+ var day = date.getDate();
|
|
|
|
+ month = (month < 10 ? "0" : "") + month;
|
|
|
|
+ day = (day < 10 ? "0" : "") + day;
|
|
|
|
+ var formattedDate = year + "-" + month + "-" + day;
|
|
|
|
+ return formattedDate
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style scoped lang="less">
|
|
|
|
+* {
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.InsertionPlan {
|
|
|
|
+ height: 100%;
|
|
|
|
+ background-color: #F4F4F4;
|
|
|
|
+ padding-top: 46px;
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+
|
|
|
|
+ .InsertionPlanBox {
|
|
|
|
+ flex: 1;
|
|
|
|
+ height: 100%;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .InsertionPlanBtn {
|
|
|
|
+ padding: 10px;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|