This commit is contained in:
linfso 2024-08-07 21:16:45 +08:00
parent 2fcff8b824
commit 1bc7aff82e
6 changed files with 187 additions and 169 deletions

View File

@ -325,7 +325,7 @@ export default {
// refTableObj.clearSelection()
for (var i = 0; i < fileRowNodes.length; i++) {
if (fileRowNodes[i].className.indexOf("el-table__row") != -1) {
// fileRowNodes[i].classList.remove("rowSeled");
fileRowNodes[i].classList.remove("rowSeled");
selRowList.push(fileRowNodes[i]);
}
}
@ -418,12 +418,7 @@ export default {
if (selRowList[i].className.indexOf("rowSeled") != -1 ) {
// selRowList[i].className = "el-table__row";
refTableObj.toggleRowSelection(vnode.context.tableData[i],false);
// vnode.context.multipleSelection.forEach((ele,i)=>{
// //这里没用对象是否相等用的是传入table中的唯一的myKey字段
// if(ele[vnode.context.myKey]==vnode.context.tableData[i][vnode.context.myKey] ){
// vnode.context.multipleSelection.splice(i,1);
// }
// })
selRowList[i].classList.remove("rowSeled");
}
}
}

View File

@ -3,46 +3,36 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24">
<el-form-item label="销售联系人" prop="salesmen">
<el-input v-model="form.salesmen" placeholder="请输入销售联系人" />
<el-form-item label="业务员" prop="salesmen">
<SalemanPicker :placeholder="$t('业务员')" v-model="form.salesmen" ></SalemanPicker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="销售助理" prop="salesAss">
<el-input v-model="form.salesAss" placeholder="请输入销售助理" />
<el-form-item label="业务助理" prop="salesAss">
<SalesAssPicker :placeholder="$t('业务助理')" v-model="form.salesAss" ></SalesAssPicker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
<!--
<el-form-item label="上级字典">
<treeselect
ref="tree"
v-model="form.parentId"
:options="emisSalesmenRelOptions"
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
placeholder="选择上级"
/>
</el-form-item>
-->
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisSalesmenRel, getEmisSalesmenRel, delEmisSalesmenRel, addEmisSalesmenRel, updateEmisSalesmenRel } from "@/api/emis/emisSalesmenRel";
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import SalesAssPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
export default {
name: "emisSalesmenRelForm",
@ -51,7 +41,7 @@ export default {
type:Number
}
},
components: { },
components: { SalemanPicker,SalesAssPicker },
dicts: [
],
data() {
@ -90,7 +80,7 @@ export default {
methods: {
initData() {
if(this.id !=null) {
this.loading = true;
getEmisSalesmenRel(this.id).then(response => {

View File

@ -1,29 +1,30 @@
<template>
<div class="app-container">
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="" prop="salesmen">
<el-input
v-model="queryParams.salesmen"
:placeholder="$t('销售联系人')"
clearable
@keyup.enter.native="handleQuery"
/>
<XdPageContainer class="app-container">
<SearchForm slot="pageHeader" :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="业务员" prop="salesmen">
<SalemanPicker :placeholder="$t('业务员')" v-model="queryParams.salesmen" ></SalemanPicker>
</el-form-item>
<el-form-item label="" prop="salesAss">
<el-input
v-model="queryParams.salesAss"
:placeholder="$t('销售助理')"
clearable
@keyup.enter.native="handleQuery"
/>
<el-form-item label="业务助理" prop="salesAss">
<SalesAssPicker :placeholder="$t('业务助理')" v-model="queryParams.salesAss" ></SalesAssPicker>
</el-form-item>
</SearchForm>
<XdTable v-loading="loading"
border stripe
size="small"
<XdTable
slot="pageContent"
slot-scope="slotProps"
:height="(slotProps.contentHeight)+'px'"
v-loading="loading"
ref="refTable"
storageName="emisSalesmenRelList_main_240702"
border
size="mini"
:data="emisSalesmenRelList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
@ -32,7 +33,7 @@
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
@ -45,7 +46,7 @@
v-hasPermi="['emis:emisSalesmenRel:add']"
>新增</el-button>
</el-col>
<!--
<!--
<el-col :span="1.5">
<el-button
type="success"
@ -68,7 +69,7 @@
v-hasPermi="['emis:emisSalesmenRel:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-col :span="1.5">
<el-button
type="warning"
plain
@ -77,10 +78,10 @@
@click="handleExport"
v-hasPermi="['emis:emisSalesmenRel:export']"
>导出</el-button>
</el-col> -->
</el-col>
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<!--
<el-table-column label="序号" align="center" min-width="60">
@ -88,65 +89,33 @@
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<el-table-column :label="$t('销售联系人')" align="center" prop="salesmen" min-width="100" />
<el-table-column :label="$t('销售助理')" align="center" prop="salesAss" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisSalesmenRel:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisSalesmenRel:remove']"
>删除</el-button> -->
</template>
</el-table-column>
<el-table-column label="创建人" align="center" prop="createByName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="创建网点" align="center" prop="createSiteName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="创建时间" align="center" prop="createTime" width="170"/>
<el-table-column label="修改人" align="center" prop="updateByName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="修改网点" align="center" prop="updateSiteName" width="80" :show-overflow-tooltip="true"/>
<el-table-column label="修改时间" align="center" prop="updateTime" width="170"/>
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisSalesmenRelForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisSalesmenRelForm>
</el-dialog>
<!--
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
@ -154,7 +123,7 @@
</el-dialog>
-->
</div>
</XdPageContainer>
</template>
<script>
@ -162,10 +131,12 @@ import { listEmisSalesmenRel, getEmisSalesmenRel, delEmisSalesmenRel, addEmisSal
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisSalesmenRelView from '@/views/emis/emisSalesmenRel/emisSalesmenRelView';
import emisSalesmenRelForm from '@/views/emis/emisSalesmenRel/emisSalesmenRelForm';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import SalesAssPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
export default {
name: "emisSalesmenRel",
components: { elDateSimplePicker,emisSalesmenRelForm },
components: { elDateSimplePicker,emisSalesmenRelForm ,SalemanPicker,SalesAssPicker},
dicts: [
],
data() {
@ -186,11 +157,13 @@ export default {
total: 0,
// 销售人员关联表表格数据
emisSalesmenRelList: [],
currentId:null,
openForm: false,
titleForm: "",
selectionList:null,
// 弹出展示层
id:null,
titleView:"",
@ -216,21 +189,21 @@ export default {
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
// if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
// this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
// this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
// }
// if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
// this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
// this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
// }
listEmisSalesmenRel(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisSalesmenRelList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -243,6 +216,7 @@ export default {
},
// 多选框选中数据
handleSelectionChange(selection) {
this.selectionList=selection;
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
@ -292,48 +266,106 @@ export default {
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisSalesmenRel/export', {
// ...this.queryParams
// }, `emisSalesmenRel_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
/** 导出按钮操作 */
handleExport() {
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
})
listEmisSalesmenRel(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','销售联系人','销售助理','备注','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建站点','更新站点',];
const filterVal = ['id','salesmen','salesAss','remark','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '销售人员关联表',
autoWidth: true
})
loadingInstance.close()
})
}
});
if(this.selectionList&&this.selectionList.length>0){
this.exportData(this.selectionList,loadingInstance);
}
else{
this.queryParams.pageNum=1;
this.queryParams.pageSize=5000;
listEmisWaybill(this.queryParams).then(response => {
if (response.code === 200) {
this.exportData(response.rows,loadingInstance);
}
});
}
},
exportData(selData,loadingInstance){
const curList =selData
import('@/vendor/Export2Excel').then(excel => {
const exportParam=this.$refs.refTable.getExportParam();
const tHeader = exportParam.header;
const filterVal = exportParam.filter;
const data = this.formatJson(filterVal, curList, selData)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '列表',
autoWidth: true
})
loadingInstance.close()
})
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
if (j === 'kjlx') {
return v['sendSiteName']+'--'+v['dispatchUnderlingSiteName'];
}
if (j === 'fjr') {
return v['sendName']+'--'+v['receiveName'];
}
if (j === 'sendMobile') {
return "";
}
if (j === 'paymentStatus') {
return this.selectDictLabel(this.dict.type.emis_payment_status,v[j]);
}
if (j === 'pickupMethod') {
return this.selectDictLabel(this.dict.type.emis_qujian_fangshi,v[j]);
}
if (j === 'customsEclaration') {
return this.selectDictLabel(this.dict.type.emis_declare_mode,v[j]);
}
if (j === 'customsClear') {
return this.selectDictLabel(this.dict.type.emis_customs_clear,v[j]);
}
if (j === 'packType') {
return this.selectDictLabels(this.dict.type.emis_tab_packing_type,v[j]);
}
if (j === 'dispatchMethod') {
if(v[j] == 1){
return '派送';
}else{
return '自提';
}
return statusStr;
}
if (j === 'blMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blAcceptMessage') {
if(v[j] == 1){
return '发送';
}else{
return '不发送';
}
}
if (j === 'blSign') {
if(v[j] == 1){
return '已签收';
}else{
return '未签收';
}
}
if (j === 'paymentType') {
return this.selectDictLabel(this.dict.type.emis_payment_type,v[j]);
}
return v[j]
}))

View File

@ -34,10 +34,8 @@
<XdTable
slot="pageContent"
v-loading="loading"
border stripe
border
size="mini"
storageName="emisSettleBillList_site_confitm_main"
:data="emisSettleBillList"
@ -83,6 +81,7 @@
@click="handleApplyOpenBill"
>申请开票</el-button>
</el-col>
<!-- <el-col :span="1.5" v-if="activeTab=='waitConfirm'">
<el-button
type="primary"
@ -173,9 +172,10 @@
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="80%" :destroy-on-close="true" v-dialogDrag append-to-body>
<MergeBillForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></MergeBillForm>
</el-dialog>
<el-dialog :title="titleForm" :visible.sync="openForm" width="70%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisSettleInvoiceRecordForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisSettleInvoiceRecordForm>
</el-dialog>
</XdPageContainer>
@ -341,13 +341,13 @@ export default {
},
// 申请开票
handleApplyOpenBill(){
this.currentId=null;
this.openForm= true;
this.titleForm = "新增开票申请";
},
handleSendDbClick(row){
this.$emit("onSelect",row);
},
//指定列求和
getSummaries(param) {
const { columns, data } = param;

View File

@ -324,7 +324,7 @@
:height="(slotProps.contentHeight)+'px'"
v-loading="loading"
border stripe
border
size="small"
storageName="emisSettleInvoiceRecordList_apply_main"
@ -341,7 +341,7 @@
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button
type="primary"
plain
@ -350,7 +350,7 @@
@click="handleAdd"
v-hasPermi="['emis:emisSettleInvoiceRecord:add']"
>新增开票申请</el-button>
</el-col>
</el-col> -->
<!--
<el-col :span="1.5">
<el-button
@ -400,6 +400,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('申请时间')" align="center" prop="applyDate" min-width="170" />
<el-table-column :label="$t('账单名称')" align="center" prop="settleBillName" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('开票状态')" align="center" prop="invoiceStatus" width="100" >
<template slot-scope="scope">
<el-tag v-if="scope.row.invoiceStatus=='0'" type="info">未开票</el-tag>
@ -408,11 +409,17 @@
<el-tag v-if="scope.row.invoiceStatus=='3'" type="warning">开票异常</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('状态描述')" align="center" prop="invoiceStatusDesc" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('审核状态')" align="center" prop="blAudit" width="100" >
<template slot-scope="scope">
<el-tag v-if="scope.row.blAudit=='0'" type="info">未审核</el-tag>
<el-tag v-if="scope.row.blAudit=='1'" type="success">审核通过</el-tag>
<el-tag v-if="scope.row.blAudit=='2'" type="warning">审核不通过</el-tag>
</template>
</el-table-column>
<!-- <el-table-column :label="$t('状态描述')" align="center" prop="invoiceStatusDesc" min-width="100" :show-overflow-tooltip="true"/> -->
<!-- <el-table-column :label="$t('客户编码')" align="center" prop="customerCode" min-width="100" /> -->
<!-- <el-table-column :label="$t('客户名称')" align="center" prop="customerName" min-width="100" /> -->
<el-table-column :label="$t('账单编号')" align="center" prop="settleBillNo" min-width="170" />
<el-table-column :label="$t('账单名称')" align="center" prop="settleBillName" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('申请金额')" align="center" prop="applyMoney" min-width="100" />
<!-- <el-table-column :label="$t('开票类型')" align="center" prop="invoiceType" min-width="100" /> -->
<el-table-column :label="$t('开票抬头')" align="center" prop="companyName" min-width="170" :show-overflow-tooltip="true" />
@ -423,9 +430,9 @@
<!-- <el-table-column :label="$t('联系电话')" align="center" prop="phone" min-width="100" :show-overflow-tooltip="true"/> -->
<!-- <el-table-column :label="$t('税类型')" align="center" prop="realTaxType" min-width="100" /> -->
<!-- <el-table-column :label="$t('开票上限')" align="center" prop="openMoneyMax" min-width="100" /> -->
<el-table-column :label="$t('实际开票金额')" align="center" prop="openMoney" min-width="150" :show-overflow-tooltip="true" />
<!-- <el-table-column :label="$t('发票号')" align="center" prop="invoiceNo" min-width="170" :show-overflow-tooltip="true" /> -->
<el-table-column :label="$t('发票下载路径')" align="center" prop="filePath" min-width="170" :show-overflow-tooltip="true"/>
<!-- <el-table-column :label="$t('实际开票金额')" align="center" prop="openMoney" min-width="150" :show-overflow-tooltip="true" /> -->
<el-table-column :label="$t('发票号')" align="center" prop="invoiceNo" min-width="170" :show-overflow-tooltip="true" />
<el-table-column :label="$t('发票文件')" align="center" prop="filePath" min-width="170" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('申请序号')" align="center" prop="applySeqNo" min-width="170" :show-overflow-tooltip="true"/>
@ -435,13 +442,7 @@
<!-- <el-table-column :label="$t('纸质发票邮寄地址')" align="center" prop="recieveAddress" min-width="100" /> -->
<el-table-column :label="$t('邮箱')" align="center" prop="email" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('审核状态')" align="center" prop="blAudit" width="100" >
<template slot-scope="scope">
<el-tag v-if="scope.row.blAudit=='0'" type="info">未审核</el-tag>
<el-tag v-if="scope.row.blAudit=='1'" type="success">审核通过</el-tag>
<el-tag v-if="scope.row.blAudit=='2'" type="warning">审核不通过</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('审核日期')" align="center" prop="auditDate" min-width="170" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('审核人')" align="center" prop="auditManName" min-width="100" />
<!-- <el-table-column :label="$t('审核站点')" align="center" prop="auditSiteCode" min-width="100" /> -->
@ -462,9 +463,9 @@
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="70%" :destroy-on-close="true" v-dialogDrag append-to-body>
<!-- <el-dialog :title="titleForm" :visible.sync="openForm" width="70%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisSettleInvoiceRecordForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisSettleInvoiceRecordForm>
</el-dialog>
</el-dialog> -->
<!--

View File

@ -422,7 +422,7 @@
</el-row>
</el-col>
<el-col :span="24" v-if="applyType&&(applyTypeArr.includes('3'))" >
<el-col :span="24" v-if="applyType&&(applyTypeArr.includes('3')|| applyTypeArr.includes('2'))" >
<el-row :gutter="0" class="md-row">
<el-col :span="3" class="md-title">
<span>体积调整</span>
@ -440,7 +440,7 @@
</el-row>
</el-col>
<el-col :span="24" v-if="applyType&&applyTypeArr.includes('38')">
<el-col :span="24" v-if="applyType&&(applyTypeArr.includes('38')||applyTypeArr.includes('2'))">
<el-row :gutter="0" class="md-row">
<el-col :span="3" class="md-title">
<span style="font-weight:600">货物尺寸调整</span>