Browse Source

生成task_order

master
陈裕财 4 years ago
parent
commit
33d5ff41d8
  1. 44
      src/api/xm/core/xmTaskOrder.js
  2. 279
      src/views/xm/core/xmTaskOrder/XmTaskOrderEdit.vue
  3. 497
      src/views/xm/core/xmTaskOrder/XmTaskOrderMng.vue

44
src/api/xm/core/xmTaskOrder.js

@ -0,0 +1,44 @@
import axios from '@/utils/request'
import { getDicts,initSimpleDicts,initComplexDicts } from '@/api/mdp/meta/item';//字典表
import config from '@/common/config'
let base = config.getCoreBasePath();
/**-------------------------与后端通讯接口------------------请写在下面-------------------------------------------- */
/**
* 任务相关费用订单表
*1 默认只开放普通查询所有查询只要上传 分页参数 {pageNum:当前页码从1开始,pageSize:每页记录数,total:总记录数如果是0后台会自动计算总记录数非0不会自动计算}后台都会自动按分页查询 其它 api用到再打开没用到的api请注释掉
*2 查询新增修改的参数格式 params={id:'订单编号 主键',userid:'用户编号',branchId:'公司ID-下单客户对应的企业',ostatus:'订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单',ctime:'创建时间',ltime:'更新时间',payType:'支付方式',payStatus:'支付状态0待付款,1已付款',payTime:'支付时间',prepayId:'第三方支付订单编号',finalFee:'最终总费用=origin_fee',othFee:'其它费用',originFee:'原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds',payAt:'最终付款金额-客户付款后回填',payAuthId:'支付授权码',payOpenid:'支付账户对应的第三方openid,注意,下单根付款不一定是同一个人',payUserid:'付款用户编号',payUsername:'付款用户名称',discount:'折扣率0-199',topFee:'置顶费用',topStime:'置顶开始时间',topEtime:'置顶结束时间',hotFee:'热搜费用',hotStime:'热搜开始时间',hotEtime:'热搜结束时间',top:'是否置顶',hot:'是否热搜',crmSupFee:'客服包办费用',urgentFee:'加急费用',urgent:'是否加急',crmSup:'是否客服包办',efunds:'托管金额',estate:'资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款',etoPlatTime:'托管资金付款给平台的时间',etoDevTime:'托管资金支付给服务商的时间',ebackTime:'托管资金退回甲方时间',taskId:'任务编号',topDays:'置顶天数',hotDays:'热搜天数',urgentDays:'加急天数',urgentStime:'加急开始时间',urgentEtime:'加急结束时间',calcStatus:'定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束',calcTime:'计算时间'}
**/
//普通查询 条件之间and关系
export const listXmTaskOrder = params => { return axios.get(`${base}/xm/core/xmTaskOrder/list`, { params: params }); };
//删除一条任务相关费用订单表 params={id:'订单编号 主键'}
export const delXmTaskOrder = params => { return axios.post(`${base}/xm/core/xmTaskOrder/del`,params); };
//批量删除任务相关费用订单表 params=[{id:'订单编号 主键'}]
export const batchDelXmTaskOrder = params => { return axios.post(`${base}/xm/core/xmTaskOrder/batchDel`, params); };
//修改一条任务相关费用订单表记录
export const editXmTaskOrder = params => { return axios.post(`${base}/xm/core/xmTaskOrder/edit`, params); };
//新增一条任务相关费用订单表
export const addXmTaskOrder = params => { return axios.post(`${base}/xm/core/xmTaskOrder/add`, params); };
//批量修改某些字段
export const editSomeFieldsXmTaskOrder = params => { return axios.post(`${base}/xm/core/xmTaskOrder/editSomeFields`, params); };
/**-------------------------前端mng|add|edit界面公共函数---------------请写在下面----------------------------------------------- */
//初始化页面上的字典
export const initDicts = (that) => {
var itemCodes=[];//在此添加要加载的字典 如['sex','grade','lvl']
if(itemCodes.length>0){
initSimpleDicts('all',itemCodes).then(res=>{
Object.assign(that.dicts,res.data.data)
});
}
};

