| | |
| | | <div class="app-container"> |
| | | <div> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="entity.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo"> |
| | | <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"> |
| | |
| | | active: 1, |
| | | tabIndex: 0, |
| | | entity: { |
| | | contract: null, |
| | | sonLaboratory: null, |
| | | insState: '3', |
| | | userId: 0, |
| | |
| | | tableData: [], |
| | | column: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { |
| | | label: "批号", |
| | | prop: "updateBatchNo", |
| | | width: "120px", |
| | |
| | | <div style="height: 100%"> |
| | | <div class="search"> |
| | | <el-form :model="queryParams" ref="queryParams" size="small" :inline="true"> |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="queryParams.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo" v-if="tabIndex !== 0"> |
| | | <el-input v-model="queryParams.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"> |
| | |
| | | tableData: [], |
| | | column: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { |
| | | label: "批号", |
| | | prop: "updateBatchNo", |
| | | width: "120px", |
| | |
| | | ...this.ifsMaterialPropsForm, |
| | | partNo: this.insOrder.partNo, |
| | | lotBatchNo: this.insOrder.lotBatchNo, |
| | | contract: this.insOrder.contract |
| | | }).then((res)=>{ |
| | | if(res.code==200){ |
| | | this.$message.success("保存成功"); |
| | |
| | | <div> |
| | | <div class="search"> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="entity.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo"> |
| | | <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="goSearch"> |
| | |
| | | tableData: [], |
| | | tableLoading: false, |
| | | column: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '批号', prop: 'updateBatchNo' }, |
| | | { label: '零件号', prop: 'partNo' }, |
| | | { label: '零件描述', prop: 'partDesc' }, |
| | |
| | | tableData1: [], |
| | | tableLoading1: false, |
| | | column1: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '批号', prop: 'updateBatchNo' }, |
| | | { |
| | | label: '委托编号', |
| | |
| | | tableData2: [], |
| | | tableLoading2: false, |
| | | column2: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { |
| | | label: '委托编号', |
| | | prop: 'entrustCode', |
| | |
| | | tableData3: [], |
| | | tableLoading3: false, |
| | | column3: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '委托编号', prop: 'entrustCode', width: "160px", }, |
| | | { |
| | | dataType: 'tag', |
| | |
| | | tableData4: [], |
| | | tableLoading4: false, |
| | | column4: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '委托编号', prop: 'entrustCode', width: "160px", }, |
| | | { |
| | | dataType: 'tag', |
| | |
| | | current: 1 |
| | | }, |
| | | entity: { |
| | | contract: null, |
| | | updateBatchNo: null, |
| | | entrustCode: null, |
| | | partDesc: null, |
| | |
| | | <div> |
| | | <div class="search"> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="entity.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo"> |
| | | <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="goSearch"> |
| | |
| | | tableData: [], |
| | | tableLoading: false, |
| | | column: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '批号', prop: 'updateBatchNo' }, |
| | | { label: '零件号', prop: 'partNo' }, |
| | | { label: '零件描述', prop: 'partDesc' }, |
| | |
| | | tableData1: [], |
| | | tableLoading1: false, |
| | | column1: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '批号', prop: 'updateBatchNo' }, |
| | | { |
| | | label: '委托编号', |
| | |
| | | tableData2: [], |
| | | tableLoading2: false, |
| | | column2: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { |
| | | label: '委托编号', |
| | | prop: 'entrustCode', |
| | |
| | | tableData3: [], |
| | | tableLoading3: false, |
| | | column3: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '委托编号', prop: 'entrustCode', width: "160px", }, |
| | | { |
| | | dataType: 'tag', |
| | |
| | | current: 1 |
| | | }, |
| | | entity: { |
| | | contract: null, |
| | | updateBatchNo: null, |
| | | entrustCode: null, |
| | | partDesc: null, |
| | |
| | | <div class="search"> |
| | | <el-form :model="componentData" ref="componentData" size="small" :inline="true"> |
| | | <el-row> |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="componentData.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo"> |
| | | <el-input v-model="componentData.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable"></el-input> |
| | |
| | | :visible.sync="declareDialogVisible" width="800px" @close="resetFormData"> |
| | | <el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px" |
| | | label-position="right"> |
| | | <el-form-item class="declareObj-form-item" label="IFS域:" prop="contract" style="width: calc(50% - 54px)"> |
| | | <el-tag :type="declareObj.contract==='ZTNS'?'':'success'">{{declareObj.contract}}</el-tag> |
| | | </el-form-item> |
| | | <el-form-item class="declareObj-form-item" label="订单号:" prop="orderNo"> |
| | | <el-input v-model="declareObj.orderNo" :disabled="declareType !== 'add'" class="addObj-info" clearable |
| | | placeholder="" size="small"></el-input> |
| | |
| | | :header-cell-style="{textAlign:'center'}" |
| | | :cell-style="{textAlign:'center'}" |
| | | > |
| | | <el-table-column label="IFS域" prop="contract" :min-width="100" width="100"> |
| | | <template slot-scope="scope"> |
| | | <el-tag :type="scope.row.contract==='ZTNS'?'':'success'">{{scope.row.contract}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="订单编号" prop="orderNo" :min-width="100" width="100"></el-table-column> |
| | | <el-table-column label="零件编号" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="零件描述" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column> |
| | |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '订单号', prop: 'orderNo' }, |
| | | { label: '抵达的采购数量', prop: 'purQtyInStore', width: '140px', }, |
| | | { label: '批号', prop: 'updateBatchNo' }, |
| | |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | |
| | | }, |
| | | { label: '订单号', prop: 'orderNo' }, |
| | | { label: '订单分类', prop: 'orderTypeName' }, |
| | |
| | | materialProp: null, // 物料属性 |
| | | }, |
| | | componentData: { // 表格数据 |
| | | contract:null, |
| | | updateBatchNo: null, |
| | | partNo: null, |
| | | partDesc: null, |
| | |
| | | <div class="app-container"> |
| | | <div> |
| | | <el-form :model="entity" ref="entity" size="small" :inline="true"> |
| | | <el-form-item label="IFS域" prop="contract"> |
| | | <el-select @keyup.enter.native="refreshTable" v-model="entity.contract" clearable placeholder="请选择" size="small"> |
| | | <el-option label="ZTNS" value="ZTNS"/> |
| | | <el-option label="KJNS" value="KJNS"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="批号" prop="updateBatchNo"> |
| | | <el-input v-model="entity.updateBatchNo" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="refreshTable()"> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label=" 检验类别" prop="orderType"> |
| | | <el-select v-model="entity.orderType" clearable size="small" @change="refreshTable()"> |
| | | <el-option v-for="(a, i) in orderTypeList" :key="i" :label="a.label" :value="a.value"></el-option> |
| | |
| | | data() { |
| | | return { |
| | | entity: { |
| | | contract:null, |
| | | queryStatus: null, |
| | | code: null, |
| | | typeSource: null, |
| | |
| | | valueTableData: [], |
| | | column: [ |
| | | { |
| | | label: 'IFS域', |
| | | prop: 'contract', |
| | | width: '120px', |
| | | dataType: 'tag', |
| | | formatData: (params) => { |
| | | return params |
| | | }, |
| | | formatType: (params) => { |
| | | if (params === 'ZTNS') { |
| | | return '' |
| | | } else if (params === 'KJNS') { |
| | | return 'success' |
| | | }else { |
| | | return null |
| | | } |
| | | } |
| | | }, |
| | | { |
| | | label: "批号", |
| | | prop: "updateBatchNo", |
| | | width: "120px", |
| | |
| | | data: [], |
| | | label: { |
| | | show: true, |
| | | formatter: (v) => v.value + '%' |
| | | formatter: (v) => v.value + '%' |
| | | } |
| | | } |
| | | ], |
| | |
| | | } |
| | | }, |
| | | lineColors: ['#91A0FC'], |
| | | barColors: ['#13ce66', '#F56C6C'], // 合格绿 / 不合格红 |
| | | barColors: ['#9fe080', '#ff994d'], // 合格绿 / 不合格红 |
| | | barColors2: ['#A4EEDA'], |
| | | pieTooltip: { |
| | | trigger: 'item' |
| | |
| | | }, |
| | | rawPieSeries: [ |
| | | { |
| | | name: 'Access From', |
| | | name: '', |
| | | type: 'pie', |
| | | radius: '70%', |
| | | center: ['50%', '50%'], |
| | |
| | | borderWidth: 2 |
| | | }, |
| | | label: { |
| | | alignTo: 'edge', |
| | | alignTo: 'labelLine', |
| | | formatter: '{name|{b}}\n{time|{c}}', |
| | | edgeDistance: 10, |
| | | lineHeight: 15, |
| | |
| | | length2: 40 |
| | | }, |
| | | data: [ |
| | | { value: 0, name: '不合格数量', itemStyle: { color: '#F56C6C' } }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#67C23A' } } |
| | | { value: 0, name: '不合格数量', itemStyle: {color: '#ff994d'} }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#9fe080' } } |
| | | ] |
| | | } |
| | | ], |
| | | conductorPieSeries: [ |
| | | { |
| | | name: 'Access From', |
| | | name: '', |
| | | type: 'pie', |
| | | radius: '70%', |
| | | center: ['50%', '50%'], |
| | |
| | | borderWidth: 2 |
| | | }, |
| | | label: { |
| | | alignTo: 'edge', |
| | | alignTo: 'labelLine', |
| | | formatter: '{name|{b}}\n{time|{c}}', |
| | | edgeDistance: 10, |
| | | lineHeight: 15, |
| | |
| | | length2: 40, |
| | | }, |
| | | data: [ |
| | | { value: 0, name: '不合格数量', itemStyle: { color: '#F56C6C' } }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#67C23A' } }, |
| | | { value: 0, name: '不合格数量', itemStyle: { color: '#ff994d' } }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#9fe080' } }, |
| | | ] |
| | | } |
| | | ], |
| | | dlanPieSeries: [ |
| | | { |
| | | name: 'Access From', |
| | | name: '', |
| | | type: 'pie', |
| | | radius: '70%', |
| | | center: ['50%', '50%'], |
| | |
| | | borderWidth: 2 |
| | | }, |
| | | label: { |
| | | alignTo: 'edge', |
| | | alignTo: 'labelLine', |
| | | formatter: '{name|{b}}\n{time|{c}}', |
| | | edgeDistance: 10, |
| | | lineHeight: 15, |
| | |
| | | length2: 40, |
| | | }, |
| | | data: [ |
| | | { value: 0, name: '不合格数量', itemStyle: { color: '#F56C6C' } }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#67C23A' } }, |
| | | { value: 0, name: '不合格数量', itemStyle: { color: '#ff994d' } }, |
| | | { value: 0, name: '合格数量', itemStyle: { color: '#9fe080' } }, |
| | | ] |
| | | } |
| | | ], |
| | |
| | | // 方法集合 |
| | | methods: { |
| | | // 获取合格率图表数据 |
| | | |
| | | setBarChartTitle() { |
| | | this.echartsOptions.title.text = `${this.inspectionTitle}合格率趋势`; |
| | | }, |
| | | |
| | | getBar() { |
| | | const types = this.currentMaterialProp.split(','); |
| | | const requests = types.map(t => { |
| | |
| | | } |
| | | }); |
| | | |
| | | const sortedDates = Object.keys(dateMap).sort(); |
| | | const weekOrderMap = { |
| | | "星期一": 0, |
| | | "星期二": 1, |
| | | "星期三": 2, |
| | | "星期四": 3, |
| | | "星期五": 4, |
| | | "星期六": 5, |
| | | "星期日": 6 |
| | | }; |
| | | const yearOrderMap = { |
| | | "1月": 0, |
| | | "2月": 1, |
| | | "3月": 2, |
| | | "4月": 3, |
| | | "5月": 4, |
| | | "6月": 5, |
| | | "7月": 6, |
| | | "8月": 7, |
| | | "9月": 8, |
| | | "10月": 9, |
| | | "11月": 10, |
| | | "12月": 11 |
| | | }; |
| | | const sortedDates = Object.keys(dateMap).sort((a, b) => { |
| | | if(a.includes("星期") && b.includes("星期")) { |
| | | return weekOrderMap[a] - weekOrderMap[b]; |
| | | } else if(a.includes("月") && b.includes("月")) { |
| | | return yearOrderMap[a] - yearOrderMap[b]; |
| | | } else { |
| | | return new Date(a) - new Date(b); |
| | | } |
| | | }); |
| | | let qualifiedData = []; |
| | | let unQualifiedData = []; |
| | | let lineData = []; |
| | | let xAxis = []; |
| | | |
| | | console.log(sortedDates) |
| | | sortedDates.forEach(date => { |
| | | const { qualified, unQualified } = dateMap[date]; |
| | | const total = qualified + unQualified; |
| | |
| | | this.echartsSeries[1].data = unQualifiedData; |
| | | this.echartsSeries[2].data = lineData; |
| | | this.xAxis[0].data = xAxis; |
| | | console.log(xAxis) |
| | | }); |
| | | }, |
| | | |
| | |
| | | "@": resolve("src"), |
| | | }, |
| | | }, |
| | | module: { |
| | | rules: [ |
| | | // JS 主体文件处理(含 Babel、Thread Loader) |
| | | { |
| | | test: /\.js$/, |
| | | use: [ |
| | | { |
| | | loader: 'thread-loader', |
| | | options: { workers: 4 } |
| | | }, |
| | | 'babel-loader' |
| | | ], |
| | | exclude: /\.worker\.js$/, // 👈 排除 worker 文件 |
| | | include: path.resolve(__dirname, 'src') |
| | | }, |
| | | |
| | | // 单独处理 Worker 文件 |
| | | { |
| | | test: /\.worker\.js$/, |
| | | use: { |
| | | loader: 'worker-loader', |
| | | options: { |
| | | filename: '[name].[contenthash].worker.js', |
| | | inline: 'fallback' |
| | | } |
| | | }, |
| | | type: 'javascript/auto' // 👈 强制 Webpack 不要按模块解析 |
| | | } |
| | | ] |
| | | }, |
| | | plugins: [ |
| | | // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 |
| | | new CompressionPlugin({ |
| | |
| | | }) |
| | | .end(); |
| | | |
| | | // 修改babel-loader配置,排除worker文件 |
| | | config.module |
| | | .rule('js') |
| | | .exclude |
| | | .add(/\.worker\.js$/) |
| | | .end(); |
| | | |
| | | // 处理worker文件 |
| | | config.module |
| | | .rule('worker') |
| | | .test(/\.worker\.js$/) |
| | | .use('worker-loader') |
| | | .loader('worker-loader') |
| | | .options({ |
| | | filename: '[name].[contenthash].worker.js', |
| | | inline: 'fallback' |
| | | }) |
| | | .end() |
| | | .type('javascript/auto') |
| | | .exclude.add(resolve('node_modules')) |
| | | .end(); |
| | | |
| | | config.when(process.env.NODE_ENV !== "development", (config) => { |
| | | config |
| | | .plugin("ScriptExtHtmlWebpackPlugin") |