|
@@ -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>
|