|
@@ -6,11 +6,11 @@
|
|
<div class="title">工程信息单</div>
|
|
<div class="title">工程信息单</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <el-form ref="mainForm" :model="mainForm" label-width="100px" size="small" label-position="left">
|
|
|
|
|
|
+ <el-form ref="mainForm" :model="mainForm" :rules="mainFormRules" label-width="100px" size="small" label-position="left">
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-form-item label="工程信息单" prop="orderNum">
|
|
<el-form-item label="工程信息单" prop="orderNum">
|
|
- <el-input v-model="mainForm.orderNum" placeholder="请输入工程信息单"></el-input>
|
|
|
|
|
|
+ <el-input v-model="mainForm.orderNum" placeholder="系统自动生成" readonly></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
<el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
@@ -33,7 +33,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-form-item label="经销商编码" prop="jxsNum">
|
|
<el-form-item label="经销商编码" prop="jxsNum">
|
|
- <el-input v-model="mainForm.jxsNum" placeholder="请输入经销商编码"></el-input>
|
|
|
|
|
|
+ <el-input v-model="mainForm.jxsNum" placeholder="请输入经销商编码" readonly></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
@@ -48,7 +48,7 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-form-item label="经销商名称" prop="jxsName">
|
|
<el-form-item label="经销商名称" prop="jxsName">
|
|
- <el-input v-model="mainForm.jxsName" placeholder="请输入经销商名称"></el-input>
|
|
|
|
|
|
+ <el-input v-model="mainForm.jxsName" placeholder="请输入经销商名称" readonly></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
@@ -83,12 +83,12 @@
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-form-item label="业务员" prop="salesMan">
|
|
<el-form-item label="业务员" prop="salesMan">
|
|
- <el-input v-model="mainForm.salesMan" placeholder="请输入业务员"></el-input>
|
|
|
|
|
|
+ <el-input v-model="mainForm.salesMan" placeholder="请输入业务员" readonly></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-col :xs="24" :sm="12" :lg="8">
|
|
<el-form-item label="制单人" prop="createMan">
|
|
<el-form-item label="制单人" prop="createMan">
|
|
- <el-input v-model="mainForm.createMan" placeholder="请输入制单人"></el-input>
|
|
|
|
|
|
+ <el-input v-model="mainForm.createMan" placeholder="请输入制单人" readonly></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-col>
|
|
<el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
<el-col :xs="24" :sm="12" :lg="8" style="height: 51px;">
|
|
@@ -96,6 +96,7 @@
|
|
<el-date-picker
|
|
<el-date-picker
|
|
v-model="mainForm.createDate"
|
|
v-model="mainForm.createDate"
|
|
type="date"
|
|
type="date"
|
|
|
|
+ readonly
|
|
value-format="yyyy-MM-dd"
|
|
value-format="yyyy-MM-dd"
|
|
style="width: 100%;"
|
|
style="width: 100%;"
|
|
placeholder="选择日期">
|
|
placeholder="选择日期">
|
|
@@ -182,8 +183,8 @@
|
|
|
|
|
|
<div class="page-footer">
|
|
<div class="page-footer">
|
|
<div class="footer" :class="classObj">
|
|
<div class="footer" :class="classObj">
|
|
- <el-button type="primary" @click="clickSubmitForm">保 存</el-button>
|
|
|
|
- <el-button type="primary" @click="clickSubmitForm">提交审核</el-button>
|
|
|
|
|
|
+ <el-button type="primary" @click="clickSubmitForm(1)">保 存</el-button>
|
|
|
|
+ <el-button type="primary" @click="clickSubmitForm(2)">提交审核</el-button>
|
|
<el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
|
|
<el-popconfirm title="确定关闭吗?" @onConfirm="goBack" style="margin-left: 10px;">
|
|
<el-button slot="reference">关 闭</el-button>
|
|
<el-button slot="reference">关 闭</el-button>
|
|
</el-popconfirm>
|
|
</el-popconfirm>
|
|
@@ -194,7 +195,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { getEnginDetail, getRetailProductList } from "@/api/supply/engin";
|
|
|
|
|
|
+import { getEnginDetail, getRetailProductList, addEngin, editEngin, submitEngin } from "@/api/supply/engin";
|
|
import { getDictList, getTypeList } from '@/api/common'
|
|
import { getDictList, getTypeList } from '@/api/common'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
@@ -203,10 +204,33 @@ export default {
|
|
props: ['listItem'],
|
|
props: ['listItem'],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
- detailData: {},
|
|
|
|
goodsList: [],
|
|
goodsList: [],
|
|
mainForm: {
|
|
mainForm: {
|
|
-
|
|
|
|
|
|
+ orderNum: '',
|
|
|
|
+ orderDate: '',
|
|
|
|
+ mainId: '102',
|
|
|
|
+ jxsNum: '',
|
|
|
|
+ enginName: '',
|
|
|
|
+ orderType: '',
|
|
|
|
+ jxsName: '',
|
|
|
|
+ company: '',
|
|
|
|
+ address: '',
|
|
|
|
+ enginNum: '',
|
|
|
|
+ factoryNum: '',
|
|
|
|
+ loginType: '',
|
|
|
|
+ remark: '',
|
|
|
|
+ salesMan: '',
|
|
|
|
+ createMan: '',
|
|
|
|
+ createDate: '',
|
|
|
|
+ contractDate: '',
|
|
|
|
+ },
|
|
|
|
+ mainFormRules: {
|
|
|
|
+ orderDate: [{ required: true, message: '请选择单据日期', trigger: 'change' }],
|
|
|
|
+ jxsNum: [{ required: true, message: '请输入经销商编码', trigger: 'blur' }],
|
|
|
|
+ enginName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
|
|
|
+ jxsName: [{ required: true, message: '请输入经销商名称', trigger: 'blur' }],
|
|
|
|
+ company: [{ required: true, message: '请输入使用单位', trigger: 'blur' }],
|
|
|
|
+ address: [{ required: true, message: '请输入安装地址', trigger: 'blur' }],
|
|
},
|
|
},
|
|
|
|
|
|
typeList: [],
|
|
typeList: [],
|
|
@@ -225,15 +249,21 @@ export default {
|
|
openSidebar: this.sidebar.opened
|
|
openSidebar: this.sidebar.opened
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+
|
|
},
|
|
},
|
|
|
|
|
|
created() {
|
|
created() {
|
|
|
|
+ this.getDictList();
|
|
this.getTypeList();
|
|
this.getTypeList();
|
|
this.getRetailProductList();
|
|
this.getRetailProductList();
|
|
if(this.listItem) {
|
|
if(this.listItem) {
|
|
this.getDetail();
|
|
this.getDetail();
|
|
}else {
|
|
}else {
|
|
-
|
|
|
|
|
|
+ this.mainForm.jxsNum = JSON.parse(localStorage.getItem("supply_user")).customerId;
|
|
|
|
+ this.mainForm.jxsName = JSON.parse(localStorage.getItem("supply_user")).customerName;
|
|
|
|
+ this.mainForm.createMan = JSON.parse(localStorage.getItem("supply_user")).nickName;
|
|
|
|
+ this.mainForm.createDate = this.getDate(0);
|
|
|
|
+ this.mainForm.contractDate = this.getDate(1);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
@@ -243,14 +273,49 @@ export default {
|
|
this.$emit('backListFormDetail');
|
|
this.$emit('backListFormDetail');
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ getDate(addYear) {
|
|
|
|
+ var date = new Date();
|
|
|
|
+ var seperator1 = "-";
|
|
|
|
+ var year = date.getFullYear() + addYear;
|
|
|
|
+ var month = date.getMonth() + 1;
|
|
|
|
+ var strDate = date.getDate();
|
|
|
|
+ if (month >= 1 && month <= 9) {
|
|
|
|
+ month = "0" + month;
|
|
|
|
+ }
|
|
|
|
+ if (strDate >= 0 && strDate <= 9) {
|
|
|
|
+ strDate = "0" + strDate;
|
|
|
|
+ }
|
|
|
|
+ var currentdate = year + seperator1 + month + seperator1 + strDate;
|
|
|
|
+ return currentdate;
|
|
|
|
+ },
|
|
|
|
+
|
|
// 获取详情
|
|
// 获取详情
|
|
getDetail() {
|
|
getDetail() {
|
|
getEnginDetail({id: this.listItem.enginInfoId}).then(res => {
|
|
getEnginDetail({id: this.listItem.enginInfoId}).then(res => {
|
|
- this.detailData = res.data;
|
|
|
|
|
|
+ let data = res.data;
|
|
|
|
+ this.mainForm.orderNum = data.enginInfoNo;
|
|
|
|
+ this.mainForm.orderDate = data.orderDate;
|
|
|
|
+ this.mainForm.mainId = data.productCategoryId;
|
|
|
|
+ this.mainForm.jxsNum = data.customerId;
|
|
|
|
+ this.mainForm.enginName = data.projectName;
|
|
|
|
+ this.mainForm.orderType = data.orderType;
|
|
|
|
+ this.mainForm.jxsName = data.customerName;
|
|
|
|
+ this.mainForm.company = data.useUnit;
|
|
|
|
+ this.mainForm.address = data.installAddress;
|
|
|
|
+ this.mainForm.enginNum = data.projectNo;
|
|
|
|
+ this.mainForm.factoryNum = data.enginFactoryNo;
|
|
|
|
+ this.mainForm.loginType = data.enginSignType;
|
|
|
|
+ this.mainForm.remark = data.remark;
|
|
|
|
+ this.mainForm.salesMan = data.serviceId;
|
|
|
|
+ this.mainForm.createMan = data.createName;
|
|
|
|
+ this.mainForm.createDate = data.createTime;
|
|
|
|
+ this.mainForm.contractDate = data.contractExpireDate;
|
|
|
|
+
|
|
this.goodsList = data.items;
|
|
this.goodsList = data.items;
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
|
|
|
|
+ // 获取产品大类列表
|
|
getDictList() {
|
|
getDictList() {
|
|
getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
|
|
getDictList({sysDictEnum: 'PRODUCT_TYPE'}).then(res => {
|
|
this.typeList = res.data;
|
|
this.typeList = res.data;
|
|
@@ -310,8 +375,69 @@ export default {
|
|
this.goodsList.splice(index, 1);
|
|
this.goodsList.splice(index, 1);
|
|
},
|
|
},
|
|
|
|
|
|
- clickSubmitForm() {
|
|
|
|
|
|
+ clickSubmitForm(type) {
|
|
|
|
+ this.$refs.mainForm.validate((valid) => {
|
|
|
|
+ if (valid) {
|
|
|
|
+ for(let i=0; i<this.goodsList.length; i++) {
|
|
|
|
+ if(!this.goodsList[i].saleTypeId) {
|
|
|
|
+ this.$errorMsg('请选择销售类型');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for(let i=0; i<this.goodsList.length; i++) {
|
|
|
|
+ if(!this.goodsList[i].materialNumber) {
|
|
|
|
+ this.$errorMsg('请选择产品');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for(let i=0; i<this.goodsList.length; i++) {
|
|
|
|
+ if(!this.goodsList[i].qty) {
|
|
|
|
+ this.$errorMsg('请输入数量');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ let params = {
|
|
|
|
+ orderDate: this.mainForm.orderDate + ' 00:00:00',
|
|
|
|
+ productCategoryId: this.mainForm.mainId,
|
|
|
|
+ projectName: this.mainForm.enginName,
|
|
|
|
+ orderType: this.mainForm.orderType,
|
|
|
|
+ useUnit: this.mainForm.company,
|
|
|
|
+ installAddress: this.mainForm.address,
|
|
|
|
+ projectNo: this.mainForm.enginNum,
|
|
|
|
+ enginFactoryNo: this.mainForm.factoryNum,
|
|
|
|
+ enginSignType: this.mainForm.loginType,
|
|
|
|
+ remark: this.mainForm.remark,
|
|
|
|
+ contractExpireDate: this.mainForm.contractDate,
|
|
|
|
+ items: this.goodsList
|
|
|
|
+ }
|
|
|
|
+ if(type === 1) {
|
|
|
|
+ if(this.listItem) {
|
|
|
|
+ params.enginInfoId = this.listItem.enginInfoId;
|
|
|
|
+ editEngin(params).then(res => {
|
|
|
|
+ this.$successMsg('编辑成功');
|
|
|
|
+ this.goBack();
|
|
|
|
+ this.$parent.getList();
|
|
|
|
+ })
|
|
|
|
+ }else {
|
|
|
|
+ addEngin(params).then(res => {
|
|
|
|
+ this.$successMsg('保存成功');
|
|
|
|
+ this.goBack();
|
|
|
|
+ this.$parent.getList();
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ if(this.listItem) {
|
|
|
|
+ params.enginInfoId = this.listItem.enginInfoId;
|
|
|
|
+ }
|
|
|
|
+ submitEngin(params).then(res => {
|
|
|
|
+ this.$successMsg('提交审核成功');
|
|
|
|
+ this.goBack();
|
|
|
|
+ this.$parent.getList();
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
},
|
|
},
|
|
}
|
|
}
|
|
}
|
|
}
|