|
@@ -48,30 +48,42 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="!doSugartData" class="block5 flex-col" @click="submitDoSugar"><span class="txt3">{{
|
|
<div v-if="!doSugartData" class="block5 flex-col" @click="submitDoSugar"><span class="txt3">{{
|
|
$t('device.submitToMakeSugar') }}</span></div>
|
|
$t('device.submitToMakeSugar') }}</span></div>
|
|
- <van-button v-if="doSugartData" round type="primary" class="volumeChangeButton" :disabled="doSugartType"
|
|
|
|
- @click="checkData()">{{ $t('device.viewResults') }}</van-button>
|
|
|
|
|
|
+ <van-button v-if="doSugartData" style="padding: 1em;" round type="primary" class="block5 flex-col"
|
|
|
|
+ :disabled="doSugartType" @click="checkData()">{{ $t('device.viewResults') }}</van-button>
|
|
</div>
|
|
</div>
|
|
<div v-if="machineType === '2'">
|
|
<div v-if="machineType === '2'">
|
|
- <van-field v-model="fieldValue" is-link readonly :label="$t('device.clickToSelectTaste')"
|
|
|
|
- :placeholder="$t('device.pleaseSelectTaste')" @click="show = true" />
|
|
|
|
- <van-popup v-model:show="show" round position="bottom">
|
|
|
|
- <van-cascader v-model="cascaderValue" :title="$t('device.pleaseSelectTaste')" :options="options"
|
|
|
|
- @close="show = false" @finish="onFinish">
|
|
|
|
- <template #option="{ option }">
|
|
|
|
- <div class="cascader-item">
|
|
|
|
- <van-image :src="option.imgUrl" width="55px" height="55px"></van-image>
|
|
|
|
- <div class="cascader-label">{{ option.value }}</div>
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </van-cascader>
|
|
|
|
- </van-popup> -->
|
|
|
|
|
|
+ <van-collapse v-model="activeNames">
|
|
|
|
+ <van-collapse-item :title="$t('device.jam')" name="1" size="large" title-style="color: #404d74;">
|
|
|
|
+ <van-row class="goods">
|
|
|
|
+ <van-col v-for="(item, index) in jamData" :key="index" class="goodsCon o-mlr-5 o-mb-20" span="11">
|
|
|
|
+ <div class="l-flex-RC">
|
|
|
|
+ <van-image width="50" height="50" fit="contain" :src="showPopPhoto(item)" />
|
|
|
|
+ <span class="o-ml-10" style="color: #000;word-wrap: break-word; width: 50px;">{{ item.name }}</span>
|
|
|
|
+ <van-checkbox class="o-ml-10" shape="square" v-model="item.checked" />
|
|
|
|
+ </div>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-row>
|
|
|
|
+ </van-collapse-item>
|
|
|
|
+ <van-collapse-item :title="$t('device.nuts')" name="2" size="large" title-style="color: #404d74;">
|
|
|
|
+ <van-row class="goods">
|
|
|
|
+ <van-col v-for="(item, index) in crushData" :key="index" class="goodsCon o-mlr-5 o-mb-20" span="11">
|
|
|
|
+ <div class="l-flex-RC">
|
|
|
|
+ <van-image width="50" height="50" fit="contain" :src="showPopPhoto(item)" />
|
|
|
|
+ <span class="o-ml-10" style="color: #000;word-wrap: break-word; width: 50px;">{{ item.name }}</span>
|
|
|
|
+ <van-checkbox class="o-ml-10" shape="square" v-model="item.checked" />
|
|
|
|
+ </div>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-row>
|
|
|
|
+ </van-collapse-item>
|
|
|
|
+ </van-collapse>
|
|
|
|
+ <br>
|
|
<div class="textRow o-pr-20">
|
|
<div class="textRow o-pr-20">
|
|
<span @click="pushToDaySugarList">{{ $t('device.todaysMakeList') }}>></span>
|
|
<span @click="pushToDaySugarList">{{ $t('device.todaysMakeList') }}>></span>
|
|
</div>
|
|
</div>
|
|
<div v-if="!doSugartData" class="block5 flex-col" @click="submitDoSugar"><span class="txt3">{{
|
|
<div v-if="!doSugartData" class="block5 flex-col" @click="submitDoSugar"><span class="txt3">{{
|
|
$t('device.submitToMakeSugar') }}</span></div>
|
|
$t('device.submitToMakeSugar') }}</span></div>
|
|
- <van-button v-if="doSugartData" round type="primary" class="volumeChangeButton" :disabled="doSugartType"
|
|
|
|
- @click="checkData()">{{ $t('device.viewResults') }}</van-button>
|
|
|
|
|
|
+ <van-button v-if="doSugartData" style="padding: 1em;" round type="primary" class="block5 flex-col"
|
|
|
|
+ :disabled="doSugartType" @click="checkData()">{{ $t('device.viewResults') }}</van-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -80,8 +92,12 @@
|
|
import { onMounted, ref } from 'vue';
|
|
import { onMounted, ref } from 'vue';
|
|
import sHeader from "@/components/SimpleHeader";
|
|
import sHeader from "@/components/SimpleHeader";
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
import { useRoute, useRouter } from 'vue-router';
|
|
-import { getDeviceDetal, selectProducts, doSugar, selectSugarStatus } from '@/service/device'
|
|
|
|
-import { showFailToast, showSuccessToast, showToast } from 'vant';
|
|
|
|
|
|
+import {
|
|
|
|
+ getDeviceDetal, selectProducts,
|
|
|
|
+ doSugar,
|
|
|
|
+ selectSugarStatus
|
|
|
|
+} from '@/service/device'
|
|
|
|
+import { showConfirmDialog, showFailToast, showSuccessToast, showToast } from 'vant';
|
|
import { useI18n } from 'vue-i18n';
|
|
import { useI18n } from 'vue-i18n';
|
|
import { styleUrl } from "../../common/js/utils";
|
|
import { styleUrl } from "../../common/js/utils";
|
|
|
|
|
|
@@ -97,6 +113,21 @@ export default {
|
|
const fieldValue = ref('');
|
|
const fieldValue = ref('');
|
|
const cascaderValue = ref('');
|
|
const cascaderValue = ref('');
|
|
const options = ref([]);
|
|
const options = ref([]);
|
|
|
|
+ const activeNames = ref(['1', '2']);
|
|
|
|
+
|
|
|
|
+ // 果酱数据
|
|
|
|
+ const iceName = ref();
|
|
|
|
+ const jamData = ref([]);
|
|
|
|
+ const crushData = ref([]);
|
|
|
|
+
|
|
|
|
+ // 商品图片
|
|
|
|
+ const showPopPhoto = (row) => {
|
|
|
|
+ let imgId = row.no;
|
|
|
|
+ if (imgId) {
|
|
|
|
+ return require(`../../assets/order/spunSugar/goods/${imgId}.png`);
|
|
|
|
+ }
|
|
|
|
+ return imgId;
|
|
|
|
+ };
|
|
const onFinish = ({ selectedOptions }) => {
|
|
const onFinish = ({ selectedOptions }) => {
|
|
console.log('onFinish', selectedOptions);
|
|
console.log('onFinish', selectedOptions);
|
|
show.value = false;
|
|
show.value = false;
|
|
@@ -136,70 +167,107 @@ export default {
|
|
};
|
|
};
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
- // data.data.map(item => {
|
|
|
|
- // console.log("编号", item.no);
|
|
|
|
- // if (item.no == 'I01') {
|
|
|
|
- // return {
|
|
|
|
- // text: item.productName,
|
|
|
|
- // value: item.productName,
|
|
|
|
- // imgUrl: showSugarPhoto(item.no),
|
|
|
|
- // };
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- data.data.forEach(item => {
|
|
|
|
- if (item.no == 'I01') {
|
|
|
|
- options.value.push(
|
|
|
|
- {
|
|
|
|
- text: item.productName,
|
|
|
|
- value: item.productName,
|
|
|
|
- imgUrl: showSugarPhoto(item.no),
|
|
|
|
- children: []
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- data.data.forEach(item => {
|
|
|
|
- if (item.no.includes('J')) {
|
|
|
|
- options.value[0].children.push(
|
|
|
|
- {
|
|
|
|
- text: item.productName,
|
|
|
|
- value: item.productName,
|
|
|
|
- imgUrl: showSugarPhoto(item.no),
|
|
|
|
- children: [],
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
data.data.forEach(item => {
|
|
data.data.forEach(item => {
|
|
- if (item.no.includes('C')) {
|
|
|
|
- options.value[0].children.forEach(item1 => {
|
|
|
|
- item1.children.push(
|
|
|
|
- {
|
|
|
|
- text: item.productName,
|
|
|
|
- value: item.productName,
|
|
|
|
- imgUrl: showSugarPhoto(item.no),
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
- })
|
|
|
|
|
|
+ if (item.no.includes('J01')) {
|
|
|
|
+ // 果酱1
|
|
|
|
+ jamData.value.push({
|
|
|
|
+ name: item.productName,
|
|
|
|
+ no: item.no,
|
|
|
|
+ value: 1,
|
|
|
|
+ checked: false
|
|
|
|
+ });
|
|
|
|
+ } else if (item.no.includes('J02')) {
|
|
|
|
+ // 果酱2
|
|
|
|
+ jamData.value.push({
|
|
|
|
+ name: item.productName,
|
|
|
|
+ no: item.no,
|
|
|
|
+ value: 2,
|
|
|
|
+ checked: false
|
|
|
|
+ });
|
|
|
|
+ } else if (item.no.includes('J03')) {
|
|
|
|
+ // 果酱3
|
|
|
|
+ jamData.value.push({
|
|
|
|
+ name: item.productName,
|
|
|
|
+ no: item.no,
|
|
|
|
+ value: 3,
|
|
|
|
+ checked: false
|
|
|
|
+ });
|
|
|
|
+ } else if (item.no.includes('C01')) {
|
|
|
|
+ // 果碎1
|
|
|
|
+ crushData.value.push({
|
|
|
|
+ name: item.productName,
|
|
|
|
+ no: item.no,
|
|
|
|
+ value: 1,
|
|
|
|
+ checked: false
|
|
|
|
+ });
|
|
|
|
+ } else if (item.no.includes('C02')) {
|
|
|
|
+ // 果碎2
|
|
|
|
+ crushData.value.push({
|
|
|
|
+ name: item.productName,
|
|
|
|
+ no: item.no,
|
|
|
|
+ value: 2,
|
|
|
|
+ checked: false
|
|
|
|
+ });
|
|
|
|
+ } else if (item.no.includes('I01')) {
|
|
|
|
+ // 雪糕
|
|
|
|
+ iceName.value = item.productName;
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
} else { showFailToast(data.message); }
|
|
} else { showFailToast(data.message); }
|
|
- // console.log(options.value);
|
|
|
|
}
|
|
}
|
|
const submitDoSugar = async () => {
|
|
const submitDoSugar = async () => {
|
|
|
|
+ const makeCodes = ref([1, 0, 0]);
|
|
doSugartData.value = null;
|
|
doSugartData.value = null;
|
|
doSugartType.value = true;
|
|
doSugartType.value = true;
|
|
|
|
+
|
|
|
|
+ if (machineType == '2') {
|
|
|
|
+ fieldValue.value = '';
|
|
|
|
+ let jamCount = 0;
|
|
|
|
+ let crushCount = 0;
|
|
|
|
+ // 如果是冰淇淋机器
|
|
|
|
+ jamData.value.forEach(item => {
|
|
|
|
+ if (item.checked) {
|
|
|
|
+ fieldValue.value += item.name + ',';
|
|
|
|
+ makeCodes.value[1] += item.value;
|
|
|
|
+ jamCount++;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ crushData.value.forEach(item => {
|
|
|
|
+ if (item.checked) {
|
|
|
|
+ fieldValue.value += item.name + ',';
|
|
|
|
+ makeCodes.value[2] += item.value;
|
|
|
|
+ crushCount++;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ if (jamCount > 1) {
|
|
|
|
+ makeCodes.value[1] += 1;
|
|
|
|
+ }
|
|
|
|
+ if (crushCount > 1) {
|
|
|
|
+ makeCodes.value[2] += 1;
|
|
|
|
+ }
|
|
|
|
+ if (fieldValue.value === '') {
|
|
|
|
+ fieldValue.value = iceName.value;
|
|
|
|
+ } else {
|
|
|
|
+ fieldValue.value = fieldValue.value.substring(0, fieldValue.value.length - 1);
|
|
|
|
+ fieldValue.value = iceName.value + "(" + fieldValue.value + ")";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
if (fieldValue.value === '') { showFailToast(t('device.pleaseSelectAPattern')); return; }
|
|
if (fieldValue.value === '') { showFailToast(t('device.pleaseSelectAPattern')); return; }
|
|
- const { data } = await doSugar({ equipmentId: deviceId, productName: fieldValue.value });
|
|
|
|
- if (data.code) {
|
|
|
|
- doSugartData.value = data.data;
|
|
|
|
- setTimeout(() => {
|
|
|
|
- doSugartType.value = false;
|
|
|
|
- }, 5000);
|
|
|
|
- } else { showFailToast(data.message); }
|
|
|
|
|
|
+ showConfirmDialog({
|
|
|
|
+ title: t('user.tips'),
|
|
|
|
+ message: t('device.confirmMake')+ fieldValue.value +'?',
|
|
|
|
+ }).then(async() => {
|
|
|
|
+ const { data } = await doSugar({ equipmentId: deviceId, productName: fieldValue.value, makeCodes: makeCodes.value });
|
|
|
|
+ if (data.code) {
|
|
|
|
+ doSugartData.value = data.data;
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ doSugartType.value = false;
|
|
|
|
+ }, 5000);
|
|
|
|
+ } else { showFailToast(data.message); }
|
|
|
|
+ }).catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ })
|
|
}
|
|
}
|
|
const checkData = async () => {
|
|
const checkData = async () => {
|
|
const { data } = await selectSugarStatus({ no: doSugartData.value.no });
|
|
const { data } = await selectSugarStatus({ no: doSugartData.value.no });
|
|
@@ -241,7 +309,11 @@ export default {
|
|
checkData,
|
|
checkData,
|
|
pushToDaySugarList,
|
|
pushToDaySugarList,
|
|
showSugarPhoto,
|
|
showSugarPhoto,
|
|
- machineType
|
|
|
|
|
|
+ machineType,
|
|
|
|
+ activeNames,
|
|
|
|
+ jamData,
|
|
|
|
+ crushData,
|
|
|
|
+ showPopPhoto
|
|
};
|
|
};
|
|
},
|
|
},
|
|
components: { sHeader },
|
|
components: { sHeader },
|