codeMan 2 éve
szülő
commit
cf9044d3f7

+ 74 - 54
src/Form/marketing2/agent/add.vue

@@ -1,7 +1,7 @@
 <template>
   <div>
     <el-button type="primary" size="small" @click="onShow">新 建</el-button>
-    <el-drawer title="创建经销商" direction="rtl" size="800px" append-to-body :visible.sync="dialogVisible" @close="onClose" :show-close="false">
+    <el-drawer title="创建经销商" direction="rtl" size="900px" append-to-body :visible.sync="dialogVisible" @close="onClose" :show-close="false">
       <div class="drawer__panel">
       <el-row :gutter="20">
         <el-form :model="form" ref="form" :rules="rules" :status-icon="false"	 size="small" label-position="right" label-width="120px" class="demo-form-inline">
@@ -74,53 +74,62 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="上级经销商:">
-              <selectAgent ref="agent" @selectAgent="selectAgent" :title="title"></selectAgent>
+            <el-form-item label="可退货天数" prop="limitreturnday">
+              <el-input v-model.number="form.limitreturnday" placeholder="请输入订单可退货天数"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+          <el-form-item label="上级经销商:">
+            <selectAgent ref="agent" @selectAgent="selectAgent" :title="title"></selectAgent>
+          </el-form-item>
+          </el-col>
+          <el-col :span="12">
+          <el-form-item label="是否免运费">
+              <el-radio-group v-model="radio" @change="radioChange">
+                <el-radio :label="-1">不免费运费</el-radio>
+                <el-radio :label="0">免运费</el-radio>
+                <el-radio :label="1">其他</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="企业等级">
+              <el-select size="small" style="width:100%" v-model="form.grade" placeholder="请选择">
+                <el-option
+                  v-for="item in agent_level"
+                  :key="item.value"
+                  :label="item.remarks"
+                  :value="item.value">
+                  <span style="float: left">{{ item.value }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
+                </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12" v-if="radio === 1">
-              <el-form-item label="免运费额度" prop="freefreightamount">
-                <el-input v-model.number="form.freefreightamount" placeholder="请输入免运费额度"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="可退货天数" prop="limitreturnday">
-                <el-input v-model.number="form.limitreturnday" placeholder="请输入订单可退货天数"></el-input>
-              </el-form-item>
-            </el-col>
-            
-            <el-col :span="12">
-              <el-form-item label="开票节点" prop="invoicingpoint">
-                <el-radio-group v-model="form.invoicingpoint">
-                  <el-radio :label="1">订单审核</el-radio>
-                  <el-radio :label="2">发货</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="是否服务经销商:" prop="isservice">
-                <el-checkbox v-model="form.isservice" :true-label="1" :false-label="0"></el-checkbox>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="企业等级">
-                <el-select size="small" style="width:100%" v-model="form.grade" placeholder="请选择">
-                  <el-option
-                    v-for="item in agent_level"
-                    :key="item.value"
-                    :label="item.remarks"
-                    :value="item.value">
-                    <span style="float: left">{{ item.value }}</span>
-                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
-                <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
-              </el-form-item>
-            </el-col>
+            <el-form-item label="免运费额度" prop="freefreightamount">
+              <el-input v-model.number="form.freefreightamount" placeholder="请输入免运费额度"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="开票节点" prop="invoicingpoint">
+              <el-radio-group v-model="form.invoicingpoint">
+                <el-radio :label="1">订单审核</el-radio>
+                <el-radio :label="2">发货</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否服务经销商:" prop="isservice">
+              <el-checkbox v-model="form.isservice" :true-label="1" :false-label="0"></el-checkbox>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="12">
+            <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
+              <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
       </div>
@@ -298,15 +307,26 @@ export default {
     onClose () {
       this.$refs['ent'].form = {}
       this.form = {
-        "enterprisename":'',
-        "sa_agentsid": 0,
-        "parentid":"",
-        "agentnum":"",
-        "signdate":"",
-        "grade":'1',
-        "sa_saleareaid":null,
-        "sys_enterpriseid":null,
-        "sa_saleareaids":[]
+        "enterprisename": "",
+        "sa_agentsid": '',
+        "parentid": "",
+        "agentnum": "",
+        "signdate": "",
+        "grade": "",
+        "sys_enterpriseid": '',
+        "sa_saleareaids": [
+
+        ],
+        "type": "",
+        "erpagentnum": "",
+        "isservice": 1, //是否服务商,0或1
+        "limitreturnday": "", //订单可退货天数
+        "freefreightamount": "", //免运费额度
+        "latitude": "", //纬度
+        "longitude": "", //经度
+        "invoicingpoint": 1, //开票节点(1:订单审核:2:发货)
+        "saleclassauth": 1, //是否需要经营授权,默认1
+        "grade":''
       },
       this.enterprise = {}
     }

+ 60 - 48
src/Form/marketing2/agent/edit.vue

@@ -87,65 +87,62 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="上级经销商:">
-              <selectAgent ref="agent" @selectAgent="selectAgent" :title="title"></selectAgent>
+            <el-form-item label="可退货天数" prop="limitreturnday">
+              <el-input v-model.number="form.limitreturnday" placeholder="请输入订单可退货天数"></el-input>
             </el-form-item>
           </el-col>
-          <!-- <el-col :span="12">
-            <el-form-item label="经销商等级:">
-              <el-select style="width:100%" v-model="form.grade" placeholder="请选择">
+          <el-col :span="12">
+          <el-form-item label="上级经销商:">
+            <selectAgent ref="agent" @selectAgent="selectAgent" :title="title"></selectAgent>
+          </el-form-item>
+          </el-col>
+          <el-col :span="12">
+          <el-form-item label="是否免运费">
+              <el-radio-group v-model="radio" @change="radioChange">
+                <el-radio :label="-1">不免费运费</el-radio>
+                <el-radio :label="0">免运费</el-radio>
+                <el-radio :label="1">其他</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="企业等级">
+              <el-select size="small" style="width:100%" v-model="form.grade" placeholder="请选择">
                 <el-option
                   v-for="item in agent_level"
                   :key="item.value"
                   :label="item.remarks"
                   :value="item.value">
+                  <span style="float: left">{{ item.value }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
                 </el-option>
               </el-select>
             </el-form-item>
-          </el-col> -->
+          </el-col>
           <el-col :span="12" v-if="radio === 1">
-              <el-form-item label="免运费额度" prop="freefreightamount">
-                <el-input v-model.number="form.freefreightamount" placeholder="请输入免运费额度"></el-input>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="可退货天数" prop="limitreturnday">
-                <el-input v-model.number="form.limitreturnday" placeholder="请输入订单可退货天数"></el-input>
-              </el-form-item>
-            </el-col>
-            
-            <el-col :span="12">
-              <el-form-item label="开票节点" prop="invoicingpoint">
-                <el-radio-group v-model="form.invoicingpoint">
-                  <el-radio :label="1">订单审核</el-radio>
-                  <el-radio :label="2">发货</el-radio>
-                </el-radio-group>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="是否服务经销商:" prop="isservice">
-                <el-checkbox v-model="form.isservice" :true-label="1" :false-label="0"></el-checkbox>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="企业等级">
-                <el-select size="small" style="width:100%" v-model="form.grade" placeholder="请选择">
-                  <el-option
-                    v-for="item in agent_level"
-                    :key="item.value"
-                    :label="item.remarks"
-                    :value="item.value">
-                    <span style="float: left">{{ item.value }}</span>
-                    <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
-                <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
-              </el-form-item>
-            </el-col>
+            <el-form-item label="免运费额度" prop="freefreightamount">
+              <el-input v-model.number="form.freefreightamount" placeholder="请输入免运费额度"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="开票节点" prop="invoicingpoint">
+              <el-radio-group v-model="form.invoicingpoint">
+                <el-radio :label="1">订单审核</el-radio>
+                <el-radio :label="2">发货</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否服务经销商:" prop="isservice">
+              <el-checkbox v-model="form.isservice" :true-label="1" :false-label="0"></el-checkbox>
+            </el-form-item>
+          </el-col>
+          
+          <el-col :span="12">
+            <el-form-item label="是否授权所有营销类别:" prop="saleclassauth" label-width="160px">
+              <el-checkbox v-model="form.saleclassauth" :true-label="0" :false-label="1"></el-checkbox>
+            </el-form-item>
+          </el-col>
             
           </el-form>
         </el-row>
@@ -238,6 +235,21 @@ export default {
       res.data.sa_saleareaids?res.data.sa_saleareaids = JSON.parse(res.data.sa_saleareaids):''
       this.form = Object.assign({},this.form,res.data)
       this.enterprise = Object.assign({},this.form,res.data)
+      if (this.form.province) {
+        this.form.province = [this.form.province,this.form.city,this.form.county]
+      }
+      if (!this.form.grade) this.form.grade = ''
+      switch (this.form.freefreightamount) {
+        case -1:
+          this.radio = -1
+          break;
+        case 0:
+          this.radio = 0
+          break;
+        default:
+          this.radio = 1
+          break;
+      }
     },
     async queryEnterpriseArchives () {
       const res = await this.$api.requested({

+ 15 - 3
src/HManagement/marketing2/agent/details/index.vue

@@ -7,7 +7,6 @@
     :editData="mainData"
     :mainAreaData="mainAreaData" 
     turnPageId="20221011144903"
-    delApiId="20221011145003"
     idname="sa_agentsid"
     :tags="[]"
     :tabs="['经销商团队','授权营销类别','授权领域','账户余额查询','地址管理','财务信息','银行卡信息','关联合同','联系人管理','业绩目标','代理区域']"
@@ -20,7 +19,7 @@
     <div slot="customOperation">
       <!-- 此区域提供了自定义操作按钮 -->
       <customBtn 
-          btnName="启用"
+          btnName="启 用"
           message="确认启用当前经销商吗?"
           idName="20230212101703"
           keyName="sa_agentsids"
@@ -31,7 +30,7 @@
           v-if="mainData.status == '禁用' && tool.checkAuth($route.name,'handleused')"
         />
         <customBtn 
-          btnName="禁用"
+          btnName="禁 用"
           message="确认禁用当前经销商吗?"
           idName="20230212101703"
           keyName="sa_agentsids"
@@ -41,6 +40,19 @@
           :paramData="[{key:'status',value:'禁用'}]"
           v-if="mainData.status == '启用' && tool.checkAuth($route.name,'handleused')"
         />
+        <customBtn 
+          btnName="作 废"
+          :dialog="true"
+          message="确认删除当前经销商吗?"
+          idName="20221011145003"
+          keyName="sa_agentsids"
+          :id="[$route.query.id]"
+          dialogKey="deletereason"
+          dialogTitle="作废原因"
+          @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.back()"
+          class="inline-16"
+          v-if="mainData.status == '禁用' && tool.checkAuth($route.name,'delete')"
+        />
     </div>
     <div slot="slot0">
       <el-button v-if="tool.checkAuth($route.name,'agentTeamTable')" size="small" type="primary" @click="createAgentAccount" class="normal-margin">创建团队账号</el-button>

+ 1 - 1
src/components/normal-basic-layout/details/index.vue

@@ -9,7 +9,7 @@
         <div class="flex-align-center" style="flex: 1 0 auto;  justify-content: flex-end;">
           <cpEdit v-if="tool.checkAuth($route.name,'update')" :formPath="formPath" :oldFormPath="oldFormPath" :data="editData" btnType="default" @onAddSuccess="onSuccess"></cpEdit>
           <!-- 打印 -->
-          <reportCenter position="detail" class="inline-16" :data="reportCenterLsit" v-if="reportCenterLsit.length > 0 && systemappid != 163">
+          <reportCenter size="mini" position="detail" class="inline-16" :data="reportCenterLsit.filter(item => item.type == 'printinfo')" v-if="reportCenterLsit.filter(item => item.type == 'printinfo').length > 0 && systemappid != 163">
             <template v-slot:print="scope2">
               <el-button @click="printBtn($route.query.id,scope2.data)" type="text" size="mini">打 印</el-button>
             </template>

+ 10 - 4
src/components/normal-basic-layout/index.vue

@@ -22,7 +22,12 @@
                 <el-button :type="selection.length === 0?'':'primary'" :disabled="selection.length === 0" size="small" @click="deleteData">删 除</el-button>
               </el-button-group> -->
               <!-- <el-button class="inline-16" size="small" type="primary" plain>导 入</el-button> -->
-              <excel :tablecols="layout" :param="param" :total="total" :specialKey="specialKey" :excelTitle="routerName"></excel>
+              <excel class="inline-16" :tablecols="layout" :param="param" :total="total" :specialKey="specialKey" :excelTitle="routerName"></excel>
+              <reportCenter class="inline-16" position="detail" size="small" :data="reportCenterLsit.filter(item => item.type == 'datainfo')" v-if="reportCenterLsit.filter(item => item.type == 'datainfo').length > 0 && systemappid != 163">
+                <template v-slot:print="scope2">
+                  <el-button @click="printBtn({},scope2.data)" type="text" size="mini">打 印</el-button>
+                </template>
+              </reportCenter>
             </div>
             <slot name="titleRight"></slot>
           </div>
@@ -51,16 +56,14 @@
               <slot :data="scope" name="tbList"></slot>
             </template>
 
-           
             <template v-slot:opreation="scope">
               <drawerTemp class="inline-16" v-if="detailPath && checkRowStatus(scope.data.status)" :data="scope.data" :detailPath="detailPath" :idName="idName" @onSuccess="listData"></drawerTemp>
               <!--systemappid != 163 排除报表应用-->
-              <reportCenter class="inline-16" :data="reportCenterLsit" v-if="reportCenterLsit.length > 0 && systemappid != 163">
+              <reportCenter class="inline-16"  size="mini" :data="reportCenterLsit.filter(item => item.type == 'printinfo')" v-if="reportCenterLsit.filter(item => item.type == 'printinfo').length > 0 && systemappid != 163">
                 <template v-slot:print="scope2">
                   <el-button @click="printBtn(scope.data,scope2.data)" type="text" size="mini">打 印</el-button>
                 </template>
               </reportCenter>
-
               <slot :data="scope" name="tbOpreation"></slot>
             </template>
           </tableTemp>
@@ -269,6 +272,9 @@ export default {
       console.log(res,'报表数据');
     },
     async printBtn (data,data2) {
+      /* 报表类型 type = datainfo */
+      if (!Object.keys(data).length) data[this.idName] = 0
+
       let res = await this.$api.requested({
         "id":20221213094501,
         "content": {

+ 2 - 2
src/components/normal-basic-layout/reportCenter/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button :type="position == 'detail' ? 'primary' : 'text'" size="mini" @click="drawer=true">报 表</el-button>
+    <el-button :type="position == 'detail' ? 'primary' : 'text'" :size="size || 'mini'" @click="drawer=true">报 表</el-button>
     <el-drawer
     :visible.sync="drawer"
     :with-header="false"
@@ -34,7 +34,7 @@
 
 <script>
 export default {
-  props:['data','position'],
+  props:['data','position','size'],
   name: '',
   data() {
     return {