279
src/views/xm/core/xmTaskOrder/XmTaskOrderEdit.vue

@ -0,0 +1,279 @@
<template>
<section class="page-container padding">
<el-row class="page-header">
</el-row>
<el-row class="page-main" :style="{overflowX:'auto',height:maxTableHeight+'px'}" ref="table">
<!--编辑界面 XmTaskOrder 任务相关费用订单表-->
<el-form :model="editForm" label-width="120px" :rules="editFormRules" ref="editFormRef">
<el-form-item label="用户编号" prop="userid">
<el-input v-model="editForm.userid" placeholder="用户编号" :maxlength="50" @change="editSomeFields(editForm,'userid',$event)"></el-input>
</el-form-item>
<el-form-item label="公司ID-下单客户对应的企业" prop="branchId">
<el-input v-model="editForm.branchId" placeholder="公司ID-下单客户对应的企业" :maxlength="50" @change="editSomeFields(editForm,'branchId',$event)"></el-input>
</el-form-item>
<el-form-item label="订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单" prop="ostatus">
<el-input v-model="editForm.ostatus" placeholder="订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单" :maxlength="1" @change="editSomeFields(editForm,'ostatus',$event)"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="ctime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ctime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="更新时间" prop="ltime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ltime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="支付方式" prop="payType">
<el-input v-model="editForm.payType" placeholder="支付方式" :maxlength="1" @change="editSomeFields(editForm,'payType',$event)"></el-input>
</el-form-item>
<el-form-item label="支付状态0待付款,1已付款" prop="payStatus">
<el-input v-model="editForm.payStatus" placeholder="支付状态0待付款,1已付款" :maxlength="1" @change="editSomeFields(editForm,'payStatus',$event)"></el-input>
</el-form-item>
<el-form-item label="支付时间" prop="payTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.payTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="第三方支付订单编号" prop="prepayId">
<el-input v-model="editForm.prepayId" placeholder="第三方支付订单编号" :maxlength="50" @change="editSomeFields(editForm,'prepayId',$event)"></el-input>
</el-form-item>
<el-form-item label="订单编号" prop="id">
<el-input v-model="editForm.id" placeholder="订单编号" :maxlength="50" @change="editSomeFields(editForm,'id',$event)"></el-input>
</el-form-item>
<el-form-item label="最终总费用=origin_fee" prop="finalFee">
<el-input v-model="editForm.finalFee" placeholder="最终总费用=origin_fee" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="其它费用" prop="othFee">
<el-input v-model="editForm.othFee" placeholder="其它费用" :maxlength="10"></el-input>
</el-form-item>
<el-form-item label="原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds" prop="originFee">
<el-input v-model="editForm.originFee" placeholder="原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="最终付款金额-客户付款后回填" prop="payAt">
<el-input v-model="editForm.payAt" placeholder="最终付款金额-客户付款后回填" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="支付授权码" prop="payAuthId">
<el-input v-model="editForm.payAuthId" placeholder="支付授权码" :maxlength="50" @change="editSomeFields(editForm,'payAuthId',$event)"></el-input>
</el-form-item>
<el-form-item label="支付账户对应的第三方openid,注意,下单根付款不一定是同一个人" prop="payOpenid">
<el-input v-model="editForm.payOpenid" placeholder="支付账户对应的第三方openid,注意,下单根付款不一定是同一个人" :maxlength="50" @change="editSomeFields(editForm,'payOpenid',$event)"></el-input>
</el-form-item>
<el-form-item label="付款用户编号" prop="payUserid">
<el-input v-model="editForm.payUserid" placeholder="付款用户编号" :maxlength="50" @change="editSomeFields(editForm,'payUserid',$event)"></el-input>
</el-form-item>
<el-form-item label="付款用户名称" prop="payUsername">
<el-input v-model="editForm.payUsername" placeholder="付款用户名称" :maxlength="255" @change="editSomeFields(editForm,'payUsername',$event)"></el-input>
</el-form-item>
<el-form-item label="折扣率0-199" prop="discount">
<el-input-number v-model="editForm.discount" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="置顶费用" prop="topFee">
<el-input v-model="editForm.topFee" placeholder="置顶费用" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="置顶开始时间" prop="topStime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.topStime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="置顶结束时间" prop="topEtime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.topEtime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="热搜费用" prop="hotFee">
<el-input v-model="editForm.hotFee" placeholder="热搜费用" :maxlength="1" @change="editSomeFields(editForm,'hotFee',$event)"></el-input>
</el-form-item>
<el-form-item label="热搜开始时间" prop="hotStime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.hotStime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="热搜结束时间" prop="hotEtime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.hotEtime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="是否置顶" prop="top">
<el-input v-model="editForm.top" placeholder="是否置顶" :maxlength="1" @change="editSomeFields(editForm,'top',$event)"></el-input>
</el-form-item>
<el-form-item label="是否热搜" prop="hot">
<el-input v-model="editForm.hot" placeholder="是否热搜" :maxlength="1" @change="editSomeFields(editForm,'hot',$event)"></el-input>
</el-form-item>
<el-form-item label="客服包办费用" prop="crmSupFee">
<el-input v-model="editForm.crmSupFee" placeholder="客服包办费用" :maxlength="1" @change="editSomeFields(editForm,'crmSupFee',$event)"></el-input>
</el-form-item>
<el-form-item label="加急费用" prop="urgentFee">
<el-input v-model="editForm.urgentFee" placeholder="加急费用" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="是否加急" prop="urgent">
<el-input v-model="editForm.urgent" placeholder="是否加急" :maxlength="1" @change="editSomeFields(editForm,'urgent',$event)"></el-input>
</el-form-item>
<el-form-item label="是否客服包办" prop="crmSup">
<el-input v-model="editForm.crmSup" placeholder="是否客服包办" :maxlength="1" @change="editSomeFields(editForm,'crmSup',$event)"></el-input>
</el-form-item>
<el-form-item label="托管金额" prop="efunds">
<el-input v-model="editForm.efunds" placeholder="托管金额" :maxlength="20"></el-input>
</el-form-item>
<el-form-item label="资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款" prop="estate">
<el-input v-model="editForm.estate" placeholder="资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款" :maxlength="1" @change="editSomeFields(editForm,'estate',$event)"></el-input>
</el-form-item>
<el-form-item label="托管资金付款给平台的时间" prop="etoPlatTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.etoPlatTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="托管资金支付给服务商的时间" prop="etoDevTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.etoDevTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="托管资金退回甲方时间" prop="ebackTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.ebackTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="任务编号" prop="taskId">
<el-input v-model="editForm.taskId" placeholder="任务编号" :maxlength="50" @change="editSomeFields(editForm,'taskId',$event)"></el-input>
</el-form-item>
<el-form-item label="置顶天数" prop="topDays">
<el-input-number v-model="editForm.topDays" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="热搜天数" prop="hotDays">
<el-input-number v-model="editForm.hotDays" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="加急天数" prop="urgentDays">
<el-input-number v-model="editForm.urgentDays" :min="0" :max="200"></el-input-number>
</el-form-item>
<el-form-item label="加急开始时间" prop="urgentStime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.urgentStime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="加急结束时间" prop="urgentEtime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.urgentEtime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束" prop="calcStatus">
<el-input v-model="editForm.calcStatus" placeholder="定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束" :maxlength="1" @change="editSomeFields(editForm,'calcStatus',$event)"></el-input>
</el-form-item>
<el-form-item label="计算时间" prop="calcTime">
<el-date-picker type="date" placeholder="选择日期" v-model="editForm.calcTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-form>
</el-row>
<el-row v-if="opType=='add'" class="page-bottom bottom-fixed">
<el-button @click.native="handleCancel">取消</el-button>
<el-button v-loading="load.edit" type="primary" @click.native="saveSubmit" :disabled="load.edit==true">提交</el-button>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from "@/common/config"; //import
import { initDicts, addXmTaskOrder,editXmTaskOrder,editSomeFieldsXmTaskOrder } from '@/api/xm/core/xmTaskOrder';
import { mapGetters } from 'vuex'
export default {
name:'xmTaskOrderEdit',
components: {
},
computed: {
...mapGetters([ 'userInfo' ]),
},
props:['xmTaskOrder','visible','opType'],
watch: {
'xmTaskOrder':function( xmTaskOrder ) {
if(xmTaskOrder){
this.editForm = {...xmTaskOrder};
}
},
'visible':function(visible) {
if(visible==true){
this.initData()
}
}
},
data() {
return {
currOpType:'add',//add/edit
load:{ list: false, edit: false, del: false, add: false },//...
dicts:{},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
editFormRules: {
id: [
//{ required: true, message: '', trigger: 'blur' }
]
},
editForm: {
userid:'',branchId:'',ostatus:'',ctime:'',ltime:'',payType:'',payStatus:'',payTime:'',prepayId:'',id:'',finalFee:'',othFee:'',originFee:'',payAt:'',payAuthId:'',payOpenid:'',payUserid:'',payUsername:'',discount:'',topFee:'',topStime:'',topEtime:'',hotFee:'',hotStime:'',hotEtime:'',top:'',hot:'',crmSupFee:'',urgentFee:'',urgent:'',crmSup:'',efunds:'',estate:'',etoPlatTime:'',etoDevTime:'',ebackTime:'',taskId:'',topDays:'',hotDays:'',urgentDays:'',urgentStime:'',urgentEtime:'',calcStatus:'',calcTime:''
},
maxTableHeight:300,
}//end return
},//end data
methods: {
...util,
// @cancel="editFormVisible=false"
handleCancel:function(){
this.$refs['editFormRef'].resetFields();
this.$emit('cancel');
},
//XmTaskOrder @submit="afterEditSubmit"
saveSubmit: function () {
this.$refs.editFormRef.validate((valid) => {
if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let params = Object.assign({}, this.editForm);
var func=addXmTaskOrder
if(this.currOpType=='edit'){
func=editXmTaskOrder
}
func(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
this.editForm=res.data.data
this.initData()
this.currOpType="edit";
this.$emit('submit');// @submit="afterAddSubmit"
}
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
});
}else{
this.$notify({ showClose:true, message: "表单验证不通过,请修改表单数据再提交", type: 'error' });
}
});
},
initData: function(){
this.currOpType=this.opType
if(this.xmTaskOrder){
this.editForm = Object.assign({},this.xmTaskOrder);
}
if(this.opType=='edit'){
}else{
}
this.editFormBak={...this.editForm}
},
editSomeFields(row,fieldName,$event){
if(this.opType=='add'){
return;
}
let params={};
params['ids']=[row].map(i=>i.id)
params[fieldName]=$event
var func = editSomeFieldsXmTaskOrder
func(params).then(res=>{
let tips = res.data.tips;
if(tips.isOk){
this.editFormBak=[...this.editForm]
}else{
Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch((e)=>Object.assign(this.editForm,this.editFormBak))
},
},//end method
mounted() {
this.$nextTick(() => {
initDicts(this);
this.initData()
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.table.$el)
});
}
}
</script>
<style scoped>
</style>

497
src/views/xm/core/xmTaskOrder/XmTaskOrderMng.vue

@ -0,0 +1,497 @@
<template>
<section class="page-container border padding">
<el-row>
<el-input v-model="filters.key" style="width: 20%;" placeholder="模糊查询"></el-input>
<el-button v-loading="load.list" :disabled="load.list==true" @click="searchXmTaskOrders" icon="el-icon-search">查询</el-button>
<span style="float:right;">
<el-button type="primary" @click="showAdd" icon="el-icon-plus" plain> </el-button>
<el-button type="danger" v-loading="load.del" @click="batchDel" :disabled="this.sels.length===0 || load.del==true" icon="el-icon-delete" plain></el-button>
</span>
</el-row>
<el-row class="padding-top">
<!--列表 XmTaskOrder 任务相关费用订单表-->
<el-table ref="xmTaskOrderTable" :data="xmTaskOrders" :height="maxTableHeight" @sort-change="sortChange" highlight-current-row v-loading="load.list" border @selection-change="selsChange" @row-click="rowClick" style="width: 100%;">
<el-table-column type="selection" width="55" show-overflow-tooltip fixed="left"></el-table-column>
<el-table-column sortable type="index" width="55" show-overflow-tooltip fixed="left"></el-table-column>
<!--
<el-table-column sortable prop="username" width="55" show-overflow-tooltip fixed="left">
<span class="cell-text"> {{scope.row.username}}} </span>
<span class="cell-bar"><el-input style="display:inline;" v-model="scope.row.username" placeholder="" @change="editSomeFields(scope.row,'username',$event)" :maxlength="22"></el-input></span>
</el-table-column>
-->
<el-table-column prop="id" label="订单编号" min-width="120" show-overflow-tooltip fixed="left"></el-table-column>
<el-table-column prop="userid" label="用户编号" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.userid}} </span>
</template>
</el-table-column>
<el-table-column prop="branchId" label="公司ID-下单客户对应的企业" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.branchId}} </span>
</template>
</el-table-column>
<el-table-column prop="ostatus" label="订单状态0-初始,1-待确认,2-待付款,3-已付款,4-已完成,5-已取消-未付款前可取消,取消后可删除,6-退单-退单后变为已取消,8已关闭-售后完成后可以关闭订单" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.ostatus}} </span>
</template>
</el-table-column>
<el-table-column prop="ctime" label="创建时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.ctime}} </span>
</template>
</el-table-column>
<el-table-column prop="ltime" label="更新时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.ltime}} </span>
</template>
</el-table-column>
<el-table-column prop="payType" label="支付方式" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payType}} </span>
</template>
</el-table-column>
<el-table-column prop="payStatus" label="支付状态0待付款,1已付款" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payStatus}} </span>
</template>
</el-table-column>
<el-table-column prop="payTime" label="支付时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payTime}} </span>
</template>
</el-table-column>
<el-table-column prop="prepayId" label="第三方支付订单编号" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.prepayId}} </span>
</template>
</el-table-column>
<el-table-column prop="finalFee" label="最终总费用=origin_fee" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.finalFee}} </span>
</template>
</el-table-column>
<el-table-column prop="othFee" label="其它费用" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.othFee}} </span>
</template>
</el-table-column>
<el-table-column prop="originFee" label="原始价格=top_fee+urgent_fee+crm_sup_fee+hot_fee+efunds" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.originFee}} </span>
</template>
</el-table-column>
<el-table-column prop="payAt" label="最终付款金额-客户付款后回填" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payAt}} </span>
</template>
</el-table-column>
<el-table-column prop="payAuthId" label="支付授权码" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payAuthId}} </span>
</template>
</el-table-column>
<el-table-column prop="payOpenid" label="支付账户对应的第三方openid,注意,下单根付款不一定是同一个人" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payOpenid}} </span>
</template>
</el-table-column>
<el-table-column prop="payUserid" label="付款用户编号" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payUserid}} </span>
</template>
</el-table-column>
<el-table-column prop="payUsername" label="付款用户名称" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.payUsername}} </span>
</template>
</el-table-column>
<el-table-column prop="discount" label="折扣率0-199" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.discount}} </span>
</template>
</el-table-column>
<el-table-column prop="topFee" label="置顶费用" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.topFee}} </span>
</template>
</el-table-column>
<el-table-column prop="topStime" label="置顶开始时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.topStime}} </span>
</template>
</el-table-column>
<el-table-column prop="topEtime" label="置顶结束时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.topEtime}} </span>
</template>
</el-table-column>
<el-table-column prop="hotFee" label="热搜费用" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.hotFee}} </span>
</template>
</el-table-column>
<el-table-column prop="hotStime" label="热搜开始时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.hotStime}} </span>
</template>
</el-table-column>
<el-table-column prop="hotEtime" label="热搜结束时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.hotEtime}} </span>
</template>
</el-table-column>
<el-table-column prop="top" label="是否置顶" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.top}} </span>
</template>
</el-table-column>
<el-table-column prop="hot" label="是否热搜" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.hot}} </span>
</template>
</el-table-column>
<el-table-column prop="crmSupFee" label="客服包办费用" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.crmSupFee}} </span>
</template>
</el-table-column>
<el-table-column prop="urgentFee" label="加急费用" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.urgentFee}} </span>
</template>
</el-table-column>
<el-table-column prop="urgent" label="是否加急" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.urgent}} </span>
</template>
</el-table-column>
<el-table-column prop="crmSup" label="是否客服包办" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.crmSup}} </span>
</template>
</el-table-column>
<el-table-column prop="efunds" label="托管金额" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.efunds}} </span>
</template>
</el-table-column>
<el-table-column prop="estate" label="资金托管状况0-无须托管,1-已托管,2-已付款给服务商,3-已退款" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.estate}} </span>
</template>
</el-table-column>
<el-table-column prop="etoPlatTime" label="托管资金付款给平台的时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.etoPlatTime}} </span>
</template>
</el-table-column>
<el-table-column prop="etoDevTime" label="托管资金支付给服务商的时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.etoDevTime}} </span>
</template>
</el-table-column>
<el-table-column prop="ebackTime" label="托管资金退回甲方时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.ebackTime}} </span>
</template>
</el-table-column>
<el-table-column prop="taskId" label="任务编号" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.taskId}} </span>
</template>
</el-table-column>
<el-table-column prop="topDays" label="置顶天数" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.topDays}} </span>
</template>
</el-table-column>
<el-table-column prop="hotDays" label="热搜天数" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.hotDays}} </span>
</template>
</el-table-column>
<el-table-column prop="urgentDays" label="加急天数" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.urgentDays}} </span>
</template>
</el-table-column>
<el-table-column prop="urgentStime" label="加急开始时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.urgentStime}} </span>
</template>
</el-table-column>
<el-table-column prop="urgentEtime" label="加急结束时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.urgentEtime}} </span>
</template>
</el-table-column>
<el-table-column prop="calcStatus" label="定时检查日期是否已过期,已过期则取消任务中的置顶、加急、热搜状态计算状态0-无须计算,1-本周期已计算待下周期计算,2-结束" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.calcStatus}} </span>
</template>
</el-table-column>
<el-table-column prop="calcTime" label="计算时间" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<span> {{scope.row.calcTime}} </span>
</template>
</el-table-column>
<el-table-column label="操作" width="180" fixed="right">
<template scope="scope">
<el-button type="primary" @click="showEdit( scope.row,scope.$index)" icon="el-icon-edit" plain></el-button>
<el-button type="danger" @click="handleDel(scope.row,scope.$index)" icon="el-icon-delete" plain></el-button>
</template>
</el-table-column>
</el-table>
<el-pagination layout="total, sizes, prev, pager, next" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10,20, 50, 100, 500]" :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :total="pageInfo.total" style="float:right;"></el-pagination>
</el-row>
<el-row>
<!--编辑 XmTaskOrder 任务相关费用订单表界面-->
<el-drawer title="编辑任务相关费用订单表" :visible.sync="editFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-order-edit op-type="edit" :xm-task-order="editForm" :visible="editFormVisible" @cancel="editFormVisible=false" @submit="afterEditSubmit"></xm-task-order-edit>
</el-drawer>
<!--新增 XmTaskOrder 任务相关费用订单表界面-->
<el-drawer title="新增任务相关费用订单表" :visible.sync="addFormVisible" size="60%" append-to-body :close-on-click-modal="false">
<xm-task-order-edit op-type="add" :visible="addFormVisible" @cancel="addFormVisible=false" @submit="afterAddSubmit"></xm-task-order-edit>
</el-drawer>
</el-row>
</section>
</template>
<script>
import util from '@/common/js/util';//
import config from '@/common/config';//
import { initDicts,listXmTaskOrder, delXmTaskOrder, batchDelXmTaskOrder,editSomeFieldsXmTaskOrder } from '@/api/xm/core/xmTaskOrder';
import XmTaskOrderEdit from './XmTaskOrderEdit';//
import { mapGetters } from 'vuex'
export default {
name:'xmTaskOrderMng',
components: {
XmTaskOrderEdit,
},
props:['visible'],
computed: {
...mapGetters(['userInfo']),
},
watch:{
visible(val){
if(val==true){
this.initData();
this.searchXmTaskOrders()
}
}
},
data() {
return {
filters: {
key: ''
},
xmTaskOrders: [],//
pageInfo:{//
total:0,//0>0
pageSize:10,//
count:false,//
pageNum:1,//1
orderFields:[],// ['sex','student_id']
orderDirs:[]// asc,desc ['asc','desc']
},
load:{ list: false, edit: false, del: false, add: false },//...
sels: [],//
dicts:{
//sex: [{id:'1',name:''},{id:'2',name:''}]
},// params={categoryId:'all',itemCodes:['sex']} {sex: [{id:'1',name:''},{id:'2',name:''}]}
addFormVisible: false,//xmTaskOrder
addForm: {
userid:'',branchId:'',ostatus:'',ctime:'',ltime:'',payType:'',payStatus:'',payTime:'',prepayId:'',id:'',finalFee:'',othFee:'',originFee:'',payAt:'',payAuthId:'',payOpenid:'',payUserid:'',payUsername:'',discount:'',topFee:'',topStime:'',topEtime:'',hotFee:'',hotStime:'',hotEtime:'',top:'',hot:'',crmSupFee:'',urgentFee:'',urgent:'',crmSup:'',efunds:'',estate:'',etoPlatTime:'',etoDevTime:'',ebackTime:'',taskId:'',topDays:'',hotDays:'',urgentDays:'',urgentStime:'',urgentEtime:'',calcStatus:'',calcTime:''
},
editFormVisible: false,//
editForm: {
userid:'',branchId:'',ostatus:'',ctime:'',ltime:'',payType:'',payStatus:'',payTime:'',prepayId:'',id:'',finalFee:'',othFee:'',originFee:'',payAt:'',payAuthId:'',payOpenid:'',payUserid:'',payUsername:'',discount:'',topFee:'',topStime:'',topEtime:'',hotFee:'',hotStime:'',hotEtime:'',top:'',hot:'',crmSupFee:'',urgentFee:'',urgent:'',crmSup:'',efunds:'',estate:'',etoPlatTime:'',etoDevTime:'',ebackTime:'',taskId:'',topDays:'',hotDays:'',urgentDays:'',urgentStime:'',urgentEtime:'',calcStatus:'',calcTime:''
},
maxTableHeight:300,
}
},//end data
methods: {
...util,
handleSizeChange(pageSize) {
this.pageInfo.pageSize=pageSize;
this.getXmTaskOrders();
},
handleCurrentChange(pageNum) {
this.pageInfo.pageNum = pageNum;
this.getXmTaskOrders();
},
// obj.order=ascending/descending, asc/desc ; obj.prop=,
sortChange( obj ){
if(obj.order==null){
this.pageInfo.orderFields=[];
this.pageInfo.orderDirs=[];
}else{
var dir='asc';
if(obj.order=='ascending'){
dir='asc'
}else{
dir='desc';
}
this.pageInfo.orderFields=[util.toLine(obj.prop)];
this.pageInfo.orderDirs=[dir];
}
this.getXmTaskOrders();
},
searchXmTaskOrders(){
this.pageInfo.count=true;
this.getXmTaskOrders();
},
// XmTaskOrder
getXmTaskOrders() {
let params = {
pageSize: this.pageInfo.pageSize,
pageNum: this.pageInfo.pageNum,
total: this.pageInfo.total,
count:this.pageInfo.count
};
if(this.pageInfo.orderFields!=null && this.pageInfo.orderFields.length>0){
let orderBys=[];
for(var i=0;i<this.pageInfo.orderFields.length;i++){
orderBys.push(this.pageInfo.orderFields[i]+" "+this.pageInfo.orderDirs[i])
}
params.orderBy= orderBys.join(",")
}
if(this.filters.key){
params.key=this.filters.key
}
this.load.list = true;
listXmTaskOrder(params).then((res) => {
var tips=res.data.tips;
if(tips.isOk){
this.pageInfo.total = res.data.total;
this.pageInfo.count=false;
this.xmTaskOrders = res.data.data;
}else{
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: 'error' });
}
this.load.list = false;
}).catch( err => this.load.list = false );
},
// XmTaskOrder
showEdit: function ( row,index ) {
this.editFormVisible = true;
this.editForm = Object.assign({}, row);
},
// XmTaskOrder
showAdd: function () {
this.addFormVisible = true;
//this.addForm=Object.assign({}, this.editForm);
},
afterAddSubmit(){
this.addFormVisible=false;
this.pageInfo.count=true;
this.getXmTaskOrders();
},
afterEditSubmit(){
this.editFormVisible=false;
},
//xmTaskOrder
selsChange: function (sels) {
this.sels = sels;
},
//xmTaskOrder
handleDel: function (row,index) {
this.$confirm('确认删除该记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
let params = { id:row.id };
delXmTaskOrder(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if(tips.isOk){
this.searchXmTaskOrders();
}
this.$notify({ position:'bottom-left', showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err => this.load.del=false );
});
},
//xmTaskOrder
batchDel: function () {
if(this.sels.length<=0){
return;
}
var params=this.sels.map(i=>{
return { id:i.id}
})
this.$confirm('确认删除选中记录吗?', '提示', {
type: 'warning'
}).then(() => {
this.load.del=true;
batchDelXmTaskOrder(params).then((res) => {
this.load.del=false;
var tips=res.data.tips;
if( tips.isOk ){
this.searchXmTaskOrders();
}
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error'});
}).catch( err => this.load.del=false );
});
},
editSomeFields(row,fieldName,$event){
let params={};
if(this.sels.length>0){
if(!this.sels.some(k=> k.id==row.id)){
this.$notify({position:'bottom-left',showClose:true,message:'请编辑选中的行',type:'warning'})
Object.assign(this.editForm,this.editFormBak)
return;
}
params['ids']=this.sels.map(i=>i.id)
}else{
params['ids']=[row].map(i=>i.id)
}
params[fieldName]=$event
var func = editSomeFieldsXmTaskOrder
func(params).then(res=>{
let tips = res.data.tips;
if(tips.isOk){
if(this.sels.length>0){
this.searchXmTaskOrders();
}
this.editFormBak=[...this.editForm]
}else{
Object.assign(this.editForm,this.editFormBak)
this.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch((e)=>Object.assign(this.editForm,this.editFormBak))
},
rowClick: function(row, event, column){
this.editForm=row
this.editFormBak={...row};
this.$emit('row-click',row, event, column);// @row-click="rowClick"
},
initData: function(){
},
},//end methods
mounted() {
this.$nextTick(() => {
initDicts(this);
this.initData()
this.searchXmTaskOrders();
this.maxTableHeight = util.calcTableMaxHeight(this.$refs.xmTaskOrderTable.$el)
});
}
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save