|
|
@@ -0,0 +1,581 @@
|
|
|
+<template>
|
|
|
+ <ele-modal
|
|
|
+ :title="title"
|
|
|
+ :visible.sync="visible"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ @close="handleClose"
|
|
|
+ resizable
|
|
|
+ maxable
|
|
|
+ width="80%"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ <el-form ref="formRef" :model="form" :rules="rules" label-width="130px">
|
|
|
+ <header-title title="事项信息"></header-title>
|
|
|
+ <el-row style="margin-bottom: 20px">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="记录编码">
|
|
|
+ <el-input
|
|
|
+ v-model="form.code"
|
|
|
+ placeholder="系统自动生成"
|
|
|
+ disabled
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="类型" required prop="itemType">
|
|
|
+ <DictSelection
|
|
|
+ dictName="记录规则事项类型"
|
|
|
+ clearable
|
|
|
+ v-model="form.itemType"
|
|
|
+ @change="itemTypeChange"
|
|
|
+ >
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8"> </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="执行方式" required prop="executeMethod">
|
|
|
+ <DictSelection
|
|
|
+ dictName="记录规则执行方式"
|
|
|
+ clearable
|
|
|
+ v-model="form.executeMethod"
|
|
|
+ disabled
|
|
|
+ >
|
|
|
+ </DictSelection>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item
|
|
|
+ v-if="form.itemType == '1'"
|
|
|
+ label="选择设备"
|
|
|
+ required
|
|
|
+ prop="deviceName"
|
|
|
+ >
|
|
|
+ <div class="mask-box" @click="selectDeviceId">
|
|
|
+ <el-input
|
|
|
+ v-model="form.deviceName"
|
|
|
+ placeholder="请选择设备"
|
|
|
+ size="small"
|
|
|
+ :readonly="true"
|
|
|
+ >
|
|
|
+ <template #append>
|
|
|
+ <el-button size="small">选择设备</el-button>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col v-if="form.itemType == '3'" :span="8">
|
|
|
+ <el-form-item label="关联任务">
|
|
|
+ <!-- 下拉选择 -->
|
|
|
+ <el-select
|
|
|
+ placeholder="请选择关联任务"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="form.taskId"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="task in []"
|
|
|
+ :key="task.id"
|
|
|
+ :label="task.name"
|
|
|
+ :value="task.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="form.itemType == '2'" :span="8">
|
|
|
+ <el-form-item label="关联记录规则" required prop="ruleName">
|
|
|
+ <div class="mask-box" @click="selectReleaseId">
|
|
|
+ <el-input
|
|
|
+ v-model="form.ruleName"
|
|
|
+ placeholder="请选择记录规则名称"
|
|
|
+ size="small"
|
|
|
+ :readonly="true"
|
|
|
+ >
|
|
|
+ <template #append>
|
|
|
+ <el-button size="small">选择规则</el-button>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="form.itemType == '1'" :span="8">
|
|
|
+ <el-form-item label="关联事项规则" required prop="ruleName">
|
|
|
+ <div class="mask-box" @click="selectRulesId">
|
|
|
+ <el-input
|
|
|
+ v-model="form.ruleName"
|
|
|
+ placeholder="请选择设备有关计划规则,如保养规则,巡点检规则等"
|
|
|
+ size="small"
|
|
|
+ :readonly="true"
|
|
|
+ >
|
|
|
+ <template #append>
|
|
|
+ <el-button size="small">选择规则</el-button>
|
|
|
+ </template>
|
|
|
+ </el-input>
|
|
|
+ </div>
|
|
|
+ </el-form-item></el-col
|
|
|
+ >
|
|
|
+ </el-row>
|
|
|
+ <header-title title="关联产品"></header-title>
|
|
|
+ <el-row style="margin-bottom: 20px">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="生产工单号" prop="workOrderCode">
|
|
|
+ <el-select
|
|
|
+ v-model="form.workOrderCode"
|
|
|
+ placeholder="请选择生产工单"
|
|
|
+ style="width: 100%"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ clearable
|
|
|
+ :remote-method="getWorkOrderList"
|
|
|
+ @change="workOrderCodeChange"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in workOrderList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.code"
|
|
|
+ :value="item.code"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="工序名称" prop="produceTaskId">
|
|
|
+ <el-select
|
|
|
+ v-model="form.produceTaskId"
|
|
|
+ placeholder="请选择工序"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in produceTaskList"
|
|
|
+ :key="item.taskId"
|
|
|
+ :label="item.taskTypeName"
|
|
|
+ :value="item.taskId"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row style="margin-bottom: 20px">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="产品编码" required prop="productCode">
|
|
|
+ <el-input
|
|
|
+ v-model="form.productCode"
|
|
|
+ placeholder="请选择产品信息"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="产品名称" required prop="productName">
|
|
|
+ <el-input
|
|
|
+ v-model="form.productName"
|
|
|
+ placeholder="请输入"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="批次号" prop="batchNo">
|
|
|
+ <el-input
|
|
|
+ v-model="form.batchNo"
|
|
|
+ placeholder="请输入"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row style="margin-bottom: 20px">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="规格" prop="specification">
|
|
|
+ <el-input
|
|
|
+ v-model="form.specification"
|
|
|
+ placeholder="请输入"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="型号" prop="productModel">
|
|
|
+ <el-input
|
|
|
+ v-model="form.productModel"
|
|
|
+ placeholder="请输入"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="要求生产数量" required prop="formingNum">
|
|
|
+ <el-input
|
|
|
+ v-model.number="form.formingNum"
|
|
|
+ placeholder="请输入"
|
|
|
+ :disabled="Boolean(form.workOrderId)"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <template v-slot:footer>
|
|
|
+ <el-button type="primary" @click="save" :loading="butLoading"
|
|
|
+ >保存</el-button
|
|
|
+ >
|
|
|
+ <el-button type="primary" @click="submit" :loading="butLoading"
|
|
|
+ >执行</el-button
|
|
|
+ >
|
|
|
+ <el-button @click="handleClose" :loading="butLoading">取 消</el-button>
|
|
|
+ </template>
|
|
|
+
|
|
|
+ <selectDevices
|
|
|
+ ref="deviceSelectDialog"
|
|
|
+ selectType="single"
|
|
|
+ @chooseEquipment="chooseEquipment"
|
|
|
+ ></selectDevices>
|
|
|
+
|
|
|
+ <selectMatterRules
|
|
|
+ ref="selectMatterRulesRef"
|
|
|
+ @chooseRules="chooseRules"
|
|
|
+ :filterType="[1, 2, 5]"
|
|
|
+ ></selectMatterRules>
|
|
|
+
|
|
|
+ <selectReleaseRules
|
|
|
+ ref="selectReleaseRulesRef"
|
|
|
+ @chooseRules="chooseReleaseRules"
|
|
|
+ ></selectReleaseRules>
|
|
|
+
|
|
|
+ <programRulesDialog
|
|
|
+ ref="programRulesDialogRef"
|
|
|
+ :dialogTitle="dialogTitle"
|
|
|
+ @reload="reload"
|
|
|
+ :isTempRecord="1"
|
|
|
+ />
|
|
|
+
|
|
|
+ <releaseRulesDialog
|
|
|
+ v-model="showReleaseRulesDialog"
|
|
|
+ ref="releaseRulesDialogRef"
|
|
|
+ @reload="reload"
|
|
|
+ :isTempRecord="1"
|
|
|
+ />
|
|
|
+ </ele-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import { submit } from '@/api/entrust';
|
|
|
+ import dictMixins from '@/mixins/dictMixins';
|
|
|
+ import selectMatterRules from '@/components/selectMatterRules/select-matter-rules.vue';
|
|
|
+ import selectReleaseRules from '@/components/selectReleaseRules/select-release-rules.vue';
|
|
|
+ import selectDevices from '@/components/selectDevices/index.vue';
|
|
|
+ import { produceOrder } from '@/api/aps/index.js';
|
|
|
+ import { getTaskInstanceList } from '@/api/produce/job.js';
|
|
|
+ import { tempSaveOrUpdate } from '@/api/producetaskrulerecord/index.js';
|
|
|
+ import programRulesDialog from '@/views/produce/components/prenatalExamination/programRulesDialog.vue';
|
|
|
+ import releaseRulesDialog from '@/views/produce/components/prenatalExamination/releaseRulesDialog.vue';
|
|
|
+
|
|
|
+ export default {
|
|
|
+ name: 'editModal',
|
|
|
+ mixins: [dictMixins],
|
|
|
+ components: {
|
|
|
+ selectMatterRules,
|
|
|
+ selectReleaseRules,
|
|
|
+ selectDevices,
|
|
|
+ programRulesDialog,
|
|
|
+ releaseRulesDialog
|
|
|
+ },
|
|
|
+ props: {
|
|
|
+ // 1-产前准备,2-过程监测,3-产后检查
|
|
|
+ reportWorkType: {
|
|
|
+ type: Number,
|
|
|
+ default: 1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ const formBaseData = {
|
|
|
+ id: null,
|
|
|
+ // 设备id
|
|
|
+ deviceId: null,
|
|
|
+ //设备名称
|
|
|
+ deviceName: '',
|
|
|
+ // 记录规则执行方式,参考字典项:record_rules_execute_method
|
|
|
+ executeMethod: '1',
|
|
|
+ // 记录规则事项类型,参考字典项:record_rules_item_type
|
|
|
+ itemType: '1',
|
|
|
+ // 工序ID
|
|
|
+ produceTaskId: null,
|
|
|
+ // 记录规则报工类型,参考字典项:record_rules_report_work_type
|
|
|
+ reportWorkType: null,
|
|
|
+ // 规则id,包括事项规则id,记录规则id,根据事项类型区分
|
|
|
+ ruleId: null,
|
|
|
+ // 规则名称
|
|
|
+ ruleName: '',
|
|
|
+ // 任务id
|
|
|
+ taskId: null,
|
|
|
+ // mes生产工单表工单号 code
|
|
|
+ workOrderCode: '',
|
|
|
+ // workOrderId mes生产工单表id
|
|
|
+ workOrderId: null,
|
|
|
+ // 产品编码
|
|
|
+ productCode: null,
|
|
|
+ // 产品型号
|
|
|
+ productModel: null,
|
|
|
+ // 产品名称
|
|
|
+ productName: null,
|
|
|
+ // 记录规则分类,字典项:record_sheet
|
|
|
+ recordRulesClassify: null,
|
|
|
+ // 产品批次号
|
|
|
+ batchNo: '',
|
|
|
+ // 产品规格
|
|
|
+ specification: '',
|
|
|
+ // 要求生产数量
|
|
|
+ formingNum: null,
|
|
|
+ // 是否临时执行
|
|
|
+ isTempRecord: 1
|
|
|
+ };
|
|
|
+
|
|
|
+ var validatepProduceTaskId = (rule, value, callback) => {
|
|
|
+ if (this.form.workOrderCode) {
|
|
|
+ if (!this.form.produceTaskId) {
|
|
|
+ callback(new Error('请选择工序'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ callback();
|
|
|
+ };
|
|
|
+
|
|
|
+ return {
|
|
|
+ visible: false,
|
|
|
+ title: '',
|
|
|
+ formBaseData,
|
|
|
+ form: JSON.parse(JSON.stringify(formBaseData)),
|
|
|
+ rules: {
|
|
|
+ itemType: [
|
|
|
+ { required: true, message: '请选择规则事项类型', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ deviceName: [
|
|
|
+ { required: true, message: '请选择设备', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ ruleName: [
|
|
|
+ { required: true, message: '请选择规则', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ productCode: [
|
|
|
+ { required: true, message: '请输入产品编码', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ productName: [
|
|
|
+ { required: true, message: '请输入产品名称', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ formingNum: [
|
|
|
+ { required: true, message: '请输入要求生产数量', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ produceTaskId: [
|
|
|
+ { validator: validatepProduceTaskId, trigger: 'blur' }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ // 生产工单列表
|
|
|
+ workOrderList: [],
|
|
|
+ //工序名称列表
|
|
|
+ produceTaskList: [],
|
|
|
+ // 工单信息
|
|
|
+ workOrderInfo: null,
|
|
|
+ butLoading: false,
|
|
|
+ showReleaseRulesDialog: false,
|
|
|
+ dialogTitle: ''
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ reportWorkTypeName() {
|
|
|
+ switch (this.reportWorkType) {
|
|
|
+ case 1:
|
|
|
+ return '产前准备';
|
|
|
+ case 2:
|
|
|
+ return '过程监测';
|
|
|
+
|
|
|
+ default:
|
|
|
+ return '产后检查';
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.requestDict('记录规则报工类型');
|
|
|
+ this.requestDict('记录规则执行方式');
|
|
|
+ this.requestDict('记录规则事项类型');
|
|
|
+ this.getWorkOrderList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 外部调用,打开弹窗
|
|
|
+ open(type, data) {
|
|
|
+ console.log('data', type, data);
|
|
|
+ if (type == 'add') {
|
|
|
+ this.title = `新增${this.reportWorkTypeName}事项`;
|
|
|
+ } else {
|
|
|
+ this.title = `编辑${this.reportWorkTypeName}事项`;
|
|
|
+ }
|
|
|
+ this.visible = true;
|
|
|
+ },
|
|
|
+ // 关闭时清理表单
|
|
|
+ handleClose() {
|
|
|
+ this.visible = false;
|
|
|
+ this.form = JSON.parse(JSON.stringify(this.formBaseData));
|
|
|
+ this.$refs.formRef && this.$refs.formRef.resetFields();
|
|
|
+ },
|
|
|
+ // 修改规则事项类型
|
|
|
+ itemTypeChange() {
|
|
|
+ this.form.executeMethod = this.form.itemType;
|
|
|
+ this.form.ruleId = null;
|
|
|
+ this.form.ruleName = '';
|
|
|
+ },
|
|
|
+ // 去选择设备
|
|
|
+ selectDeviceId() {
|
|
|
+ this.$refs.deviceSelectDialog.open([]);
|
|
|
+ },
|
|
|
+ // 设备选
|
|
|
+ chooseEquipment(data, index, categoryId) {
|
|
|
+ console.log('data', data, index, categoryId);
|
|
|
+ this.form.deviceId = data[0]?.id || null;
|
|
|
+ this.form.deviceName = data[0]?.name || '';
|
|
|
+ if (this.rules && this.rules.length > 1) {
|
|
|
+ // 提示用户选择的规则有多个事项规则
|
|
|
+ this.$message.warning('所选设备包含多个设备,请注意选择');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 去选择记录规则
|
|
|
+ selectReleaseId() {
|
|
|
+ this.$refs.selectReleaseRulesRef.open();
|
|
|
+ },
|
|
|
+ // 选择记录规则
|
|
|
+ chooseReleaseRules(rules) {
|
|
|
+ console.log('rules', rules);
|
|
|
+ this.form.ruleId = rules[0]?.id || null;
|
|
|
+ this.form.ruleName = rules[0]?.name || '';
|
|
|
+ this.form.recordRulesClassify = rules[0]?.classify;
|
|
|
+ if (this.rules && this.rules.length > 1) {
|
|
|
+ // 提示用户选择的规则有多个事项规则
|
|
|
+ this.$message.warning('所选记录规则包含多个事项规则,请注意选择');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 去选择事项规则
|
|
|
+ selectRulesId() {
|
|
|
+ this.$refs.selectMatterRulesRef.open([this.form.ruleId]);
|
|
|
+ },
|
|
|
+ // 选择事项规则
|
|
|
+ chooseRules(rules) {
|
|
|
+ console.log('rules', rules);
|
|
|
+ this.form.ruleId = rules[0]?.id || null;
|
|
|
+ this.form.ruleName = rules[0]?.name || '';
|
|
|
+ },
|
|
|
+ // 获取生产工单号
|
|
|
+ async getWorkOrderList(code = '') {
|
|
|
+ if (typeof code != 'string') {
|
|
|
+ code = '';
|
|
|
+ }
|
|
|
+ const { list } = await produceOrder({
|
|
|
+ code,
|
|
|
+ pageNum: 1,
|
|
|
+ size: 50
|
|
|
+ });
|
|
|
+ console.log('生产工单', list);
|
|
|
+ this.workOrderList = list;
|
|
|
+ },
|
|
|
+ // 选择生产工单
|
|
|
+ workOrderCodeChange(code) {
|
|
|
+ console.log('code', code);
|
|
|
+ if (code) {
|
|
|
+ const workOrder = this.workOrderList.find((i) => i.code == code);
|
|
|
+ this.workOrderInfo = workOrder;
|
|
|
+ console.log('workOrder', workOrder);
|
|
|
+ this.form.workOrderId = workOrder.id;
|
|
|
+ // 赋值产品信息
|
|
|
+ this.form.productCode = workOrder.productCode;
|
|
|
+ this.form.productModel = workOrder.productModel;
|
|
|
+ this.form.productName = workOrder.productName;
|
|
|
+ this.form.batchNo = workOrder.batchNo;
|
|
|
+ this.form.specification = workOrder.specification;
|
|
|
+ this.form.formingNum = workOrder.formingNum;
|
|
|
+ this.getProductTaskList(workOrder.id);
|
|
|
+ } else {
|
|
|
+ this.workOrderInfo = null;
|
|
|
+ this.form.workOrderId = null;
|
|
|
+ // 赋值产品信息
|
|
|
+ this.form.productCode = null;
|
|
|
+ this.form.productModel = null;
|
|
|
+ this.form.productName = '';
|
|
|
+ this.form.batchNo = '';
|
|
|
+ this.form.specification = null;
|
|
|
+ this.form.formingNum = null;
|
|
|
+ this.form.produceTaskId = null;
|
|
|
+ this.produceTaskList = [];
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 获取工序列表
|
|
|
+ async getProductTaskList(id) {
|
|
|
+ const data = await getTaskInstanceList(id);
|
|
|
+ console.log('data 工序列表', data);
|
|
|
+ this.produceTaskList = data;
|
|
|
+ },
|
|
|
+ // 执行
|
|
|
+ submit() {
|
|
|
+ this.$refs.formRef.validate((valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ this.form.reportWorkType = this.reportWorkType;
|
|
|
+ console.log('this.form', this.form);
|
|
|
+ if (this.form.executeMethod == 1) {
|
|
|
+ // 设备保养计划相关逻辑
|
|
|
+ this.dialogTitle = '新增设备保养计划';
|
|
|
+ this.$refs.programRulesDialogRef.init(
|
|
|
+ this.form,
|
|
|
+ this.workOrderInfo,
|
|
|
+ {}
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ this.$refs.releaseRulesDialogRef.open(
|
|
|
+ this.form,
|
|
|
+ this.workOrderInfo,
|
|
|
+ {}
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 保存
|
|
|
+ save() {
|
|
|
+ this.$refs.formRef.validate(async (valid) => {
|
|
|
+ if (!valid) {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+ this.form.reportWorkType = this.reportWorkType;
|
|
|
+ console.log('this.form', this.form);
|
|
|
+ try {
|
|
|
+ this.butLoading = true;
|
|
|
+ const data = await tempSaveOrUpdate(this.form);
|
|
|
+ this.$message.success('保存成功!');
|
|
|
+ this.butLoading = false;
|
|
|
+ } catch (error) {
|
|
|
+ this.butLoading = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 执行完成
|
|
|
+ reload() {}
|
|
|
+ }
|
|
|
+ };
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+ .mask-box {
|
|
|
+ &::after {
|
|
|
+ content: '';
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ background: rgba(0, 0, 0, 0);
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|