123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- <template>
- <view class="bg-f9 warehouse-add">
- <header-bar :title="submitType === 'add' ? '添加工单' : '工单详情'"></header-bar>
- <view class="example">
- <!-- 基础用法,不包含校验规则 -->
- <uni-forms label-position="top" :modelValue="form" ref="form" :rules="rules" >
- <uni-forms-item label="工单编号" required name="unit">
- <uni-easyinput v-model="form.unit" placeholder="请输入" :disabled="submitType == 'edit'" />
- </uni-forms-item>
- <uni-forms-item label="产品名称" required name="classifyId">
- <uni-data-picker :class="submitType==='edit'?'disabled':''" v-model="form.classifyId" :map="{text:'label',value:'id'}" :localdata="treeData"
- popup-title="请选择产品" @change="treeChange">
- </uni-data-picker>
- </uni-forms-item>
-
- <uni-forms-item label="工单数量">
- <uni-easyinput v-model="form.code" :disabled="submitType == 'edit'" placeholder="请输入工单数量" />
- </uni-forms-item>
- <uni-forms-item label="完成期限" required name="type">
- <uni-data-select :disabled="submitType == 'edit'" v-model="form.type" :localdata="types"></uni-data-select>
- </uni-forms-item>
- <uni-forms-item label="备注" name="introduce">
- <uni-easyinput type="textarea" v-model="form.introduce" placeholder="请输入备注" />
- </uni-forms-item>
- </uni-forms>
- <button style="margin:0 20rpx" @click="submitForm">工单排程</button>
- <button @click="submitForm" style="background-color: red;margin:20rpx;color:#fff">停止</button>
- </view>
- </view>
- </template>
- <script>
- import headerBar from '../../../components/header-bar/index.vue'
- import Vue from 'vue'
- export default {
- components: {
- headerBar
- },
- data() {
- return {
- form: {
- name: '',
- type: null,
- classifyId: null,
- code: null,
- unit: null,
- introduce: null,
- },
- types: [{
- text: '半成品',
- value: '0'
- }, {
- text: '成品',
- value: '1'
- }],
- rules: {
- // 对name字段进行必填验证
- name: {
- rules: [{
- required: true,
- errorMessage: '请输入产品名称',
- }, ]
- },
- // 对email字段进行必填验证
- type: {
- rules: [{
- required: true,
- errorMessage: '请选择产品类型',
- }, ]
- },
- unit: {
- rules: [{
- required: true,
- errorMessage: '请输入产品单位',
- }, ]
- },
- classifyId: {
- rules: [{
- required: true,
- errorMessage: '请选择产品分类',
- }, ]
- },
-
-
- },
- submitType: 'add',
- treeData: [],
- }
- },
- onLoad(e) {
- if (e.id) {
- this.form.id = e.id
- this.form.remarks = e.remarks
- this.form.type = e.type
- this.form.name = e.name
- this.submitType = 'edit'
- }
- this.getTree()
- },
- methods: {
- treeChange() {},
- getTree() {
- const v = this
- v.$post('/api/basics//classify/tree', {
- type: 1
- }).then(res => {
- if (res.code === 200) {
- v.treeData = res.data
- }
- })
- },
- submitForm() {
- const v = this
- this.$refs.form.validate().then(res => {
- uni.showLoading({
- title: '加载中'
- });
- v.$post('/api/syringe-management/product/' + this.submitType, v.form).then(res => {
- if (res.code === 200) {
- uni.showToast({
- title: this.submitType == 'add' ? '添加成功' : '修改成功',
- duration: 1000,
- icon: 'success'
- })
- }
- uni.hideLoading()
- let pages = getCurrentPages(); // 获取页面栈
- let prePage = pages[pages.length - 2]; //获取上一页
- prePage.$vm.needRefresh = true; // 需要刷新
- setTimeout(() => {
- uni.navigateBack(1)
- }, 1000)
- })
- }).catch(err => {
- console.log('表单错误信息:', err);
- })
- },
- },
- }
- </script>
- <style lang="less">
- .disabled{
- .text-color{
- color: #999 !important;
- }
- .uni-data-tree-input{
- pointer-events: none;
- }
- .uniui-clear {
- display: none;
- }
- }
- </style>
|