张诺
2025-05-22 802d79f7e35251f2f0eea3774a9157715e01526d
采购管理=》来票登记、来票账单 前端联调
已修改4个文件
104 ■■■■■ 文件已修改
src/main.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/index.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/index.vue 58 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vite.config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js
@@ -61,7 +61,7 @@
app.config.globalProperties.addDateRange = addDateRange
app.config.globalProperties.selectDictLabel = selectDictLabel
app.config.globalProperties.selectDictLabels = selectDictLabels
app.config.globalProperties.javaApi = 'http://192.168.1.36:8080'
app.config.globalProperties.javaApi = 'http://192.168.1.35:8080'
app.config.globalProperties.HaveJson = (val) => {
  return JSON.parse(JSON.stringify(val));
};
src/views/procurementManagement/invoiceEntry/index.vue
@@ -43,11 +43,11 @@
        <el-table-column label="供应商名称" prop="supplierName" show-overflow-tooltip />
        <el-table-column label="项目名称" prop="projectName" show-overflow-tooltip />
        <el-table-column label="合同金额(元)" prop="contractAmount" show-overflow-tooltip :formatter="formattedNumber" />
        <el-table-column fixed="right" label="操作" min-width="60" align="center">
        <!-- <el-table-column fixed="right" label="操作" min-width="60" align="center">
          <template #default="scope">
            <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button>
          </template>
        </el-table-column>
        </el-table-column> -->
      </el-table>
      <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
        :page="page.current" :limit="page.size" @pagination="paginationChange" />
@@ -99,8 +99,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="开票日期:" prop="issueDate">
              <el-date-picker disabled style="width: 100%" v-model="form.issueDate" value-format="YYYY-MM-DD"
                format="YYYY-MM-DD" type="date" placeholder="请选择" clearable />
                <el-date-picker disabled style="width: 100%" v-model="form.issueDate" type="date" clearable />
            </el-form-item>
          </el-col>
        </el-row>
