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: '',
@@ -29,7 +45,11 @@
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' :{
      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no }})
      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }})
      break
    }
    case 'edit1' :{
      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:2 }})
      break
    }
  }
@@ -56,7 +76,7 @@
//获取七天前到当前时间
function getNowTime() {
  const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 7)
  const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 15)
      .toISOString()
      .replace('T', ' ')
      .slice(0, 10) //默认开始时间7天前
@@ -79,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
@@ -138,11 +169,11 @@
  //表头参数
  columns: [
    {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
    {title: t('basicData.operate'), width: 80, slots: { default: 'button_slot' },fixed:"left"},
    {title: t('basicData.operate'), width: 120, slots: { default: 'button_slot' },fixed:"left"},
    {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
    {
      field: 'project_no',
      title: '工程号',
      title: t('ingredientsStock.projectNo'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      filterMethod: filterChanged
@@ -198,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>
@@ -231,7 +292,6 @@
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        max-height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
@@ -249,7 +309,8 @@
      </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <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>
      </template>
      <template #num1_filter="{ column, $panel }">
@@ -271,13 +332,30 @@
        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>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
  height: 93%;
}
#selectForm {
  width: 60%;