|
|
@@ -7,9 +7,9 @@
|
|
|
<h1 id="title" style="margin: 0%;margin-bottom: 10px;">{{_code}}报工</h1>
|
|
|
<el-row :gutter="10" style="align-items: center; margin-bottom: 20px;">
|
|
|
<!-- 子订单编号输入框 -->
|
|
|
- <el-col :span="4" style="padding: 0px;margin: 0px;">
|
|
|
- <el-input v-model="add_searchInfo" placeholder="请扫描子订单编号"@keyup.enter="add_onSubmit" id="searchInput" style="width: 100%; height: 50px;"/>
|
|
|
- </el-col>
|
|
|
+ <!-- <el-col :span="5" style="padding: 0px;margin: 0px;"> -->
|
|
|
+ <el-input v-model="add_searchInfo" placeholder="请扫描子订单编号"@keyup.enter="add_onSubmit" id="searchInput" style="width: 295px; height: 50px;"/>
|
|
|
+ <!-- </el-col> -->
|
|
|
|
|
|
<!-- 查询按钮 -->
|
|
|
<el-col :span="1.5" style="padding: 0px;margin: 0px;">
|
|
|
@@ -46,26 +46,28 @@
|
|
|
<el-text style="font-size: 30px;">尺码</el-text>
|
|
|
</el-col>
|
|
|
<!-- 尺码输入框 -->
|
|
|
- <el-col :span="2"><el-input v-model="add_formData['尺码']" readonly style="width: 100%; height: 40px;"/></el-col>
|
|
|
+ <!--
|
|
|
+ <p style="font-size: 24px;color: red;">{{add_formData['尺码']}}</p>
|
|
|
+ -->
|
|
|
+ <el-col :span="2"><el-input v-model="add_formData['尺码']" readonly style="width: 80%; height: 40px;"/></el-col>
|
|
|
|
|
|
<el-col :span="1.5" style="padding: 0px;margin: 0px;">
|
|
|
<el-text style="font-size: 30px;">总数量</el-text>
|
|
|
</el-col>
|
|
|
<!-- 总数量输入框 -->
|
|
|
- <el-col :span="2"><el-input v-model="add_formData['总数量']" readonly style="width: 100%; height: 40px;"/></el-col>
|
|
|
+ <el-col :span="2"><el-input v-model="add_formData['总数量']" readonly style="width: 80%; height: 40px;"/></el-col>
|
|
|
|
|
|
<el-col :span="1.5" style="padding: 0px;margin: 0px;">
|
|
|
<el-text style="font-size: 30px;">剩余数量</el-text>
|
|
|
</el-col>
|
|
|
<!--剩余数量输入框 -->
|
|
|
- <el-col :span="2"><el-input v-model="add_formData['剩余数量']" readonly style="width: 100%; height: 40px;"/></el-col>
|
|
|
+ <el-col :span="2"><el-input v-model="add_formData['剩余数量']" readonly style="width: 80%; height: 40px;"/></el-col>
|
|
|
|
|
|
<el-col :span="1.5" style="padding: 0px;margin: 0px;">
|
|
|
<el-text style="font-size: 30px;">上报数量</el-text>
|
|
|
</el-col>
|
|
|
<!--上报数量输入框 -->
|
|
|
- <el-col :span="2"><el-input v-model="add_formData['上报数量']" @input="baogongslpd" id="s_num" style="width: 100%; height: 40px;"/></el-col>
|
|
|
-
|
|
|
+ <el-col :span="2"><el-input v-model="add_formData['上报数量']" @input="baogongslpd" id="s_num" style="width: 80%; height: 40px;"/></el-col>
|
|
|
|
|
|
<!-- 是否尾包文本 -->
|
|
|
<el-col :span="2.5">
|
|
|
@@ -106,65 +108,75 @@
|
|
|
:data="add_tableData" border row-key="ID" size="small"
|
|
|
highlight-current-row="true" tooltip-effect="dark"
|
|
|
@row-dblclick="add_updateCompanyFunc" @row-click="add_tableRowClick" @row-contextmenu="handleRightClick"
|
|
|
- :show-overflow-tooltip="true" @selection-change="add_xpSelectionChange">
|
|
|
- <!-- <el-table-column type="selection" width="70" /> -->
|
|
|
- <el-table-column sortable align="left" label="流水号" prop="serial" width="100"/>
|
|
|
- <el-table-column sortable align="left" label="报工时间" prop="sys_rq" width="160"/>
|
|
|
- <el-table-column sortable align="left" label="订单编号" prop="订单编号" width="130"/>
|
|
|
- <el-table-column sortable align="left" label="订单子编号" prop="子订单编号" width="140"/>
|
|
|
- <el-table-column sortable align="left" label="款式" prop="款式" width="140"/>
|
|
|
- <el-table-column sortable align="left" label="色系名称" prop="颜色" width="130"/>
|
|
|
- <el-table-column sortable align="left" label="尺码" prop="尺码" width="110"/>
|
|
|
- <el-table-column sortable align="left" label="数量" prop="数量" width="110"/>
|
|
|
- <el-table-column sortable align="left" label="上报数量" prop="上报数量" width="110"/>
|
|
|
- <el-table-column sortable align="left" label="是否尾包" prop="尾包" width="130"/>
|
|
|
- <!-- <el-table-column sortable align="left" label="组别" prop="组别" width="130"/> -->
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ @selection-change="selectionChange">
|
|
|
+ <el-table-column type="selection" width="60" />
|
|
|
+ <el-table-column align="left" label="报工时间" prop="sys_rq" width="150"/>
|
|
|
+ <el-table-column align="left" label="子订单编号" prop="子订单编号" width="130"/>
|
|
|
+ <el-table-column align="left" label="生产款号" prop="生产款号" width="120"/>
|
|
|
+ <el-table-column align="left" label="款式" prop="款式" width="100"/>
|
|
|
+ <el-table-column align="left" label="组别" prop="组别" width="80"/>
|
|
|
+ <el-table-column align="left" label="尺码" prop="尺码" width="70"/>
|
|
|
+ <el-table-column align="left" label="数量" prop="数量" width="70"/>
|
|
|
+ <el-table-column align="left" label="上报数量" prop="次品数量" width="85"/>
|
|
|
+ <el-table-column align="left" label="剩余数量" prop="剩余数量" width="85"/>
|
|
|
+ <el-table-column align="left" label="尾包" prop="尾包" width="60"/>
|
|
|
+ <el-table-column align="left" label="流水号" prop="serial" width="100"/>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
|
|
|
- <el-tab-pane label="订单资料附件" name="third">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '30px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- :cell-class-name="planUsageCellClass"
|
|
|
- highlight-current-row="true"
|
|
|
- @row-dblclick="gdbomupdateCompanyFunc"
|
|
|
- style="width: 100%;height: 36vh" border tooltip-effect="dark" :data="ddtableData" row-key="ID"
|
|
|
- @selection-change="fjSelectionChange">
|
|
|
- <el-table-column align="left" label="关联编号" prop="关联编号" width="115"/>
|
|
|
- <el-table-column align="left" label="备注" prop="附件备注" width="110"/>
|
|
|
- <el-table-column align="left" label="文件类型" prop="附件类型" width="100"/>
|
|
|
- <el-table-column align="left" label="建档时间" prop="sys_rq" width="160"/>
|
|
|
- <el-table-column align="left" label="建档用户" prop="sys_id" width="200"/>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
-
|
|
|
- <el-tab-pane label="技术附件" name="fourth">
|
|
|
- <el-table ref="multipleTable"
|
|
|
- :row-style="{ height: '30px' }"
|
|
|
- :cell-style="{ padding: '0px' }" :header-row-style="{ height: '30px' }"
|
|
|
- :header-cell-style="{ padding: '0px' }"
|
|
|
- :show-overflow-tooltip="true"
|
|
|
- :cell-class-name="planUsageCellClass"
|
|
|
- highlight-current-row="true"
|
|
|
- @row-dblclick="ExcelShow"
|
|
|
- style="width: 100%;height: 36vh" border tooltip-effect="dark" :data="jstableData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column align="left" label="关联编号" prop="关联编号" width="115"/>
|
|
|
- <el-table-column align="left" label="备注" prop="附件备注" width="110"/>
|
|
|
- <el-table-column align="left" label="文件类型" prop="附件类型" width="100"/>
|
|
|
- <el-table-column align="left" label="建档时间" prop="sys_rq" width="160"/>
|
|
|
- <el-table-column align="left" label="建档用户" prop="sys_id" width="200"/>
|
|
|
- </el-table>
|
|
|
- </el-tab-pane>
|
|
|
+ <el-tab-pane label="订单资料附件" name="third">
|
|
|
+ <el-table ref="multipleTable"
|
|
|
+ :row-style="{ height: '30px' }"
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '30px' }"
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ :cell-class-name="planUsageCellClass"
|
|
|
+ highlight-current-row="true"
|
|
|
+ @row-dblclick="gdbomupdateCompanyFunc"
|
|
|
+ style="width: 100%;height: 36vh" border tooltip-effect="dark" :data="ddtableData" row-key="ID"
|
|
|
+ @selection-change="fjSelectionChange">
|
|
|
+ <el-table-column align="left" label="关联编号" prop="关联编号" width="115"/>
|
|
|
+ <el-table-column align="left" label="备注" prop="附件备注" width="110"/>
|
|
|
+ <el-table-column align="left" label="文件类型" prop="附件类型" width="100"/>
|
|
|
+ <el-table-column align="left" label="建档时间" prop="sys_rq" width="160"/>
|
|
|
+ <el-table-column align="left" label="建档用户" prop="sys_id" width="200"/>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+
|
|
|
+ <el-tab-pane label="技术附件" name="fourth">
|
|
|
+ <el-table ref="multipleTable"
|
|
|
+ :row-style="{ height: '30px' }"
|
|
|
+ :cell-style="{ padding: '0px' }" :header-row-style="{ height: '30px' }"
|
|
|
+ :header-cell-style="{ padding: '0px' }"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ :cell-class-name="planUsageCellClass"
|
|
|
+ highlight-current-row="true"
|
|
|
+ @row-dblclick="ExcelShow"
|
|
|
+ style="width: 100%;height: 36vh" border tooltip-effect="dark" :data="jstableData" row-key="ID" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column align="left" label="关联编号" prop="关联编号" width="115"/>
|
|
|
+ <el-table-column align="left" label="备注" prop="附件备注" width="110"/>
|
|
|
+ <el-table-column align="left" label="文件类型" prop="附件类型" width="100"/>
|
|
|
+ <el-table-column align="left" label="建档时间" prop="sys_rq" width="160"/>
|
|
|
+ <el-table-column align="left" label="建档用户" prop="sys_id" width="200"/>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</el-row>
|
|
|
</el-main>
|
|
|
</layout-content>
|
|
|
<div class="dialog-footer" style="text-align: left;margin-right: 60px;">
|
|
|
- <el-button type="primary" @click="add_Dialog" id="add_Dialog" :disabled="add_Dialogonclick === false" style="width: 110px;height: 60px;font-size: 20px;margin-left: 20px;">报工</el-button>
|
|
|
- <el-button type="primary" @click="gd_yulan" style="width: 100px;height: 60px;font-size: 20px;">订单表预览</el-button>
|
|
|
+ <el-button type="danger" icon="delete" @click="del_delclick"
|
|
|
+ v-if="delall === true" :disabled="Selection === ''"
|
|
|
+ :style="{
|
|
|
+ backgroundColor: Selection === '' ? '' : 'red',
|
|
|
+ borderColor: Selection === '' ? '' : 'red',
|
|
|
+ color: Selection === '' ? '' : '#fff'
|
|
|
+ }"
|
|
|
+ style="width: 110px;height: 60px; font-size: 20px; margin-left: 30px;">删除报工</el-button>
|
|
|
+ <el-button type="primary" @click="gd_yulan" style="width: 100px;height: 60px;font-size: 20px;">订单表预览</el-button>
|
|
|
+ <el-button type="primary" @click="add_Dialog" id="add_Dialog" :disabled="add_Dialogonclick === false"
|
|
|
+ style="width: 110px;height: 60px;font-size: 20px;margin-left: 20px;">报工</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- </el-main> -->
|
|
|
@@ -235,7 +247,7 @@ import LuckyExcel from 'luckyexcel';
|
|
|
import { Layout, LayoutSider, LayoutContent } from '@arco-design/web-vue';
|
|
|
import {hiprint} from "vue-plugin-hiprint";
|
|
|
import {ref, reactive,nextTick,watch, setBlockTracking } from 'vue'
|
|
|
-import {getSpotList,search,getTab,OrderAttachments,getTabByGdbh } from '@/api/mes/job'
|
|
|
+import {getSpotList,search,getTab,OrderAttachments,getTabByGdbh,spotcheckdel } from '@/api/mes/job'
|
|
|
import {getMachineMac} from '@/api/jixiaoguanli/jitairibaobiao'
|
|
|
import {getMac} from '@/api/jixiaoguanli/baogong'
|
|
|
import PrintPage from '../yunyin/shengchanguanli/components/print.vue';
|
|
|
@@ -263,12 +275,12 @@ const printPageRef = ref()
|
|
|
|
|
|
//全局获取code,接口接收code
|
|
|
const _code = '包装'
|
|
|
+//全局获取工序
|
|
|
+const _gx = '7'
|
|
|
//全局接口接受的物理地址
|
|
|
const Machine = ref('')
|
|
|
//全局获取UniqId
|
|
|
const UniqId = ref('')
|
|
|
-//全局获取工序
|
|
|
-const _gx = '7'
|
|
|
//全局获取工序名称
|
|
|
const _gxmc = _code
|
|
|
const add_formData = reactive({
|
|
|
@@ -379,7 +391,11 @@ const add_onSubmit = async ()=>{
|
|
|
_order.value = add_searchInfo.value;
|
|
|
//获取下面报工历史记录
|
|
|
const getSpotLists = await getSpotList({order:add_searchInfo.value,code:_code,sys_sbID:add_formData['机台号']});
|
|
|
- console.log(getSpotLists)
|
|
|
+ cconsole.log("getSpotLists.data.result.ci_num::",getSpotLists.data.result.ci_num)
|
|
|
+ if(getSpotLists.data.result.ci_num === 0 || getSpotLists.data.result.ci_num === '0'){
|
|
|
+ ElMessage({type: 'error',message: '已上报,无需再次报工' })
|
|
|
+ add_searchInfo.value = ''
|
|
|
+ }
|
|
|
if(getSpotLists.data === null){
|
|
|
add_searchInfo.value = ''
|
|
|
add_formData['尺码'] = ''
|
|
|
@@ -410,98 +426,155 @@ const add_onSubmit = async ()=>{
|
|
|
}
|
|
|
//订单资料excel展示
|
|
|
const gdbomupdateCompanyFunc = (row) =>{
|
|
|
- const { url } = row
|
|
|
- const excelPath = `/${url.replace(/\\/g,"/")}`
|
|
|
- const excelName = excelPath.split('/').pop()
|
|
|
- $.getScript('/luckysheet/plugins/js/plugin.js', () => {
|
|
|
- $script('/luckysheet/luckysheet.umd.js', () => {
|
|
|
- luckyexcelVisible.value = true
|
|
|
- LuckyExcel.transformExcelToLuckyByUrl(
|
|
|
- excelPath,
|
|
|
- excelName,
|
|
|
- function(exportJson, luckysheetfile){
|
|
|
- if(exportJson.sheets==null || exportJson.sheets.length==0){
|
|
|
- alert("Failed to read the content of the excel file, currently does not support xls files!");
|
|
|
- return;
|
|
|
- }
|
|
|
- if(luckyExcel) luckyExcel.destroy();
|
|
|
- luckysheet.create({
|
|
|
- container: 'luckyexcel', //容器的ID
|
|
|
- data: exportJson.sheets,
|
|
|
- title: exportJson.info.name, // 工作簿名称
|
|
|
- lang: "zh", // 设定表格语言 国际化设置,允许设置表格的语言,支持中文("zh")和英文("en")
|
|
|
- showtoolbar: false, // 是否显示工具栏
|
|
|
- showinfobar: false, // 是否显示顶部信息栏
|
|
|
- allowEdit: false, // 是否允许前台编辑
|
|
|
- enableAddRow: false, // 允许增加行
|
|
|
- enableAddCol: false, // 允许增加列
|
|
|
- userInfo: false, // 右上角的用户信息展示样式
|
|
|
- showRowBar: false, // 是否显示行号区域
|
|
|
- showColumnBar: false, // 是否显示列号区域
|
|
|
- sheetFormulaBar: false, // 是否显示公式栏
|
|
|
- enableAddBackTop: false,//返回头部按钮
|
|
|
- });
|
|
|
- luckyExcel = luckysheet;
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/css/pluginsCss.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/plugins.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/css/luckysheet.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/assets/iconfont/iconfont.css'));
|
|
|
+// 加载插件和样式
|
|
|
+ const loadScriptsAndStyles = () => {
|
|
|
+ $.getScript('/luckysheet/plugins/js/plugin.js', () => {
|
|
|
+ $script('/luckysheet/luckysheet.umd.js', () => {
|
|
|
+ initializeLuckysheet();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ const styles = [
|
|
|
+ '/luckysheet/plugins/css/pluginsCss.css',
|
|
|
+ '/luckysheet/plugins/plugins.css',
|
|
|
+ '/luckysheet/css/luckysheet.css',
|
|
|
+ '/luckysheet/assets/iconfont/iconfont.css'
|
|
|
+ ];
|
|
|
+
|
|
|
+ styles.forEach(style => {
|
|
|
+ $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', style));
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ // 初始化 Luckysheet
|
|
|
+ const initializeLuckysheet = () => {
|
|
|
+ const callback = (exportJson, luckysheetfile) => {
|
|
|
+ if (!exportJson.sheets || exportJson.sheets.length === 0) {
|
|
|
+ alert("Failed to read the content of the excel file, currently does not support xls files!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (luckyExcel) luckyExcel.destroy();
|
|
|
+ luckysheet.create({
|
|
|
+ container: 'luckyexcel',
|
|
|
+ data: exportJson.sheets,
|
|
|
+ title: exportJson.info.name,
|
|
|
+ lang: "zh",
|
|
|
+ showtoolbar: false,
|
|
|
+ showinfobar: false,
|
|
|
+ allowEdit: false,
|
|
|
+ enableAddRow: false,
|
|
|
+ enableAddCol: false,
|
|
|
+ userInfo: false,
|
|
|
+ showRowBar: false,
|
|
|
+ showColumnBar: false,
|
|
|
+ sheetFormulaBar: false,
|
|
|
+ enableAddBackTop: false,
|
|
|
+ });
|
|
|
+ luckyExcel = luckysheet;
|
|
|
+ };
|
|
|
+
|
|
|
+ if (row['url'] === null || row['url'] === '') {
|
|
|
+ const blob = dataURLtoBlob(row.附件内容);
|
|
|
+ luckyexcelVisible.value = true;
|
|
|
+ LuckyExcel.transformExcelToLucky(blob, callback);
|
|
|
+ } else {
|
|
|
+ const excelPath = `/${row.url.replace(/\\/g, "/")}`;
|
|
|
+ const excelName = excelPath.split('/').pop();
|
|
|
+ luckyexcelVisible.value = true;
|
|
|
+ LuckyExcel.transformExcelToLuckyByUrl(excelPath, excelName, callback);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // Data URL 转 Blob
|
|
|
+ const dataURLtoBlob = (dataUrl) => {
|
|
|
+ const byteString = atob(dataUrl.split(',')[1]);
|
|
|
+ const ab = new ArrayBuffer(byteString.length);
|
|
|
+ const ia = new Uint8Array(ab);
|
|
|
+
|
|
|
+ for (let i = 0; i < byteString.length; i++) {
|
|
|
+ ia[i] = byteString.charCodeAt(i);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Blob([ab], { type: 'application/octet-stream' });
|
|
|
+ };
|
|
|
+
|
|
|
+ loadScriptsAndStyles();
|
|
|
}
|
|
|
//技术资料excel展示
|
|
|
const ExcelShow = (row) =>{
|
|
|
- console.log("技术资料excel展示")
|
|
|
- console.log(row)
|
|
|
- if(!row.附件内容) return
|
|
|
- $.getScript('/luckysheet/plugins/js/plugin.js', () => {
|
|
|
- $script('/luckysheet/luckysheet.umd.js', () => {
|
|
|
- function dataURLtoBlob(dataUrl) {
|
|
|
- const byteString = atob(dataUrl.split(',')[1]);
|
|
|
- const ab = new ArrayBuffer(byteString.length);
|
|
|
- const ia = new Uint8Array(ab);
|
|
|
-
|
|
|
- for (let i = 0; i < byteString.length; i++) {
|
|
|
- ia[i] = byteString.charCodeAt(i);
|
|
|
- }
|
|
|
-
|
|
|
- return new Blob([ab], { type: 'application/octet-stream' });
|
|
|
- }
|
|
|
-
|
|
|
- const blob = dataURLtoBlob(row.附件内容);
|
|
|
- luckyexcelVisible.value = true
|
|
|
- LuckyExcel.transformExcelToLucky(blob, function(exportJson, luckysheetfile){
|
|
|
- if(exportJson.sheets==null || exportJson.sheets.length==0){
|
|
|
- alert("Failed to read the content of the excel file, currently does not support xls files!");
|
|
|
- return;
|
|
|
- }
|
|
|
- if(luckyExcel) luckyExcel.destroy();
|
|
|
- luckysheet.create({
|
|
|
- container: 'luckyexcel', //容器的ID
|
|
|
- data: exportJson.sheets,
|
|
|
- title: exportJson.info.name, // 工作簿名称
|
|
|
- lang: "zh", // 设定表格语言 国际化设置,允许设置表格的语言,支持中文("zh")和英文("en")
|
|
|
- showtoolbar: false, // 是否显示工具栏
|
|
|
- showinfobar: false, // 是否显示顶部信息栏
|
|
|
- allowEdit: false, // 是否允许前台编辑
|
|
|
- enableAddRow: false, // 允许增加行
|
|
|
- enableAddCol: false, // 允许增加列
|
|
|
- userInfo: false, // 右上角的用户信息展示样式
|
|
|
- showRowBar: false, // 是否显示行号区域
|
|
|
- showColumnBar: false, // 是否显示列号区域
|
|
|
- sheetFormulaBar: false, // 是否显示公式栏
|
|
|
- enableAddBackTop: false,//返回头部按钮
|
|
|
- });
|
|
|
- luckyExcel = luckysheet;
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/css/pluginsCss.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/plugins.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/css/luckysheet.css'));
|
|
|
- $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/assets/iconfont/iconfont.css'));
|
|
|
-
|
|
|
+ // 加载插件和样式
|
|
|
+ const loadScriptsAndStyles = () => {
|
|
|
+ $.getScript('/luckysheet/plugins/js/plugin.js', () => {
|
|
|
+ $script('/luckysheet/luckysheet.umd.js', () => {
|
|
|
+ initializeLuckysheet();
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ const styles = [
|
|
|
+ '/luckysheet/plugins/css/pluginsCss.css',
|
|
|
+ '/luckysheet/plugins/plugins.css',
|
|
|
+ '/luckysheet/css/luckysheet.css',
|
|
|
+ '/luckysheet/assets/iconfont/iconfont.css'
|
|
|
+ ];
|
|
|
+
|
|
|
+ styles.forEach(style => {
|
|
|
+ $('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', style));
|
|
|
+ });
|
|
|
+ };
|
|
|
+
|
|
|
+ // 初始化 Luckysheet
|
|
|
+ const initializeLuckysheet = () => {
|
|
|
+ const callback = (exportJson, luckysheetfile) => {
|
|
|
+ if (!exportJson.sheets || exportJson.sheets.length === 0) {
|
|
|
+ alert("Failed to read the content of the excel file, currently does not support xls files!");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (luckyExcel) luckyExcel.destroy();
|
|
|
+ luckysheet.create({
|
|
|
+ container: 'luckyexcel',
|
|
|
+ data: exportJson.sheets,
|
|
|
+ title: exportJson.info.name,
|
|
|
+ lang: "zh",
|
|
|
+ showtoolbar: false,
|
|
|
+ showinfobar: false,
|
|
|
+ allowEdit: false,
|
|
|
+ enableAddRow: false,
|
|
|
+ enableAddCol: false,
|
|
|
+ userInfo: false,
|
|
|
+ showRowBar: false,
|
|
|
+ showColumnBar: false,
|
|
|
+ sheetFormulaBar: false,
|
|
|
+ enableAddBackTop: false,
|
|
|
+ });
|
|
|
+ luckyExcel = luckysheet;
|
|
|
+ };
|
|
|
+
|
|
|
+ if (row['url'] === null || row['url'] === '') {
|
|
|
+ const blob = dataURLtoBlob(row.附件内容);
|
|
|
+ luckyexcelVisible.value = true;
|
|
|
+ LuckyExcel.transformExcelToLucky(blob, callback);
|
|
|
+ } else {
|
|
|
+ const excelPath = `/${row.url.replace(/\\/g, "/")}`;
|
|
|
+ const excelName = excelPath.split('/').pop();
|
|
|
+ luckyexcelVisible.value = true;
|
|
|
+ LuckyExcel.transformExcelToLuckyByUrl(excelPath, excelName, callback);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ // Data URL 转 Blob
|
|
|
+ const dataURLtoBlob = (dataUrl) => {
|
|
|
+ const byteString = atob(dataUrl.split(',')[1]);
|
|
|
+ const ab = new ArrayBuffer(byteString.length);
|
|
|
+ const ia = new Uint8Array(ab);
|
|
|
+
|
|
|
+ for (let i = 0; i < byteString.length; i++) {
|
|
|
+ ia[i] = byteString.charCodeAt(i);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Blob([ab], { type: 'application/octet-stream' });
|
|
|
+ };
|
|
|
+
|
|
|
+ loadScriptsAndStyles();
|
|
|
}
|
|
|
|
|
|
let luckyExcel = null
|
|
|
@@ -568,48 +641,20 @@ console.log(UniqId.value)
|
|
|
params.s_num = add_formData['上报数量']
|
|
|
params.ci_num = add_formData['剩余数量']
|
|
|
console.log(params)
|
|
|
-
|
|
|
- // 记录每一次上报数据信息日志
|
|
|
- // let datalog = {};
|
|
|
- // datalog.code = _code;
|
|
|
- // datalog.订单编号 = _list.value.订单编号;
|
|
|
- // datalog.子订单编号 = _list.value.order;
|
|
|
- // datalog.款号 = _list.value.生产款号;
|
|
|
- // datalog.款式 = _list.value.款式;
|
|
|
- // datalog.颜色 = _list.value.颜色;
|
|
|
- // datalog.上报时间 = currentDate;
|
|
|
- // datalog.上报数量 = add_formData['上报数量'];
|
|
|
- // // 记录总实裁数
|
|
|
- // datalog.sctotal = _list.value.sctotal;
|
|
|
- // datalog.zdtotal = _list.value.zdtotal;
|
|
|
- // datalog['组别'] = add_formData['组别'];
|
|
|
-
|
|
|
- // console.log(_list)
|
|
|
- // console.log(datalog)
|
|
|
- // const getTabByGdbhs = await getTabByGdbh(datalog);
|
|
|
- // return false;
|
|
|
const cf_gettab = await search(params); // 调用search函数
|
|
|
if (cf_gettab.code === 0) {
|
|
|
- // const firstPart = add_searchInfo.value.split(',')[0];
|
|
|
- //上报后历史记录表格刷新
|
|
|
- const lsjltable = await getTab({order_id:_order.value.split(',')[0],sczl_jtbh:add_formData['机台号']});
|
|
|
- add_tableData.splice(0,add_tableData.length,...lsjltable.data.records);
|
|
|
- // //上报后刷新表格数据
|
|
|
- // const getSpotLists = await getSpotList({order:_order.value.split(',')[0],code:_code,sys_sbID:sys_sbID});
|
|
|
- // add_tableData.splice(0,add_tableData.length,...getSpotLists.data.records);
|
|
|
+ add_onSubmit();
|
|
|
add_searchInfo.value = '';
|
|
|
setTimeout(() => {
|
|
|
const inputElement = document.getElementById('searchInput');
|
|
|
if (inputElement) {
|
|
|
inputElement.focus();
|
|
|
}
|
|
|
- }, 100); // 延迟100毫秒
|
|
|
- // searcs.value = '';
|
|
|
+ }, 100);
|
|
|
add_formData['尺码']=''
|
|
|
add_formData['总数量']=''
|
|
|
add_formData['上报数量']=''
|
|
|
add_formData['剩余数量']=''
|
|
|
- // searcs.value = 1;
|
|
|
add_searchInfo.value = ''
|
|
|
ElMessage({type: 'success', message: '报工成功'});
|
|
|
}
|
|
|
@@ -691,6 +736,24 @@ const table_selectrows = ref([]);
|
|
|
const table_SelectionChange = (val) => {
|
|
|
table_selectrows.value = val; // 将选中的行数据保存到 table_selectrows
|
|
|
}
|
|
|
+
|
|
|
+//报工删除
|
|
|
+const delall = ref(true)
|
|
|
+const Selection = ref('')
|
|
|
+const selectionChange = (selection, type) => {
|
|
|
+ console.log(selection)
|
|
|
+ const ids = selection.map(item => {
|
|
|
+ return item.UniqId
|
|
|
+ })
|
|
|
+ Selection.value = ids.join(',')
|
|
|
+}
|
|
|
+const del_delclick = async () => {
|
|
|
+ console.log(Selection.value)
|
|
|
+ console.log(add_formData['组别'])
|
|
|
+ const res1 = await spotcheckdel({UniqId:Selection.value,sys_id:add_formData['组别']})
|
|
|
+ res1.code === 0 && ElMessage.success('删除成功')
|
|
|
+ add_onSubmit()
|
|
|
+}
|
|
|
|
|
|
|
|
|
// =========== 分页 ===========
|