123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 |
- <template>
- <a-spin :spinning="confirmLoading">
- <j-form-container :disabled="formDisabled">
- <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
- <a-row>
- <a-col :span="24">
- <a-form-model-item label="任务号/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="taskno">
- <a-input v-model="model.taskno" placeholder="请输入任务号/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="任务名称/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="taskname">
- <a-input v-model="model.taskname" placeholder="请输入任务名称/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="型号/来自科研报工" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="xhname">
- <a-input v-model="model.xhname" placeholder="请输入型号/来自科研报工" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="计划完成时间(进度要求)来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jhwcsj">
- <j-date placeholder="请选择计划完成时间(进度要求)来自科研任务" v-model="model.jhwcsj" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="阶段/来自科研报工" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yzjdname">
- <a-input v-model="model.yzjdname" placeholder="请输入阶段/来自科研报工" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="项目进度/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processpercent">
- <a-input v-model="model.processpercent" placeholder="请输入项目进度/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="成本进度" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="costPercent">
- <a-input v-model="model.costPercent" placeholder="请输入成本进度" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="研制数量/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="yzsl">
- <a-input-number v-model="model.yzsl" placeholder="请输入研制数量/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="单台收入/(合同额or预估价)/研制数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oneIncome">
- <a-input-number v-model="model.oneIncome" placeholder="请输入单台收入/(合同额or预估价)/研制数量" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="单台成本/ 总成本额/研制数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oneCost">
- <a-input-number v-model="model.oneCost" placeholder="请输入单台成本/ 总成本额/研制数量" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="单台利润/ 利润额/研制数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="oneProfit">
- <a-input-number v-model="model.oneProfit" placeholder="请输入单台利润/ 利润额/研制数量" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="利润额/(合同额or预估价)-总成本额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lre">
- <a-input-number v-model="model.lre" placeholder="请输入利润额/(合同额or预估价)-总成本额" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="利润率/ 利润额/(合同额or预估价)*100%" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lrl">
- <a-input-number v-model="model.lrl" placeholder="请输入利润率/ 利润额/(合同额or预估价)*100%" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="预估价/来自财务预算" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="estimationcoat">
- <a-input-number v-model="model.estimationcoat" placeholder="请输入预估价/来自财务预算" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="合同额/来自收款合同的合同分配额 " :labelCol="labelCol" :wrapperCol="wrapperCol" prop="contractfpe">
- <a-input-number v-model="model.contractfpe" placeholder="请输入合同额/来自收款合同的合同分配额 " style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="已收款/ 来自合同收款详细的任务收款额" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="taskmoney">
- <a-input-number v-model="model.taskmoney" placeholder="请输入已收款/ 来自合同收款详细的任务收款额" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zcb">
- <a-input-number v-model="model.zcb" placeholder="请输入总成本/ 直接成本+间接费用/直接成本=材料费(出库)+外协费+专用费+事务费/间接费用=工资费+管理费+燃动费+固资费" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="材料费/物资出库单明细 实发主数量*采购单价" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="clf">
- <a-input-number v-model="model.clf" placeholder="请输入材料费/物资出库单明细 实发主数量*采购单价" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="专用费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zyf">
- <a-input-number v-model="model.zyf" placeholder="请输入专用费" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="事务费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="swf">
- <a-input-number v-model="model.swf" placeholder="请输入事务费" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="外协费" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="wxf">
- <a-input-number v-model="model.wxf" placeholder="请输入外协费" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="燃料动力费/(材料费+外协费+事务费+专用费)×1.5%" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rldlf">
- <a-input-number v-model="model.rldlf" placeholder="请输入燃料动力费/(材料费+外协费+事务费+专用费)×1.5%" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="固定资产折旧/(材料费+外协费+事务费+专用费)×2.5%" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gdzczj">
- <a-input-number v-model="model.gdzczj" placeholder="请输入固定资产折旧/(材料费+外协费+事务费+专用费)×2.5%" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="工资及劳务费/(材料费+外协费+事务费+专用费)×17%" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="gzjlwf">
- <a-input-number v-model="model.gzjlwf" placeholder="请输入工资及劳务费/(材料费+外协费+事务费+专用费)×17%" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="管理费/(材料费+外协费+事务费+专用费)×5%" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="glf">
- <a-input-number v-model="model.glf" placeholder="请输入管理费/(材料费+外协费+事务费+专用费)×5%" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="装机成本/ mes装机信息卡的采购单价*数量" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zjcb">
- <a-input-number v-model="model.zjcb" placeholder="请输入装机成本/ mes装机信息卡的采购单价*数量" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="内部试验" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lbsy">
- <a-input-number v-model="model.lbsy" placeholder="请输入内部试验" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="工时(h)/来自科研报工,每次科研报工累加计时" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="workhour">
- <a-input-number v-model="model.workhour" placeholder="请输入工时(h)/来自科研报工,每次科研报工累加计时" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="责任部门/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="zrbm">
- <a-input v-model="model.zrbm" placeholder="请输入责任部门/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="下达部门id/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jycsid">
- <a-input-number v-model="model.jycsid" placeholder="请输入下达部门id/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="下达部门/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="jycs">
- <a-input v-model="model.jycs" placeholder="请输入下达部门/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="1:横向 2:纵向/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hxzxid">
- <a-input-number v-model="model.hxzxid" placeholder="请输入1:横向 2:纵向/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="横向纵向/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hxzxname">
- <a-input v-model="model.hxzxname" placeholder="请输入横向纵向/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="任务类型/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="tasktype">
- <a-input v-model="model.tasktype" placeholder="请输入任务类型/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="审计审价/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditprice">
- <a-input v-model="model.auditprice" placeholder="请输入审计审价/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="任务状态/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="iflag">
- <a-input v-model="model.iflag" placeholder="请输入任务状态/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="提出单位简称/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brief">
- <a-input v-model="model.brief" placeholder="请输入提出单位简称/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="父级任务/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reftaskno">
- <a-input-number v-model="model.reftaskno" placeholder="请输入父级任务/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="批产任务号/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="pccode">
- <a-input-number v-model="model.pccode" placeholder="请输入批产任务号/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="备产任务号/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="bccode">
- <a-input-number v-model="model.bccode" placeholder="请输入备产任务号/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="备料任务号/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="blcode">
- <a-input-number v-model="model.blcode" placeholder="请输入备料任务号/来自科研任务" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="业务员/来自科研任务" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="businessman">
- <a-input v-model="model.businessman" placeholder="请输入业务员/来自科研任务" ></a-input>
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="设计工时" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sjgs">
- <a-input-number v-model="model.sjgs" placeholder="请输入设计工时" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- <a-col :span="24">
- <a-form-model-item label="生产工时" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="scgs">
- <a-input-number v-model="model.scgs" placeholder="请输入生产工时" style="width: 100%" />
- </a-form-model-item>
- </a-col>
- </a-row>
- </a-form-model>
- </j-form-container>
- </a-spin>
- </template>
- <script>
- import { httpAction, getAction } from '@/api/manage'
- import { validateDuplicateValue } from '@/utils/util'
- export default {
- name: 'ProjectCostHuijiForm',
- components: {
- },
- props: {
- //表单禁用
- disabled: {
- type: Boolean,
- default: false,
- required: false
- }
- },
- data () {
- return {
- model:{
- },
- labelCol: {
- xs: { span: 24 },
- sm: { span: 5 },
- },
- wrapperCol: {
- xs: { span: 24 },
- sm: { span: 16 },
- },
- confirmLoading: false,
- validatorRules: {
- xhname: [
- { required: true, message: '请输入型号/来自科研报工!'},
- ],
- yzsl: [
- { required: true, message: '请输入研制数量/来自科研任务!'},
- ],
- wxf: [
- { required: true, message: '请输入外协费!'},
- ],
- tasktype: [
- { required: true, message: '请输入任务类型/来自科研任务!'},
- ],
- },
- url: {
- add: "/projectCostHuiji/projectCostHuiji/add",
- edit: "/projectCostHuiji/projectCostHuiji/edit",
- queryById: "/projectCostHuiji/projectCostHuiji/queryById"
- }
- }
- },
- computed: {
- formDisabled(){
- return this.disabled
- },
- },
- created () {
- //备份model原始值
- this.modelDefault = JSON.parse(JSON.stringify(this.model));
- },
- methods: {
- add () {
- this.edit(this.modelDefault);
- },
- edit (record) {
- this.model = Object.assign({}, record);
- this.visible = true;
- },
- submitForm () {
- const that = this;
- // 触发表单验证
- this.$refs.form.validate(valid => {
- if (valid) {
- that.confirmLoading = true;
- let httpurl = '';
- let method = '';
- if(!this.model.id){
- httpurl+=this.url.add;
- method = 'post';
- }else{
- httpurl+=this.url.edit;
- method = 'put';
- }
- httpAction(httpurl,this.model,method).then((res)=>{
- if(res.success){
- that.$message.success(res.message);
- that.$emit('ok');
- }else{
- that.$message.warning(res.message);
- }
- }).finally(() => {
- that.confirmLoading = false;
- })
- }
-
- })
- },
- }
- }
- </script>
|