Commit f91a9140 by 无尘

feat: 增加路由

parent c8a81da7
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.28.css><link href=./static/css/app.7fa9a6266953dde390d8cb855bb25335.css rel=stylesheet></head><body style="min-width: 1400px;" class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.5.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.456e43ddb0bda5c47277.js></script><script type=text/javascript src=./static/js/vendor.62ac2d475dfcb7888aad.js></script><script type=text/javascript src=./static/js/app.a345c4be401e1b21886a.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><link rel="shortcut icon" href=./favicon.ico><title>好办管理平台</title><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.28.css><link href=./static/css/app.8ab7b85cc1dc5574997caa93455d2a9e.css rel=stylesheet></head><body style="min-width: 1400px;" class=damolish><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.6.6/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.5.js></script><script>// Raven.config('https://3715a345910d4c768e7a1ec14619c2d5@sentry.io/1413672').install();</script><script type=text/javascript src=./static/js/manifest.9d0e8e7d1823e98e5858.js></script><script type=text/javascript src=./static/js/vendor.62ac2d475dfcb7888aad.js></script><script type=text/javascript src=./static/js/app.a345c4be401e1b21886a.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,b,n){for(var r,t,o,i=0,u=[];i<f.length;i++)t=f[i],a[t]&&u.push(a[t][0]),a[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(f,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=d(d.s=n[i]);return o};var f={},a={80:0};function d(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,d),a.l=!0,a.exports}d.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,d){c=a[e]=[f,d]});c[2]=f;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,d.nc&&n.setAttribute("nonce",d.nc),n.src=d.p+"static/js/"+e+"."+{0:"83c856f4a876ac78b3fa",1:"954a8a70c5f1171933ac",2:"8fc01b023bf3332bd2fb",3:"247222fd738990588976",4:"ff94b3bb1c8dc7dee032",5:"3c335bf1dd72ca957262",6:"987ab930d70320e9de11",7:"e2471fa3903291b9c591",8:"00f863bada8f3f9d7120",9:"893877b035c3b35f556e",10:"36282edd9717ef1e7349",11:"6aefb1fae8f7b98db028",12:"78b7a4ebe07fcebe0375",13:"32d0e51e0412a441b2a1",14:"1cf226928b0a3d1bdf49",15:"d7aab003f9662d3c8f47",16:"6a8edcf9fbb1e6d02581",17:"770b18ce8b116b017976",18:"7ffc38554bc63393a91e",19:"57e7507bba9df223f83e",20:"3739332a7b56b9610431",21:"b9552ac568217b38c707",22:"684c63e8479a7b93803e",23:"ec87a5905cae60cac5da",24:"8364dc3f38955c56000f",25:"22afcdf40f46b3b41a23",26:"9cbcbc21da1497c3c88d",27:"7b3dd90cfa2c0d5203d2",28:"f6c5f1bf60bdbe1517f4",29:"96223e7cd5aec48e384e",30:"47d0cc20d45b2157664f",31:"c23ab9f1a7776f534c0d",32:"ff685a2f2e663c9902c9",33:"82effc7b171977a2a302",34:"18bce297c3536920f0be",35:"814dd1eb24901e53ab86",36:"c0359ca785e1f0dde1fc",37:"5c9ff0df45337846174c",38:"d611515c016c19a10610",39:"d996a51ef07f1b4fe32f",40:"9b3bc29ec6a9c3a6498f",41:"da2e87080fd6b3fc8895",42:"ec55d3afc824080ab425",43:"54d3f5f1c1930545dc2b",44:"793a6ee6df9dfd759017",45:"7c9bce746ae0737eccbe",46:"6f75966d10272c672ac8",47:"0f4ae46c1bf9717fbe18",48:"777287cc1d220d36c9a4",49:"db237966421b9efea688",50:"91613ce4f17c75cebd9d",51:"43cd1a7ba5d8179cc33a",52:"1297abcca8b64d21f0ad",53:"13a5607be4156bc7fd32",54:"1006843da5741c3a2385",55:"2262933e6a0018b042ae",56:"cd134637822b5c75819d",57:"73dd8faca856ef8daac7",58:"38bdda7d88dd6886fbed",59:"f4d7764bc35fe80462e2",60:"ff78f7652091a35782ec",61:"62a2e2e597ad9da015d7",62:"9cbdf1c1b756884f9fa2",63:"b62d98988a2f683868f1",64:"a5d11be73cc0a96aaaa8",65:"fe6d056d588cb4ad0304",66:"aedddf066934e7c5b22f",67:"6a50f751fa01a4b705dd",68:"c1d515ef8c48b79146d9",69:"b099c2febefc60e5f688",70:"1d48eb5a06db01862a62",71:"0ac25d6f7bdf6e52bf15",72:"3742f2187e434527c4f0",73:"af737afc43d5d1a4e712",74:"288c134137cbf2d7bc41",75:"26f7828615de6f778b29",76:"ffe5e9e6981dff464735",77:"daf98737ecfa6236157f"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),f},d.m=e,d.c=f,d.d=function(e,c,f){d.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},d.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(c,"a",c),c},d.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},d.p="./",d.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var c=window.webpackJsonp;window.webpackJsonp=function(f,b,n){for(var r,t,o,i=0,u=[];i<f.length;i++)t=f[i],a[t]&&u.push(a[t][0]),a[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(c&&c(f,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=d(d.s=n[i]);return o};var f={},a={80:0};function d(c){if(f[c])return f[c].exports;var a=f[c]={i:c,l:!1,exports:{}};return e[c].call(a.exports,a,a.exports,d),a.l=!0,a.exports}d.e=function(e){var c=a[e];if(0===c)return new Promise(function(e){e()});if(c)return c[2];var f=new Promise(function(f,d){c=a[e]=[f,d]});c[2]=f;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,d.nc&&n.setAttribute("nonce",d.nc),n.src=d.p+"static/js/"+e+"."+{0:"83c856f4a876ac78b3fa",1:"954a8a70c5f1171933ac",2:"8fc01b023bf3332bd2fb",3:"247222fd738990588976",4:"ff94b3bb1c8dc7dee032",5:"3c335bf1dd72ca957262",6:"987ab930d70320e9de11",7:"e2471fa3903291b9c591",8:"47a85976d2ceb79d9a64",9:"893877b035c3b35f556e",10:"36282edd9717ef1e7349",11:"6aefb1fae8f7b98db028",12:"78b7a4ebe07fcebe0375",13:"32d0e51e0412a441b2a1",14:"1cf226928b0a3d1bdf49",15:"d7aab003f9662d3c8f47",16:"6a8edcf9fbb1e6d02581",17:"770b18ce8b116b017976",18:"7ffc38554bc63393a91e",19:"57e7507bba9df223f83e",20:"3739332a7b56b9610431",21:"b9552ac568217b38c707",22:"684c63e8479a7b93803e",23:"ec87a5905cae60cac5da",24:"8364dc3f38955c56000f",25:"22afcdf40f46b3b41a23",26:"9cbcbc21da1497c3c88d",27:"7b3dd90cfa2c0d5203d2",28:"f6c5f1bf60bdbe1517f4",29:"96223e7cd5aec48e384e",30:"47d0cc20d45b2157664f",31:"c23ab9f1a7776f534c0d",32:"ff685a2f2e663c9902c9",33:"82effc7b171977a2a302",34:"18bce297c3536920f0be",35:"814dd1eb24901e53ab86",36:"c0359ca785e1f0dde1fc",37:"5c9ff0df45337846174c",38:"d611515c016c19a10610",39:"d996a51ef07f1b4fe32f",40:"9b3bc29ec6a9c3a6498f",41:"da2e87080fd6b3fc8895",42:"ec55d3afc824080ab425",43:"54d3f5f1c1930545dc2b",44:"793a6ee6df9dfd759017",45:"7c9bce746ae0737eccbe",46:"6f75966d10272c672ac8",47:"0f4ae46c1bf9717fbe18",48:"777287cc1d220d36c9a4",49:"db237966421b9efea688",50:"91613ce4f17c75cebd9d",51:"43cd1a7ba5d8179cc33a",52:"1297abcca8b64d21f0ad",53:"13a5607be4156bc7fd32",54:"1006843da5741c3a2385",55:"2262933e6a0018b042ae",56:"cd134637822b5c75819d",57:"73dd8faca856ef8daac7",58:"38bdda7d88dd6886fbed",59:"f4d7764bc35fe80462e2",60:"ff78f7652091a35782ec",61:"62a2e2e597ad9da015d7",62:"9cbdf1c1b756884f9fa2",63:"b62d98988a2f683868f1",64:"a5d11be73cc0a96aaaa8",65:"fe6d056d588cb4ad0304",66:"aedddf066934e7c5b22f",67:"6a50f751fa01a4b705dd",68:"c1d515ef8c48b79146d9",69:"b099c2febefc60e5f688",70:"1d48eb5a06db01862a62",71:"0ac25d6f7bdf6e52bf15",72:"3742f2187e434527c4f0",73:"af737afc43d5d1a4e712",74:"288c134137cbf2d7bc41",75:"26f7828615de6f778b29",76:"ffe5e9e6981dff464735",77:"daf98737ecfa6236157f"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var c=a[e];0!==c&&(c&&c[1](new Error("Loading chunk "+e+" failed.")),a[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),f},d.m=e,d.c=f,d.d=function(e,c,f){d.o(e,c)||Object.defineProperty(e,c,{configurable:!1,enumerable:!0,get:f})},d.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(c,"a",c),c},d.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},d.p="./",d.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -4,17 +4,17 @@
* @Author: 无尘
* @Date: 2020-04-14 09:50:16
* @LastEditors: 无尘
* @LastEditTime: 2020-06-15 14:12:36
* @LastEditTime: 2020-06-15 15:33:28
-->
<!--
<customer-assign v-if="assignShow" :chooseAll="selectRadio" :departObj="departObj" :multipleData="multipleSelection" @closeText="closeText" @submitText="submitText"></customer-assign>
<customer-assign v-if="assignShow" :brandId="brandId" :clerkId="clerkId" :searchParams="searchInput" :chooseAll="selectRadio" :departObj="departObj" :multipleData="multipleSelection" @closeText="closeText" @submitText="submitText"></customer-assign>
import customerAssign from '@/components/app/customer/customer-assign.vue';
-->
<template>
<el-dialog title="批量分配会员" :visible.sync="dialogVisible" width="600px" :before-close="handleClose">
<div class="assign-table">
<div class="check-all flex flex-space-between">
<div><el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox></div>
<div><el-checkbox :disabled="clerkOptions.length > assignPeople" :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox></div>
<div>
<el-checkbox v-model="checked">手动分配</el-checkbox> <span class=""></span>
<span
......@@ -28,20 +28,20 @@
<template v-for="(item, index) in clerkOptions">
<li :key="index + 'clerk'">
<el-checkbox :label="item.clerkId">{{ clerkName }}</el-checkbox
><span v-if="!checked"> 分配会员 {{ item.memberNum }}</span><el-input-number v-if="checked" v-model="item.editNumber" controls-position="right" @change="handleChange" :min="0" :max="999999999"></el-input-number>
><span v-if="!checked && checkedClerks.includes(item.clerkId)"> 分配会员 {{ item.memberCount }}</span><el-input-number v-if="checked && checkedClerks.includes(item.clerkId)" v-model="item.memberCount" controls-position="right" @change="handleChange" :min="1" :max="999999999"></el-input-number>
</li>
</template>
</el-checkbox-group>
</ul>
<div class="text-right">
分配总数 <span class="color-2f54eb">{{ totalPeople }}</span
分配总数 <span :class="[totalPeople != 0 && totalPeople != assignPeople ? 'color-f5222d' : 'color-2f54eb']">{{ totalPeople }}</span
>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="toCancel">取消</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button :disabled="totalPeople != 0 && totalPeople != assignPeople" type="primary" @click="submitForm('ruleForm')">确定</el-button>
</div>
</el-dialog>
</template>
......@@ -52,6 +52,24 @@ import showMsg from '@/common/js/showmsg';
import errMsg from '@/common/js/error';
export default {
props: {
brandId: {
type: String,
default() {
return '';
}
},
clerkId: {
type: String,
default() {
return '';
}
},
searchParams: {
type: String,
default() {
return '';
}
},
editRow: {
type: Object,
default() {
......@@ -94,7 +112,13 @@ export default {
checked: false, // 手动
checkAll: false,
isIndeterminate: false,
clerkOptions: [], // 导购
clerkOptions: [
/* {
clerkId: 1,
clerlName: '1',
memberCount: 1
} */
], // 导购
checkedClerks: [],
totalPeople: 0, // 分配总数
assignPeople: 0 // 可分配会员
......@@ -102,16 +126,37 @@ export default {
},
methods: {
handleCheckedChange(value) {
const that = this;
let checkedCount = value.length;
this.checkAll = checkedCount === this.clerkOptions.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.clerkOptions.length;
if (!that.checked) {
// 分配
that.calcNum();
}
},
/**
* 全选
*/
handleCheckAllChange(value) {
this.checkedClerks = value ? this.clerkOptions.map(ele => ele.clerkId) : [];
this.isIndeterminate = false;
const that = this;
that.checkedClerks = value ? that.clerkOptions.map(ele => ele.clerkId) : [];
that.isIndeterminate = false;
if (!that.checked) {
// 分配
that.calcNum();
}
},
calcNum() {
const that = this;
let averageNum = Math.floor(that.assignPeople / that.clerkOptions.length);
let leftNum = that.assignPeople % that.clerkOptions.length;
that.clerkOptions.forEach((ele, index) => {
ele.memberCount = averageNum;
if (index < leftNum) {
ele.memberCount = averageNum + 1;
}
});
},
/**
* 获取导购
......@@ -121,15 +166,14 @@ export default {
let para = {
enterpriseId: that.brandId,
wxEnterpriseRelatedId: that.wxEnterpriseRelatedId,
storeId: that.departObj.storeId
storeId: that.departObj.departmentId
};
postRequest('/haoban-app-customer-web/customer/clerk-list', para)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
resData.result.forEach(ele => {
ele.memberNum = 0;
ele.editNumber = 0;
ele.memberCount = 1;
});
that.clerkOptions = resData.result || [];
return;
......@@ -143,38 +187,72 @@ export default {
});
});
},
/**
* 获取会员数量
*/
getMemberData() {
const that = this;
let para = {
enterpriseId: that.brandId,
wxEnterpriseRelatedId: that.wxEnterpriseRelatedId,
storeId: that.departObj.departmentId,
clerkId: that.clerkId,
keyword: that.searchParams
};
postRequest('/haoban-app-customer-web/customer/get-member-count', para)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
that.assignPeople = resData.result || [];
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.$message.error({
duration: 1000,
message: error.message
});
});
},
resetData() {
const that = this;
that.checkedClerks = [];
that.totalPeople = 0; // 分配总数
that.assignPeople = 0; // 可分配会员
that.checked = false;
},
toCancel() {
const that = this;
that.resetData();
that.$emit('closeText');
that.$refs['ruleForm'].resetFields();
},
handleClose(done) {
const that = this;
that.resetData();
that.$emit('closeText');
that.$refs['ruleForm'].resetFields();
},
submitForm: _debounce(function(formName) {
const that = this;
that.$refs[formName].validate(valid => {
if (valid) {
that.postSave();
}
});
that.postSave();
}, 300),
postSave() {
const that = this;
const data = {
secretId: that.ruleForm.secretId,
secretName: that.ruleForm.secretName,
enterpriseId: that.ruleForm.enterpriseId,
memberSecret: that.ruleForm.secretVal
enterpriseId: that.brandId,
chooseAll: that.chooseAll,
storeId: that.departObj.departmentId,
clerkId: that.clerkId,
keyword: that.searchParams,
memberIds: that.chooseAll == 1 ? '' : that.multipleData.map(ele => ele.memberId).join(','),
clerkIds: JSON.stringify(that.clerkOptions)
};
postRequest('/haoban-manage3-web/wx-enterprise-member-customer-assign', data)
postRequest('/haoban-app-customer-web/customer/app-distribute-members', data)
.then(res => {
let resData = res.data;
if (resData.errorCode == 1) {
showMsg.showmsg('操作成功', 'success');
that.$refs['ruleForm'].resetFields();
that.resetData();
that.$emit('submitText');
} else {
errMsg.errorMsg(resData);
......@@ -239,4 +317,7 @@ export default {
height: 273px;
}
}
.color-f5222d {
color: #f5222d;
}
</style>
......@@ -4,7 +4,7 @@
* @Author: 无尘
* @Date: 2019-03-20 14:36:37
* @LastEditors: 无尘
* @LastEditTime: 2020-06-15 14:16:58
* @LastEditTime: 2020-06-15 14:30:52
-->
<template>
<div class="app-detail-wrap">
......@@ -76,13 +76,13 @@
</div>
</div>
</div>
<customer-assign v-if="assignShow" :chooseAll="selectRadio" :departObj="departObj" :multipleData="multipleSelection" @closeText="closeText" @submitText="submitText"></customer-assign>
<customer-assign v-if="assignShow" :brandId="brandId" :clerkId="clerkId" :searchParams="searchInput" :chooseAll="selectRadio" :departObj="departObj" :multipleData="multipleSelection" @closeText="closeText" @submitText="submitText"></customer-assign>
</div>
</template>
<script>
import orgTree from '@/components/company/org-tree.vue';
import customerAssign from '@/components/app/customer/customer-assign.vue';
import showMsg from '@/common/js/showmsg';
// import showMsg from '@/common/js/showmsg';
import errMsg from '@/common/js/error';
import { _debounce } from '@/common/js/public';
import { getRequest, postRequest } from '@/api/api';
......@@ -203,52 +203,8 @@ export default {
}
that.assignShow = true;
},
/**
* 保存
*/
submit: _debounce(function(type) {
const that = this;
that.loading = true;
that.setData(type);
}, 500),
/**
* 保存-API
*/
setData(type) {
const that = this;
let para = {
enterpriseId: that.brandId,
wxEnterpriseRelatedId: that.wxEnterpriseRelatedId
// enterpriseId: JSON.parse(localStorage.getItem('userInfos')).enterpriseId
};
let url;
if (type != 'showFlag') {
para[type] = !!that.myCustomData[type] ? 1 : 0;
url = '/haoban-app-customer-web/customer/save-online-chat-setting';
if (type === 'searchFlag') {
url = '/haoban-app-customer-web/customer/save-customer-setting';
}
}
postRequest(url, para)
.then(res => {
let resData = res.data;
that.loading = false;
if (resData.errorCode == 1) {
showMsg.showmsg('保存成功', 'success');
return;
}
errMsg.errorMsg(resData);
})
.catch(function(error) {
that.loading = false;
that.$message.error({
duration: 1000,
message: error.message
});
});
},
/**
* 获取 gic 数据
*/
getGicData() {
......@@ -345,7 +301,7 @@ export default {
wxEnterpriseRelatedId: that.wxEnterpriseRelatedId,
pageNum: that.currentPage,
pageSize: that.pageSize,
storeId: that.departObj.storeId,
storeId: that.departObj.departmentId,
clerkId: that.clerkId,
keyword: that.searchInput
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment