|
@@ -0,0 +1,741 @@
|
|
|
+<template>
|
|
|
+ <div>
|
|
|
+ <!-- <p class="normal-title normal-panel" style="line-height:32px;padding-left:16px;border-bottom:1px solid #eeeeee">新建合同</p> -->
|
|
|
+ <div>
|
|
|
+ <p class="normal-title normal-panel" style="border-bottom:1px solid #cccccc;padding:16px">新建{{$route.query.type == '框架' ? '经销商合作' : $route.query.type}}合同</p>
|
|
|
+ <div class="container normal-panel" style="padding-bottom:0">
|
|
|
+ <!--合作协议-->
|
|
|
+ <el-row v-if="$route.query.type == '框架'">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="标题:" prop="title">
|
|
|
+ <el-input type="text" size="small" v-model="form.title"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="经销商:" prop="enterprisename">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="agentVisible"
|
|
|
+ width="500">
|
|
|
+ <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="业务员:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="折扣(%):" prop="discountrate">
|
|
|
+ <el-input type="text" size="small" v-model="form.discountrate"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同有效期:" prop="begdate">
|
|
|
+ <el-input style="display:none" v-model="form.begdate"></el-input>
|
|
|
+ <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约日期:" prop="signdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.signdate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同模板:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同描述:" prop="remarks">
|
|
|
+ <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ <!--经销项目-->
|
|
|
+ <el-row v-if="$route.query.type == '经销项目'">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="标题:" prop="title">
|
|
|
+ <el-input type="text" size="small" v-model="form.title"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="经销商:" prop="enterprisename">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="agentVisible"
|
|
|
+ width="500">
|
|
|
+ <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="agentChange" @onCancel="agentVisible = false"></selectAgent>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="项目名称:" prop="projectname">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="projectVisible"
|
|
|
+ width="600">
|
|
|
+ <seleteProject ref="project" type="2" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" v-model="form.projectname" @focus="showChange('projectVisible')"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="业务员:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同有效期:" prop="begdate">
|
|
|
+ <input type="text" style="display:none" v-model="form.begdate">
|
|
|
+ <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约日期:" prop="signdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.signdate"
|
|
|
+ type="date"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约金额(元):" prop="signamount">
|
|
|
+ <el-input type="text" size="small" placeholder="系统自动计算" disabled v-model="form.signamount"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同模板:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同描述:" prop="hrid">
|
|
|
+ <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ <!--直销项目-->
|
|
|
+ <el-row v-if="$route.query.type == '直销项目'">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="标题:" prop="title">
|
|
|
+ <el-input type="text" size="small" v-model="form.title"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="客户" prop="enterprisename">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="accountVisible"
|
|
|
+ width="500">
|
|
|
+ <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="accountChange" @onCancel="accountVisible = false"></selectAgent>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('accountVisible')" v-model="form.enterprisename"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="项目名称:" prop="projectname">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="projectVisible"
|
|
|
+ width="600">
|
|
|
+ <seleteProject ref="project" type="1" @onSelect="projectChange" @onCanel="projectVisible=false"></seleteProject>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('projectVisible')" v-model="form.projectname"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="业务员:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同有效期:" prop="begdate">
|
|
|
+ <input type="text" style="display:none" v-model="form.begdate">
|
|
|
+ <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约日期:" prop="signdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.signdate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约金额(元):" prop="signamount">
|
|
|
+ <el-input type="text" placeholder="系统自动计算" disabled size="small" v-model="form.signamount"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同模板:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同描述:" prop="hrid">
|
|
|
+ <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ <!--工具使用协议-->
|
|
|
+ <el-row v-if="$route.query.type == '工具借用'">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="100px" size="small">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="标题:" prop="title">
|
|
|
+ <el-input type="text" size="small" v-model="form.title"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="客户" prop="enterprisename">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="accountVisible"
|
|
|
+ width="500">
|
|
|
+ <selectAgent ref="member" :param="agentListPrams" :radio="true" @onSelect="accountChange" @onCancel="accountVisible = false"></selectAgent>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('accountVisible')" v-model="form.enterprisename"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="业务员:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同有效期:" prop="begdate">
|
|
|
+ <input type="text" style="display:none" v-model="form.begdate">
|
|
|
+ <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约日期:" prop="signdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.signdate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="单套价格(元)" prop="">
|
|
|
+ <el-input type="text" disabled size="small" placeholder="系统自动计算" v-model="form.signamount"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同模板:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同描述:" prop="hrid">
|
|
|
+ <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ <!--居间协议-->
|
|
|
+ <el-row v-if="$route.query.type == '居间'">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-position="right" label-width="110px" size="small">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="标题:" prop="title">
|
|
|
+ <el-input type="text" size="small" v-model="form.title"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="居间服务商:" prop="enterprisename">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="agentVisible"
|
|
|
+ width="500">
|
|
|
+ <selectAgent ref="member" :type="false" :param="agentListPrams" :radio="true" @onSelect="centerChange" @onCancel="agentVisible = false"></selectAgent>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('agentVisible')" v-model="form.enterprisename"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="项目合同:" prop="ascription_title">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="concratVisible"
|
|
|
+ width="600">
|
|
|
+ <seleteProjectContract ref="project" @onSelect="concratChange" @onCanel="concratVisible=false"></seleteProjectContract>
|
|
|
+ <el-input readonly type="text" slot="reference" size="small" @focus="showChange('concratVisible')" v-model="form.ascription_title"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="项目名称:" prop="projectname">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.projectname"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="业务员:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" v-model="form.salername"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同有效期:" prop="begdate">
|
|
|
+ <input type="text" style="display:none" v-model="form.begdate">
|
|
|
+ <time-select ref="timeSelect" class="inline-16" @clearSelect="clearTime" @timeChange="timeChange"></time-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="签约日期:" prop="signdate">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.signdate"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="计算方式" prop="">
|
|
|
+ <el-radio-group v-model="form.calculatemodel">
|
|
|
+ <el-radio label="1">按订单金额比例计算</el-radio>
|
|
|
+ <el-radio label="2">按产品折扣计算</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" v-if="form.calculatemodel==1">
|
|
|
+ <el-form-item label="订单金额比例(%):" prop="orderratio" label-width="160px">
|
|
|
+ <el-input type="text" size="small" v-model.number="form.orderratio"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" v-if="form.calculatemodel==2">
|
|
|
+ <el-form-item label="产品折扣(%)" prop="productdiscount">
|
|
|
+ <el-input type="text" size="small" v-model.number="form.productdiscount"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同模板:" prop="">
|
|
|
+ <el-input disabled type="text" size="small" :value="$route.query.type == '框架' ? '经销合作' : $route.query.type"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="合同描述:" prop="hrid">
|
|
|
+ <el-input type="textarea" size="small" v-model="form.remarks"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fixed__btn__panel">
|
|
|
+ <el-button size="small" @click="onCancel" class="normal-btn-width">取 消</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="onSubmit" class="normal-btn-width">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import {mapGetters} from 'vuex'
|
|
|
+import selectPople from './selectSaler'
|
|
|
+import selectAgent from './selectAgent'
|
|
|
+import seleteProject from './seleteProject'
|
|
|
+import seleteProjectContract from './seleteProjectContract'
|
|
|
+import TimeSelect from './TimeSelect'
|
|
|
+import selectModel from './seleteModel'
|
|
|
+export default {
|
|
|
+ name: '',
|
|
|
+ components:{selectPople,TimeSelect,seleteProject,selectAgent,selectModel,seleteProjectContract},
|
|
|
+ data () {
|
|
|
+ var checkNumber = (rule, value, callback) => {
|
|
|
+ if (typeof +value != 'number') {
|
|
|
+ return callback(new Error('请填写数字'));
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ var NumberSize = (rule, value, callback) => {
|
|
|
+ if (+value > 100 || +value < 1 && value) {
|
|
|
+ return callback(new Error('折扣范围(1-100)'));
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+ var checkTimer = (rule, value, callback) => {
|
|
|
+ if (new Date(this.form.enddate).getTime() > new Date(value).getTime() && new Date(this.form.begdate).getTime() < new Date(value).getTime()) {
|
|
|
+ callback()
|
|
|
+ } {
|
|
|
+ return callback(new Error('签约日期必须在合同有效期内'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return {
|
|
|
+ agentVisible:false,
|
|
|
+ salerVisible:false,
|
|
|
+ projectVisible:false,
|
|
|
+ accountVisible:false,
|
|
|
+ modelVisible:false,
|
|
|
+ concratVisible:false,
|
|
|
+ modelList:[],
|
|
|
+ /* 新建居间项目时 所关联的居间商 */
|
|
|
+ centerEnterpriseList:[],
|
|
|
+ form: {
|
|
|
+ "sa_contractid": 0,
|
|
|
+ "sys_enterpriseid": "",
|
|
|
+ "projectname":'',
|
|
|
+ "begdate": "",
|
|
|
+ "enddate": "",
|
|
|
+ "sa_projectid": "", //可选
|
|
|
+ "type": "", //可选
|
|
|
+ "discountrate": '', //可选
|
|
|
+ "saler_hrid": JSON.parse(window.sessionStorage.getItem('active_account')).hrid, //可选
|
|
|
+ "signdate": "", //可选
|
|
|
+ "signby": "", //可选
|
|
|
+ "remarks": "", //可选
|
|
|
+ "title": "",
|
|
|
+ "signamount":'',
|
|
|
+ "salername":JSON.parse(window.sessionStorage.getItem('active_account')).name,
|
|
|
+ "enterprisename":'',
|
|
|
+ "sys_printmodelid": '',//可选
|
|
|
+ "typemx":"",//可选
|
|
|
+ "modelname":"",
|
|
|
+ "calculatemodel":'1',
|
|
|
+ "productdiscount":'',
|
|
|
+ "orderratio":'',
|
|
|
+ "ascription_title":'',
|
|
|
+ 'ascription_contractid':''
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ title: [
|
|
|
+ { required: true, message: '请填写标题', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ sys_enterpriseid: [
|
|
|
+ { required: true, message: '请选择经销商', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ ascription_title: [
|
|
|
+ { required: true, message: '请选择项目合同', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ begdate: [
|
|
|
+ { required: true, message: '请选择生效日期', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ projectname: [
|
|
|
+ { required: true, message: '请选择项目', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ salername: [
|
|
|
+ { required: true, message: '请选择业务员', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ enterprisename: [
|
|
|
+ { required: true, message: '请选择', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ signdate: [
|
|
|
+ { required: true, message: '请填写签约时间', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ productdiscount: [
|
|
|
+ { message: '必须为数字', type:'number', trigger: 'change' },
|
|
|
+ { required: true, message: '请填写折扣', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ orderratio: [
|
|
|
+ { message: '必须为数字', type:'number', trigger: 'change' },
|
|
|
+ { required: true, message: '请填写折扣', trigger: 'blur' },
|
|
|
+ ],
|
|
|
+ salername: [
|
|
|
+ { required: true, message: '请选择经销商', trigger: 'change' },
|
|
|
+ ],
|
|
|
+ discountrate: [
|
|
|
+ { validator: checkNumber, trigger: 'blur'},
|
|
|
+ { validator: NumberSize, trigger: 'blur'}
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ salerListParams: {
|
|
|
+ "id": 20221122153902,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 20,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ agentListPrams: {
|
|
|
+ "id": 20220920083901,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 20,
|
|
|
+ "where": {
|
|
|
+ "condition": "",
|
|
|
+ "type":'',
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapGetters({
|
|
|
+ DrawerShow:'DrawerShow'
|
|
|
+ })
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ 'DrawerShow': {
|
|
|
+ handler (val) {
|
|
|
+ if (!val) {
|
|
|
+ this.showChange(false)
|
|
|
+ if (this.$refs.form) this.$refs.form.resetFields()
|
|
|
+ this.$refs.timeSelect.time = ''
|
|
|
+
|
|
|
+
|
|
|
+ } else {
|
|
|
+ if(this.$refs.member) this.$refs.member.listData()
|
|
|
+ if(this.$refs.project) {
|
|
|
+ this.$refs.project.params.content.type = this.$route.query.type == '经销项目' ? '2' : '1'
|
|
|
+ console.log(this.$refs.project.params.content.type,'项目类型');
|
|
|
+
|
|
|
+ this.$refs.project.queryEnterpriseArchives()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ immediate:true,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ this.form = {
|
|
|
+ "sa_contractid": 0,
|
|
|
+ "sys_enterpriseid": "",
|
|
|
+ "projectname":'',
|
|
|
+ "begdate": "",
|
|
|
+ "enddate": "",
|
|
|
+ "sa_projectid": "", //可选
|
|
|
+ "type": "", //可选
|
|
|
+ "discountrate": '', //可选
|
|
|
+ "saler_hrid": JSON.parse(window.sessionStorage.getItem('active_account')).hrid, //可选
|
|
|
+ "signdate": "", //可选
|
|
|
+ "signby": "", //可选
|
|
|
+ "remarks": "", //可选
|
|
|
+ "title": "",
|
|
|
+ "signamount":'',
|
|
|
+ "salername":JSON.parse(window.sessionStorage.getItem('active_account')).name,
|
|
|
+ "enterprisename":'',
|
|
|
+ "sys_printmodelid": '',//可选
|
|
|
+ "typemx":"",//可选
|
|
|
+ "modelname":"",
|
|
|
+ "calculatemodel":'1',
|
|
|
+ "productdiscount":'',
|
|
|
+ "orderratio":'',
|
|
|
+ "ascription_title":'',
|
|
|
+ 'ascription_contractid':''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ async onSubmit () {
|
|
|
+ this.$refs.form.validate(async val => {
|
|
|
+ if (val) {
|
|
|
+ /* 居间新建 */
|
|
|
+ if (this.$route.query.type == '居间') {
|
|
|
+ let is = this.centerEnterpriseList.some(item => item.sys_enterpriseid == this.form.sys_enterpriseid)
|
|
|
+ if (is) {
|
|
|
+ this.$confirm('当前项目已存在此居间商,请前往项目商机维护','提示',{
|
|
|
+ confirmButtonText:'确定',
|
|
|
+ cancelButtonText:'取消'
|
|
|
+ }).then(() => {
|
|
|
+ JSON.parse(sessionStorage.getItem('module_info')).forEach(item1 => {
|
|
|
+ item1.modules.forEach(item2 => {
|
|
|
+ if(item2.systemmodulename == "项目管理") {
|
|
|
+ sessionStorage.setItem('active_modules',JSON.stringify(item2))
|
|
|
+ this.$store.dispatch('changeDetailDrawer',true)
|
|
|
+ this.$store.dispatch('DrawerShowChange',false)
|
|
|
+ this.$router.push({path:'/projectChangeDetail',query:{id:this.centerEnterpriseList[0].sa_projectid}})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ if (this.$route.query.type == '直销项目') {
|
|
|
+ this.form.type = '项目'
|
|
|
+ this.form.typemx = '直销'
|
|
|
+ } else if (this.$route.query.type == '经销项目') {
|
|
|
+ this.form.type = '项目'
|
|
|
+ this.form.typemx = '经销'
|
|
|
+ } else {
|
|
|
+ this.form.type = this.$route.query.type
|
|
|
+ }
|
|
|
+ this.form.discountrate ? this.form.discountrate = (this.form.discountrate / 100).toFixed(4) : ''
|
|
|
+ this.form.productdiscount ? this.form.productdiscount = (this.form.productdiscount / 100).toFixed(4) : ''
|
|
|
+ this.form.orderratio ? this.form.orderratio = (this.form.orderratio / 100).toFixed(4) : ''
|
|
|
+ let res = await this.$api.requested({
|
|
|
+ "id":20221121185302,
|
|
|
+ "content": this.form
|
|
|
+ })
|
|
|
+ this.tool.showMessage(res,() => {
|
|
|
+ console.log(res.data);
|
|
|
+ this.$store.dispatch('DrawerShowChange',false)
|
|
|
+ this.$store.dispatch('changeDetailDrawer',true)
|
|
|
+ this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ /* 其它新建 */
|
|
|
+ if (this.$route.query.type == '直销项目') {
|
|
|
+ this.form.type = '项目'
|
|
|
+ this.form.typemx = '直销'
|
|
|
+ } else if (this.$route.query.type == '经销项目') {
|
|
|
+ this.form.type = '项目'
|
|
|
+ this.form.typemx = '经销'
|
|
|
+ } else {
|
|
|
+ this.form.type = this.$route.query.type
|
|
|
+ }
|
|
|
+ this.form.discountrate ? this.form.discountrate = (this.form.discountrate / 100).toFixed(4) : ''
|
|
|
+ this.form.productdiscount ? this.form.productdiscount = (this.form.productdiscount / 100).toFixed(4) : ''
|
|
|
+ this.form.orderratio ? this.form.orderratio = (this.form.orderratio / 100).toFixed(4) : ''
|
|
|
+ let res = await this.$api.requested({
|
|
|
+ "id":20221121185302,
|
|
|
+ "content": this.form
|
|
|
+ })
|
|
|
+ this.tool.showMessage(res,() => {
|
|
|
+ console.log(res.data);
|
|
|
+ this.$store.dispatch('DrawerShowChange',false)
|
|
|
+ this.$store.dispatch('changeDetailDrawer',true)
|
|
|
+ this.$router.push({path:'/contractDetail',query:{type:this.$route.query.type,id:res.data.sa_contractid,rowindex:res.data.rowindex}})
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onCancel () {
|
|
|
+ this.$store.dispatch('DrawerShowChange',false)
|
|
|
+ this.form = {
|
|
|
+ "sa_contractid": 0,
|
|
|
+ "sys_enterpriseid": "",
|
|
|
+ "projectname":'',
|
|
|
+ "begdate": "",
|
|
|
+ "enddate": "",
|
|
|
+ "sa_projectid": "", //可选
|
|
|
+ "type": "", //可选
|
|
|
+ "discountrate": '', //可选
|
|
|
+ "saler_hrid": JSON.parse(window.sessionStorage.getItem('active_account')).hrid, //可选
|
|
|
+ "signdate": "", //可选
|
|
|
+ "signby": "", //可选
|
|
|
+ "remarks": "", //可选
|
|
|
+ "title": "",
|
|
|
+ "signamount":'',
|
|
|
+ "salername":JSON.parse(window.sessionStorage.getItem('active_account')).name,
|
|
|
+ "enterprisename":'',
|
|
|
+ "sys_printmodelid": '',//可选
|
|
|
+ "typemx":"",//可选
|
|
|
+ "modelname":"",
|
|
|
+ "calculatemodel":'1',
|
|
|
+ "productdiscount":'',
|
|
|
+ "orderratio":'',
|
|
|
+ "ascription_title":'',
|
|
|
+ 'ascription_contractid':''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ showChange (key) {
|
|
|
+ this.agentVisible = false
|
|
|
+ this.salerVisible = false
|
|
|
+ this.projectVisible = false
|
|
|
+ this.accountVisible = false
|
|
|
+ this.modelVisible = false
|
|
|
+ this.concratVisible = false
|
|
|
+ key ? this[key] = true : ''
|
|
|
+ },
|
|
|
+ agentChange (data) {
|
|
|
+ this.form.sys_enterpriseid = data[0].sys_enterpriseid
|
|
|
+ this.form.enterprisename = data[0].enterprisename
|
|
|
+ this.agentVisible = false
|
|
|
+ },
|
|
|
+ salerChange (data) {
|
|
|
+ this.form.saler_hrid = data[0].hrid
|
|
|
+ this.form.saler_name = data[0].name
|
|
|
+ this.salerVisible = false
|
|
|
+ },
|
|
|
+ projectChange (data) {
|
|
|
+ this.form.projectname = data.projectname
|
|
|
+ this.form.sa_projectid = data.sa_projectid
|
|
|
+ this.projectVisible = false
|
|
|
+ },
|
|
|
+ accountChange (data) {
|
|
|
+ this.form.enterprisename = data[0].enterprisename
|
|
|
+ this.form.sys_enterpriseid = data[0].sys_enterpriseid
|
|
|
+ this.accountVisible = false
|
|
|
+ },
|
|
|
+ centerChange (data) {
|
|
|
+ this.form.enterprisename = data[0].enterprisename
|
|
|
+ this.form.sys_enterpriseid = data[0].sys_enterpriseid
|
|
|
+ this.agentVisible = false
|
|
|
+ },
|
|
|
+ concratChange (data) {
|
|
|
+ this.centerEnterpriseList = data.parties
|
|
|
+ this.form.ascription_title = data.projectname
|
|
|
+ this.form.ascription_contractid = data.sa_contractid
|
|
|
+ this.form.projectname = data.projectname
|
|
|
+ this.form.sa_projectid = data.sa_projectid
|
|
|
+ this.concratVisible = false
|
|
|
+ },
|
|
|
+ modelChange (data) {
|
|
|
+ this.form.modelname = data.modelname
|
|
|
+ console.log(this.form.modelname);
|
|
|
+
|
|
|
+ this.form.sys_printmodelid = data.sys_printmodelid
|
|
|
+ this.modelVisible = false
|
|
|
+ },
|
|
|
+ clearTime () {
|
|
|
+ this.form.begdate = ''
|
|
|
+ this.form.enddate = ''
|
|
|
+ },
|
|
|
+ timeChange (time) {
|
|
|
+ this.form.begdate = time[0]
|
|
|
+ this.form.enddate = time[1]
|
|
|
+ },
|
|
|
+ async getModelList () {
|
|
|
+ let res = await this.$api.requested({
|
|
|
+ "id": 20221121155801,
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 999999,
|
|
|
+ "where":{
|
|
|
+ "condition":""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.modelList = res.data
|
|
|
+ console.log(this.modelList);
|
|
|
+ }
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped>
|
|
|
+* {
|
|
|
+ box-sizing: border-box;
|
|
|
+}
|
|
|
+.header_info {
|
|
|
+ background: #ffffff;
|
|
|
+ padding: 16px 16px 0 16px;
|
|
|
+ margin-bottom: 16px;
|
|
|
+}
|
|
|
+/deep/.el-select,.el-input,.el-date-editor {
|
|
|
+ width: 100% !important;
|
|
|
+}
|
|
|
+</style>
|