chenlu
2024-10-11 82a5de6d2ec80b45660149c84be28734032562f6
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -9,10 +9,15 @@
import {changeFilterEvent, filterChanged} from "@/hook"
import footSum from "@/hook/footSum"
import TagStyle from "@/components/pp/TagStyle.vue"
import PrintCustomLabelXJTwo from '@/components/pp/PrintCustomLabelXJTwo.vue'
import {Printer} from "@element-plus/icons-vue/global";
import companyInfo from "@/stores/sd/companyInfo"
//语言获取
const {t} = useI18n()
let router = useRouter()
const dialogTableVisibleLabelXJTwo = ref(false)
let rowClickIndex = ref(null)
@@ -20,6 +25,17 @@
let produceList = ref([])
let titleStyleVisible = ref(false)
//标签
let labelRow = ref({
  list: null,//勾选的数据
  faceOrientation: null,//内外面
  type: "",//标签模板
  lableType: null,//标签类型
  dataType: 0,//标签类型
  projectNo:null
})
const company = companyInfo()
let hidePrintLabels = company.printLabel.hideButton;
const form = reactive({
  date1: '',
@@ -83,6 +99,17 @@
request.post(`/processCard/selectPrintPrintProject/${startTime}/${endTime}`, filterData.value).then((res) => {
  if (res.code == 200) {
    if(hidePrintLabels=="true"){
      const button = {'code': 'printLabel',
        status: 'primary',
        'name': "成品打印2"}
      gridOptions.toolbarConfig.buttons.push(button)
      const button2 = {'code': 'detailPrinting',
        status: 'primary',
        'name': "明细打印"}
      gridOptions.toolbarConfig.buttons.push(button2)
    }
    produceList.value = deepClone(res.data.data)
    xGrid.value.reloadData(produceList.value)
    gridOptions.loading = false
@@ -202,10 +229,40 @@
          titleStyleVisible.value = true
          break
        }
        case 'printLabel': {
          if(rowClickIndex.value===null){
            ElMessage.warning(t('请选择工程'))
            return
          }
          labelRow.value.type = '恒鑫'
          labelRow.value.dataType=2
          labelRow.value.projectNo=rowClickIndex.value.project_no
          dialogTableVisibleLabelXJTwo.value = true
          break
        }
        case 'detailPrinting': {
          if(rowClickIndex.value===null){
            ElMessage.warning(t('请选择工程'))
            return
          }
          router.push({path: '/main/processCard/PrintProjectDetails', query: {projectNo: rowClickIndex.value.project_no}})
          //dialogTableVisibleLabelXJTwo.value = true
          break
        }
      }
    }
  },
  cellClick({ row }){
    rowClickIndex.value = row
  }
}
const printContentLabel = ref({
  id: 'childLabel',
})
</script>
@@ -275,6 +332,23 @@
        v-model="titleStyleVisible">
      <tag-style style="width: 100%;height: 100%"/>
    </el-dialog>
    <el-dialog
        id="sizeCustom"
        v-model="dialogTableVisibleLabelXJTwo"
        :title="$t('processCard.printLabel')"
        destroy-on-close
        style="width: 80%;height:75%;overflow: auto ">
      <template #header="{ close, titleId, titleClass }">
        <el-button v-print="printContentLabel" :icon="Printer" circle/>
      </template>
      <print-custom-label-x-j-two id="childLabel"
                                  :faceOrientation="labelRow.faceOrientation"
                                  :type="labelRow.type"
                                  :dataType="labelRow.dataType"
                                  :projectNo="labelRow.projectNo"
                                  style="width: 100%;height: 100%"/>
    </el-dialog>
  </div>
</template>