马宇豪
2024-12-24 9b7252527d52a40da961ed7e048b8d4b5c46224c
修改税费计算
已修改1个文件
80 ■■■■ 文件已修改
src/views/safetyReview/expertManage/postEvaluation/components/evaluate.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/safetyReview/expertManage/postEvaluation/components/evaluate.vue
@@ -68,7 +68,8 @@
          </el-radio-group>
        </el-form-item>
        <el-form-item label="其他意见建议">
          <el-input v-model="state.form.others" type="textarea" :autosize="{ minRows: 2}" :readonly="state.disable"></el-input>
          <el-input v-model="state.form.others" type="textarea" :autosize="{ minRows: 2}"
                    :readonly="state.disable"></el-input>
        </el-form-item>
        <el-form-item label="使用单位综合评价情况" label-width="180px" prop="comprehensiveEvaluation">
          <el-radio-group v-model="state.form.comprehensiveEvaluation" style="width: 100%" :disabled="state.disable">
@@ -81,8 +82,12 @@
        </el-divider>
        <div style="width: 100%;display: flex;align-items: center;justify-content: space-between;margin: 25px 0 15px">
          <div>
            <el-button type="primary" size="default" @click="openSelectList('1')" v-preReClick :disabled="state.disable">添加加分项</el-button>
            <el-button type="default" size="default" @click="addSelect('1')" v-preReClick :disabled="state.disable">自定义加分项</el-button>
            <el-button type="primary" size="default" @click="openSelectList('1')" v-preReClick
                       :disabled="state.disable">添加加分项
            </el-button>
            <el-button type="default" size="default" @click="addSelect('1')" v-preReClick :disabled="state.disable">
              自定义加分项
            </el-button>
          </div>
          <div style="font-size: 14px">
            加分总计:<span style="font-weight: bolder;color: #10B981">{{addTotal}}</span> 分
@@ -98,14 +103,20 @@
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
            <template #default="scope">
  <!--            <el-button link type="primary"  @click="openDialog('edit',scope.row)">编辑</el-button>-->
              <el-button link type="danger"  @click="deleteSelect(scope.row,scope.$index,1)" :disabled="state.disable">删除</el-button>
              <el-button link type="danger" @click="deleteSelect(scope.row,scope.$index,1)" :disabled="state.disable">
                删除
              </el-button>
            </template>
          </el-table-column>
        </el-table>
        <div style="width: 100%;display: flex;align-items: center;justify-content: space-between;margin: 25px 0 15px">
          <div>
            <el-button type="primary" size="default" @click="openSelectList('2')" v-preReClick :disabled="state.disable">添加扣分项</el-button>
            <el-button type="default" size="default" @click="addSelect('2')" v-preReClick :disabled="state.disable">自定义扣分项</el-button>
            <el-button type="primary" size="default" @click="openSelectList('2')" v-preReClick
                       :disabled="state.disable">添加扣分项
            </el-button>
            <el-button type="default" size="default" @click="addSelect('2')" v-preReClick :disabled="state.disable">
              自定义扣分项
            </el-button>
          </div>
          <div style="font-size: 14px">
            扣分总计:<span style="font-weight: bolder;color: #EF4444">{{deductTotal}}</span> 分
