gaoluyang
2026-06-22 bc365ef47ae4e01754aeadbae26170e11c9bb80e
src/views/projectManagement/Management/components/formDia.vue
@@ -174,7 +174,7 @@
          </div>
          <div class="section-actions" @click.stop>
            <el-button v-if="!isView" type="primary" @click="openProductForm('add')">添加</el-button>
            <el-button v-if="!isView" plain type="danger" @click="deleteProduct">删除</el-button>
            <el-button v-if="!isView" plain type="danger" @click="deleteProduct" v-hasPermi="['projectManagement:Management:remove']">删除</el-button>
            <el-icon class="toggle-icon" @click="toggleSection('product')">
              <ArrowDown v-if="sectionCollapsed.product" />
              <ArrowUp v-else />
@@ -272,7 +272,7 @@
              <el-input v-model="row.remark" placeholder="请输入" clearable :disabled="isView" />
            </template>
            <template #teamAction="{ row, index }">
              <el-button v-if="!isView" link type="danger" :icon="Delete" @click="removeTeamRow(index)">删除</el-button>
              <el-button v-if="!isView" link type="danger" :icon="Delete" @click="removeTeamRow(index)" v-hasPermi="['projectManagement:Management:remove']">删除</el-button>
              <span v-else>—</span>
            </template>
          </PIMTable>
@@ -414,7 +414,7 @@
              <el-input v-model="row.address" placeholder="请输入" clearable :disabled="isView" />
            </template>
            <template #addressAction="{ row, index }">
              <el-button v-if="!isView" link type="danger" :icon="Delete" @click="removeAddressRow(index)">删除</el-button>
              <el-button v-if="!isView" link type="danger" :icon="Delete" @click="removeAddressRow(index)" v-hasPermi="['projectManagement:Management:remove']">删除</el-button>
              <span v-else>—</span>
            </template>
          </PIMTable>
@@ -571,9 +571,12 @@
        <el-col :span="12">
          <el-form-item label="税率(%):" prop="taxRate">
            <el-select v-model="productForm.taxRate" placeholder="请选择" clearable @change="calculateFromTaxRate">
              <el-option label="1" value="1" />
              <el-option label="6" value="6" />
              <el-option label="13" value="13" />
              <el-option
                v-for="dict in tax_rate"
                :key="dict.value"
                :label="dict.label"
                :value="dict.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
@@ -650,7 +653,7 @@
const emit = defineEmits(['completed'])
const { proxy } = getCurrentInstance()
const { bill_status, project_management, plan_status } = proxy.useDict('bill_status', 'project_management', 'plan_status')
const { bill_status, project_management, plan_status, tax_rate } = proxy.useDict('bill_status', 'project_management', 'plan_status', 'tax_rate')
const dialogVisible = ref(false)
const operationType = ref('add')
@@ -1339,9 +1342,9 @@
}
function downloadAttachment(att) {
  if (att?.name) {
  if (att) {
    try {
      proxy.$download.name(att.url);
         proxy.$download.byUrl(att.url, att.originalFilename);
      return
    } catch (e) {}
  }