@@ -184,6 +183,7 @@
    purchaseContractNumber: '',
  },
  form: {
    issueDate:"",// 开票日期
    purchaseLedgerId: '',
    purchaseLedgerNo: '',
    issUerId: '', // 开票人id
@@ -229,7 +229,7 @@
};
// 表格选择数据
const handleSelectionChange = (selection) => {
  selectedRows.value = selection
  selectedRows.value = selection.filter(item => item.purchaseContractNumber !== undefined);
}
const productSelected = (selectedRows) => {
  productSelectedRows.value = selectedRows
@@ -285,6 +285,7 @@
  fileList.value = []
  form.value.issUerId = userStore.id
  form.value.issUer = userStore.name
  form.value.issueDate = getNowFormatDate()
  userListNoPage().then(res => {
    userList.value = res.data
  })
@@ -292,11 +293,12 @@
  if (type === 'add' && row && row.id) {
    form.value.purchaseLedgerId = row.id
    getPurchaseNoById({ id: row.id }).then(res => {
      purchaseLedgerList.value = res,
        form.value.purchaseLedgerNo = res.purchaseContractNumber;
        form.value.invoiceAmount = res.invoiceAmount;
        form.value.invoiceNumber = res.invoiceNumber;
      setInfo(res.id)
      let result = res.data
      purchaseLedgerList.value = result,
        form.value.purchaseLedgerNo = result.purchaseContractNumber;
        form.value.invoiceAmount = result.invoiceAmount;
        form.value.invoiceNumber = result.invoiceNumber;
      setInfo(result.id)
    })
  } else {
    getProduct().then(res => {
@@ -320,10 +322,11 @@
// 选择采购合同号赋值
const setInfo = (value) => {
  getInfo({ id: value }).then(res => {
    form.value.salesContractNo = res.salesContractNo
    form.value.projectName = res.projectName
    productData.value = res.productData
    form.value.supplierName = res.supplierName
    let result = res.data
    form.value.salesContractNo = result.salesContractNo
    form.value.projectName = result.projectName
    productData.value = result.productData
    form.value.supplierName = result.supplierName
  })
}
// 提交表单
@@ -408,6 +411,17 @@
  // 计算未开票金额
  row.futureTicketsAmount = row.futureTickets * row.taxInclusiveUnitPrice
}
// 获取当前日期函数
function getNowFormatDate() {
  let date = new Date(),
    year = date.getFullYear(), //获取完整的年份(4位)
    month = date.getMonth() + 1, //获取当前月份(0-11,0代表1月)
    strDate = date.getDate() // 获取当前日(1-31)
  if (month < 10) month = `0${month}` // 如果月份是个位数,在前面补0
  if (strDate < 10) strDate = `0${strDate}` // 如果日是个位数,在前面补0
  return `${year}-${month}-${strDate}`
}
getList()
</script>
src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -33,9 +33,9 @@
        <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
      </div>
      <div>
        <el-button type="primary" @click="openForm('add')">新增台账</el-button>
        <!-- <el-button type="primary" @click="openForm('add')">新增台账</el-button> -->
        <el-button @click="handleOut">导出</el-button>
        <el-button type="danger" plain @click="handleDelete">删除</el-button>
        <!-- <el-button type="danger" plain @click="handleDelete">删除</el-button> -->
      </div>
    </div>
    <div class="table_list">
@@ -47,7 +47,7 @@
                height="calc(100vh - 18.5em)">
        <el-table-column align="center" type="selection" width="55" />
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="采购合同号" prop="purchaseContractNo" show-overflow-tooltip/>
        <el-table-column label="采购合同号" prop="purchaseContractNumber" show-overflow-tooltip/>
        <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip/>
        <el-table-column label="供应商名称" prop="supplierName" show-overflow-tooltip/>
        <el-table-column label="发票号" prop="invoiceNumber" show-overflow-tooltip/>
@@ -55,27 +55,32 @@
        <el-table-column label="税率(%)" prop="taxRate" show-overflow-tooltip/>
        <el-table-column label="开票人" prop="issUer" show-overflow-tooltip/>
        <el-table-column label="开票日期" prop="issueDate" show-overflow-tooltip/>
        <el-table-column label="发票" prop="fileName" show-overflow-tooltip>
        <!-- <el-table-column label="发票" prop="fileName" show-overflow-tooltip>
          <template #default="scope">
            <span v-if="scope.row.fileName">{{ scope.row.fileName }}</span>
            <el-button v-else link type="primary" @click="handleDownload(scope.row)">上传</el-button>
          </template>
        </el-table-column>
        <el-table-column fixed="right" label="操作" min-width="60" align="center">
        </el-table-column> -->
        <!-- <el-table-column fixed="right" label="操作" min-width="60" align="center">
          <template #default="scope">
            <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button>
          </template>
        </el-table-column> -->
        <el-table-column fixed="right" label="操作" min-width="60" align="center">
          <template #default="scope">
          <el-button link type="primary" size="small" @click="openForm('check', scope.row);">查看</el-button>
          </template>
        </el-table-column>
      </el-table>
      <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper" :page="page.current"
                  :limit="page.size" @pagination="paginationChange" />
    </div>
    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增发票号页面' : '编辑发票号页面'" width="70%" @close="closeDia">
    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '新增发票号页面' : '查看发票号页面'" width="70%" @close="closeDia">
      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="采购合同号:" prop="purchaseLedgerId">
              <el-select v-model="form.purchaseLedgerId" placeholder="请选择" clearable @change="setInfo" :disabled="operationType === 'edit'">
              <el-select v-model="form.purchaseLedgerId" placeholder="请选择" clearable @change="setInfo">
                <el-option v-for="item in purchaseLedgerList" :key="item.id" :label="item.purchaseContractNumber" :value="item.id"/>
              </el-select>
            </el-form-item>
@@ -94,19 +99,19 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="发票号:" prop="invoiceNumber">
              <el-input v-model="form.invoiceNumber" placeholder="请输入" clearable/>
              <el-input v-model="form.invoiceNumber" placeholder="请输入" :disabled="operationType === 'check'" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="发票金额(元):" prop="invoiceAmount">
              <el-input type="number" :step="0.01" v-model="form.invoiceAmount" placeholder="请输入" clearable/>
              <el-input type="number" :step="0.01" v-model="form.invoiceAmount" placeholder="请输入" :disabled="operationType === 'check'" clearable/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="税率:" prop="taxRate">
              <el-input type="number" :step="0.01" v-model="form.taxRate" placeholder="请输入" clearable/>
              <el-input type="number" :step="0.01" v-model="form.taxRate" placeholder="请输入" :disabled="operationType === 'check'" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
@@ -131,7 +136,7 @@
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
        <!-- <el-row :gutter="30">
          <el-col :span="24">
            <el-form-item label="附件材料:" prop="remark">
              <el-upload
@@ -158,12 +163,12 @@
              </el-upload>
            </el-form-item>
          </el-col>
        </el-row>
        </el-row> -->
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button type="primary" @click="submitForm">确认</el-button>
          <el-button @click="closeDia">取消</el-button>
          <!-- <el-button type="primary" @click="submitForm">确认</el-button> -->
          <!-- <el-button @click="closeDia">取消</el-button> -->
        </div>
      </template>
    </el-dialog>
@@ -187,8 +192,8 @@
                :on-remove="handleRemove"
            >
              <el-button type="primary">上传</el-button>
              <template #tip>
                <!--                  文件格式支持 doc,docx,xls,xlsx,ppt,pptx,pdf,txt,xml,jpg,jpeg,png,gif,bmp,rar,zip,7z-->
              <template #tip>
                <div class="el-upload__tip">
                  文件格式支持 pdf
                </div>
@@ -262,16 +267,16 @@
    customerName:'',
    fileList:[]
  },
  rules: {
    purchaseLedgerId: [{ required: true, message: "请选择", trigger: "change" }],
    customerId: [{ required: true, message: "请输入", trigger: "blur" }],
    invoiceNumber: [{ required: true, message: "请选择", trigger: "change" }],
    invoiceAmount: [{ required: true, message: "请输入", trigger: "blur" }],
    taxRate: [{ required: true, message: "请选择", trigger: "change" }],
    issUer: [{ required: true, message: "请输入", trigger: "blur" }],
    issueDate: [{ required: true, message: "请选择", trigger: "change" }],
    customerName: [{ required: true, message: "请选择", trigger: "change" }],
  }
  // rules: {
  //   purchaseLedgerId: [{ required: true, message: "请选择", trigger: "change" }],
  //   customerId: [{ required: true, message: "请输入", trigger: "blur" }],
  //   invoiceNumber: [{ required: true, message: "请选择", trigger: "change" }],
  //   invoiceAmount: [{ required: true, message: "请输入", trigger: "blur" }],
  //   taxRate: [{ required: true, message: "请选择", trigger: "change" }],
  //   issUer: [{ required: true, message: "请输入", trigger: "blur" }],
  //   issueDate: [{ required: true, message: "请选择", trigger: "change" }],
  //   customerName: [{ required: true, message: "请选择", trigger: "change" }],
  // }
})
const { searchForm, form, rules } = toRefs(data)
const currentId = ref('')
@@ -383,7 +388,6 @@
}
// 移除文件
function handleRemove (file) {
  console.log('handleRemove', file.id)
  if (operationType.value === 'edit') {
    let ids = []
    ids.push(file.id)
vite.config.js
@@ -2,7 +2,7 @@
import path from 'path'
import createVitePlugins from './vite/plugins'
const baseUrl = 'http://localhost:8080' // 后端接口
const baseUrl = 'http://192.168.1.35:8080' // 后端接口
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {