瀏覽代碼

底部浮动按钮

xiaohaizhao 1 年之前
父節點
當前提交
b3e2d713c1
共有 1 個文件被更改,包括 119 次插入0 次删除
  1. 119 0
      packageA/workOrder/modules/but.vue

+ 119 - 0
packageA/workOrder/modules/but.vue

@@ -0,0 +1,119 @@
+<template>
+    <view class="but-box" v-if="text">
+        <view style="width: 75vw;">
+            <u-button type="primary" :text="text" color="rgba(42,106,242,.8)" loadingText="执行中..." :loading="loading"
+                @click="onClick(false)" />
+        </view>
+    </view>
+</template>
+
+<script>
+export default {
+    name: "but",
+    props: {
+        sa_workorderid: {
+            type: [String, Number],
+            default: 0
+        },
+        status: {
+            type: String
+        },
+        onUpdate: {
+            type: Function
+        }
+    },
+    watch: {
+        status: function (newVal) {
+            this.loading = false;
+            switch (newVal) {
+                case '待接单':
+                    this.text = '接单';
+                    this.id = 20230210101103;
+                    this.tips = '是否确定接收工单';
+                    this.toast = '工单接单成功!';
+                    break;
+                case '待开始':
+                    this.text = '开始';
+                    this.id = 20230209144503;
+                    this.tips = '是否确定开始工单';
+                    this.toast = '工单开始成功!';
+                    break;
+                case '进行中':
+                    this.text = '完结工单';
+                    this.id = 20230209144903;
+                    this.tips = '是否确定完结工单';
+                    this.toast = '工单完结成功!';
+                    break;
+                default:
+                    this.text = '';
+                    this.id = "";
+                    this.tips = '';
+                    this.toast = '';
+                    break;
+            }
+        }
+    },
+    data() {
+        return {
+            loading: false,
+            text: ""
+        }
+    },
+    methods: {
+        onClick(e) {
+            if (!this.text) return;
+            let that = this;
+            uni.showModal({
+                title: '提示',
+                content: e ? `工单还未${this.text},${this.tips}` : this.tips,
+                success: ({ confirm }) => {
+                    if (confirm) {
+                        that.loading = true;
+                        that.$Http.basic({
+                            "id": that.id,
+                            "version": 1,
+                            "content": {
+                                "sa_workorderid": that.sa_workorderid
+                            }
+                        }).then(res => {
+                            console.log(that.text + '工单', res)
+                            if (this.text == '完结工单' && res.msg != '成功') {
+                                that.loading = false;
+                                uni.showModal({
+                                    title: '提示',
+                                    content: res.msg,
+                                    showCancel: false,
+                                });
+                                return;
+                            }
+                            if (that.cutoff(res.msg, this.toast)) return that.loading = false;
+
+                            that.$emit("onUpdate", true)
+                        })
+                    }
+                },
+            })
+        }
+    },
+}
+</script>
+
+<style lang="scss" scoped>
+.but-box {
+    position: absolute;
+    width: 100vw;
+    bottom: 30px;
+    display: flex;
+    justify-content: center;
+
+    /deep/ .u-button__text,
+    /deep/.u-button__loading-text {
+        font-size: 14px !important;
+    }
+
+    /deep/.u-loading-icon__spinner {
+        width: 17.25px !important;
+        height: 17.25px !important;
+    }
+}
+</style>