@@ -115,12 +126,15 @@
          <el-table-column prop="content" label="扣分项"/>
          <el-table-column prop="score" label="分值">
            <template #default="scope">
              <el-input v-model.trim="scope.row.score" type="number" :readonly="state.disable" placeholder="此处须填写负数"></el-input>
              <el-input v-model.trim="scope.row.score" type="number" :readonly="state.disable"
                        placeholder="此处须填写负数"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
            <template #default="scope">
              <el-button link type="danger"  @click="deleteSelect(scope.row,scope.$index,2)" :disabled="state.disable">删除</el-button>
              <el-button link type="danger" @click="deleteSelect(scope.row,scope.$index,2)" :disabled="state.disable">
                删除
              </el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -128,46 +142,63 @@
        <div style="margin: 25px 0;font-size: 14px">
          <el-form-item label="本项目考评总计" prop="score">
            <el-input v-model.trim="totalScore" type="number" readonly=true><template #append>分</template></el-input>
            <el-input v-model.trim="totalScore" type="number" readonly=true>
              <template #append>分</template>
            </el-input>
          </el-form-item>
        </div>
        <el-row>
          <el-col :span="12">
            <el-form-item label="发现重大隐患" prop="majorDangers">
              <el-input v-model.trim="state.form.majorDangers" type="number" :readonly="state.disable" placeholder="请输入正整数,没有则填0"><template #append>条</template></el-input>
              <el-input v-model.trim="state.form.majorDangers" type="number" :readonly="state.disable"
                        placeholder="请输入正整数,没有则填0">
                <template #append>条</template>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="一般隐患" prop="generalHazards">
              <el-input v-model.trim="state.form.generalHazards" type="number" :readonly="state.disable" placeholder="请输入正整数,没有则填0"><template #append>条</template></el-input>
              <el-input v-model.trim="state.form.generalHazards" type="number" :readonly="state.disable"
                        placeholder="请输入正整数,没有则填0">
                <template #append>条</template>
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-form-item label="内容描述">
          <el-input v-model="state.form.content" type="textarea" :autosize="{ minRows: 2}" :readonly="state.disable"></el-input>
          <el-input v-model="state.form.content" type="textarea" :autosize="{ minRows: 2}"
                    :readonly="state.disable"></el-input>
        </el-form-item>
        <el-divider></el-divider>
        <el-row>
          <el-col :span="12">
            <el-form-item label="计费标准" prop="freightBasis">
              <el-input v-model.number.trim="state.form.freightBasis" :readonly="state.disable" @input="getExpertFee"><template #append>天/课时</template></el-input>
              <el-input v-model.number.trim="state.form.freightBasis" :readonly="state.disable" @input="getExpertFee">
                <template #append>天/课时</template>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="标准说明" prop="billingInstructions">
              <el-input v-model.trim="state.form.billingInstructions" type="textarea" :autosize="{ minRows: 2}" :readonly="state.disable" placeholder="如填写:第1-3天800元/天"></el-input>
              <el-input v-model.trim="state.form.billingInstructions" type="textarea" :autosize="{ minRows: 2}"
                        :readonly="state.disable" placeholder="如填写:第1-3天800元/天"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="计费时长" prop="billingDuration">
              <el-input v-model.number.trim="state.form.billingDuration" type="number" :readonly="state.disable" @input="getExpertFee"><template #append>天/课时</template></el-input>
              <el-input v-model.number.trim="state.form.billingDuration" type="number" :readonly="state.disable"
                        @input="getExpertFee">
                <template #append>天/课时</template>
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="税前金额(专家费)" prop="taxExpertFee">
              <el-input v-model="state.form.taxExpertFee" type="number" :readonly="state.disable" @input="getExpertTax"><template #append>元</template></el-input>
              <el-input v-model="state.form.taxExpertFee" type="number" :readonly="state.disable" @input="getExpertTax">
                <template #append>元</template>
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
@@ -179,13 +210,17 @@
<!--          </el-col>-->
          <el-col :span="12">
            <el-form-item label="应缴税费">
              <el-input v-model.trim="state.form.incomeTaxPayable" type="number" :readonly="state.disable"><template #append>元</template></el-input>
              <el-input v-model.trim="state.form.incomeTaxPayable" type="number" :readonly="state.disable">
                <template #append>元</template>
              </el-input>
              <div style="font-size: 12px;color: red">系统自动计算金额仅供参考,请注意核对。</div>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="税后金额">
              <el-input v-model="state.form.afterTaxAmount" type="number" :readonly="state.disable"><template #append>元</template></el-input>
              <el-input v-model="state.form.afterTaxAmount" type="number" :readonly="state.disable">
                <template #append>元</template>
              </el-input>
            </el-form-item>
          </el-col>
        </el-row>
@@ -205,8 +240,10 @@
      </el-form>
      <template #footer>
        <span class="dialog-footer">
          <el-button type="primary" v-if="!state.disable" @click="confirmScore" size="default" v-preReClick>完成评分</el-button>
          <el-button type="primary" v-if="state.disable" @click="handleClose" size="default" v-preReClick>确定</el-button>
          <el-button type="primary" v-if="!state.disable" @click="confirmScore" size="default"
                     v-preReClick>完成评分</el-button>
          <el-button type="primary" v-if="state.disable" @click="handleClose" size="default"
                     v-preReClick>确定</el-button>
        </span>
      </template>
      <select-list ref="selectRef"  @refreshSelected="getSelected"></select-list>
@@ -235,7 +272,7 @@
  </div>
</template>
<script setup>
import {computed, defineAsyncComponent, reactive, ref, toRefs} from 'vue'
import {computed, defineAsyncComponent, reactive, ref, toRefs, nextTick} from 'vue'
import {ElMessage} from "element-plus";
import SelectList from './selectList'
import {getExpertEvaDetail, projectExpertDetailSave} from '@/api/backManage/evaluate'
@@ -346,6 +383,7 @@
  if((state.form.freightBasis && state.form.freightBasis > 0) && (state.form.billingDuration && state.form.billingDuration > 0)){
    state.form.taxExpertFee = state.form.freightBasis * state.form.billingDuration
  }
  getExpertTax()
}
const getExpertTax = ()=>{