| | |
| | | <script lang="ts" setup> |
| | | import {reactive, ref} from "vue"; |
| | | import {onMounted, reactive, ref} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | import request from "@/utils/request"; |
| | | import deepClone from "@/utils/deepClone"; |
| | |
| | | import {Printer} from "@element-plus/icons-vue/global"; |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | | import {remove} from "xe-utils"; |
| | | import PrintCustomLabelProject from "@/components/pp/PrintCustomLabelProject.vue"; |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | |
| | | let router = useRouter() |
| | | const dialogTableVisibleLabelXJTwo = ref(false) |
| | | const dialogTableVisibleLabelProject = ref(false) |
| | | let rowClickIndex = ref(null) |
| | | let lastList = ref([]) |
| | | |
| | | const tags = ref([]) |
| | | |
| | | const tagType=ref() |
| | | |
| | | //定义数据返回结果 |
| | | let produceList = ref([]) |
| | | let titleStyleVisible = ref(false) |
| | | let print = ref("1") |
| | | |
| | | |
| | | |
| | | //标签 |
| | | let labelRow = ref({ |
| | |
| | | type: "",//标签模板 |
| | | lableType: null,//标签类型 |
| | | dataType: 0,//标签类型 |
| | | projectNo:null |
| | | projectNo:null, |
| | | detailType:0//是否是工程明细打印 |
| | | }) |
| | | const company = companyInfo() |
| | | let name=company.companyName |
| | | let hidePrintLabels = company.printLabel.hideButton; |
| | | |
| | | const form = reactive({ |
| | |
| | | orderId: '', |
| | | project: '' |
| | | }) |
| | | |
| | | const tag = ref({ |
| | | id:null, |
| | | name:null, |
| | | type:1, |
| | | tagWidth:null, |
| | | tagHeight:null, |
| | | value:null, |
| | | size:null |
| | | |
| | | }) |
| | | |
| | | onMounted(async () => { |
| | | await getTags(); |
| | | await hiprint.init(); |
| | | }) |
| | | let hiprintTemplate = ref() |
| | | const changeTag = () => { |
| | | hiprintTemplate.value = new hiprint.PrintTemplate({}); |
| | | const json = JSON.parse(tag.value.value) |
| | | hiprintTemplate.value.update(json) |
| | | } |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | if(parseInt(print.value)==1){ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }}) |
| | | if (name.indexOf('吉利玻璃')!=-1){ |
| | | router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }}) |
| | | } |
| | | else { |
| | | if (tag.value.name==null || tag.value.name==''){ |
| | | ElMessage.warning(t('请选择标签模板')) |
| | | return |
| | | } |
| | | let name=company.companyName |
| | | labelRow.value.list = JSON.stringify([row]) |
| | | if (name == '金华福喜天成玻璃有限公司'){ |
| | | labelRow.value.type = tag.value.name |
| | | labelRow.value.dataType=3 |
| | | labelRow.value.lableType = 1 |
| | | labelRow.value.switch=true |
| | | labelRow.value.detailType=1 |
| | | lastList.value = [] |
| | | dialogTableVisibleLabelProject.value = true |
| | | } |
| | | else { |
| | | labelRow.value.type = '恒鑫带数量' |
| | | labelRow.value.dataType=3 |
| | | dialogTableVisibleLabelXJTwo.value = true |
| | | } |
| | | } |
| | | |
| | | |
| | | return |
| | | }else{ |
| | | router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: { projectNo: row.project_no,type:1 }}) |
| | | } |
| | |
| | | let endTime = form.date1[1] |
| | | let orderId=form.orderId |
| | | let project=form.project |
| | | |
| | | const getTags = () => { |
| | | request.get('tagStyle/getTagList').then(res => { |
| | | tags.value = res.data |
| | | }) |
| | | } |
| | | |
| | | //第一次加载数据 |
| | | |
| | |
| | | id: 'childLabel', |
| | | }) |
| | | |
| | | const hideButton = () => { |
| | | let name=company.companyName |
| | | // 根据条件值 hidePrintLabels 过滤按钮数组 |
| | | gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => { |
| | | // 这里根据 hidePrintLabels 的值决定是否隐藏 printLabel 和 printLabel2 |
| | | if (name == '金华福喜天成玻璃有限公司') { |
| | | return button.code !== 'printLabel'; |
| | | } |
| | | }) |
| | | const printObjectProcess = () => { |
| | | hiprintTemplate.value.print(lastList.value) |
| | | } |
| | | </script> |
| | | |
| | |
| | | :icon="Search" |
| | | type="primary" @click="getWorkOrder">{{ $t('basicData.search') }} |
| | | </el-button> |
| | | |
| | | |
| | | <el-row v-if="name.indexOf('吉利玻璃')==-1"> |
| | | 标签模板: |
| | | <el-select v-model="tag" @change="changeTag" placeholder="标签模板列表" style="width: 140px" > |
| | | <el-option |
| | | v-for="(tag,index) in tags" |
| | | :key="index" |
| | | :label="tag.name" |
| | | :value="tag" |
| | | /> |
| | | </el-select> |
| | | </el-row> |
| | | </el-row> |
| | | <el-row> |
| | | |
| | | </el-row> |
| | | <div> |
| | | |
| | | </div> |
| | | </div> |
| | | <vxe-grid |
| | | ref="xGrid" |
| | |
| | | </template> |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button> |
| | | <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button> |
| | | <el-button v-if="name.indexOf('吉利玻璃')!=-1" @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button> |
| | | <el-button v-else @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button> |
| | | <el-button v-if="name.indexOf('吉利玻璃')!=-1" @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | |
| | | :projectNo="labelRow.projectNo" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | |
| | | <!-- 成品标签工程打印--> |
| | | <el-dialog |
| | | id="sizeCustom" |
| | | v-model="dialogTableVisibleLabelProject" |
| | | :title="$t('processCard.printLabel')" |
| | | destroy-on-close |
| | | style="width: 80%;height:75% "> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button @click="printObjectProcess" :icon="Printer" circle/> |
| | | </template> |
| | | <print-custom-label-project id="childLabel" |
| | | |
| | | :lastList = 'lastList' |
| | | :faceOrientation="labelRow.faceOrientation" |
| | | :lableType="labelRow.lableType" |
| | | :list="labelRow.list" |
| | | :type="labelRow.type" |
| | | :titleList="labelRow.titleList" |
| | | :switch="labelRow.switch" |
| | | :detailType="labelRow.detailType" |
| | | |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | height: 93%; |
| | | } |
| | | #selectForm { |
| | | width: 60%; |
| | | width: 50%; |
| | | } |
| | | :deep(#titleStyle .el-dialog__body){ |
| | | height: 90%; |