Browse Source

组织架构、交期管控

qymljy 2 years ago
parent
commit
5615d79bd1

+ 2 - 1
src/Form/marketing2/saler/add.vue

@@ -110,6 +110,7 @@ export default {
         ],
         discountrate:[
           { required: true, message: '请输入最低授权折扣', trigger: 'blur' },
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
         ]
       }
     }
@@ -172,7 +173,7 @@ export default {
         "sa_saleareaid":'',
         "hrid":'',
         "discountrate":'',
-        "iseditprice":"0"
+        "iseditprice":"0",
       }
     },
     discountrateChange(val){

+ 2 - 1
src/Form/marketing2/saler/edit.vue

@@ -94,7 +94,8 @@ export default {
       },
       rules:{
         discountrate:[
-          {required: true, message: '请选择业务员', trigger: 'blur' }
+          {required: true, message: '请选择业务员', trigger: 'blur' },
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
         ]
       }
     }

+ 83 - 41
src/HDrpManagement/orderManage/details/tabs/productlist.vue

@@ -77,7 +77,8 @@
                 size="mini"
                 style="width:150px"
                 :picker-options="pickerOptions1"
-                @change="rowChange(scope.column.data)">
+                @change="rowChange(scope.column.data)"
+                @focus="setPickerOptions1(scope.column.data)">
               </el-date-picker>
               <div v-else>
                 <p v-if="scope.column.data.delivery === 0 ">不管控交期</p>
@@ -85,22 +86,53 @@
               </div>
           </div>
           <div v-else-if="scope.column.columnname === 'deliverydate'">
-            <el-date-picker
-              v-if="scope.column.data.delivery > 0 && type === 'confirmdate'"
-                v-model="scope.column.data.deliverydate"
-                type="date"
-                placeholder="选择日期"
-                value-format="yyyy-MM-dd"
-                size="mini"
-                style="width:150px"
-                :picker-options="pickerOptions"
-                @change="onDateChange(scope.column.data)"
-                @focus="setPickerOptions(scope.column.data)">
+            <div v-if="siteid === 'NB'">
+              <el-date-picker
+                  v-if="scope.column.data.delivery > 0 && type === 'confirmdate'"
+                  v-model="scope.column.data.deliverydate"
+                  type="date"
+                  placeholder="选择日期"
+                  value-format="yyyy-MM-dd"
+                  size="mini"
+                  style="width:150px"
+                  :picker-options="pickerOptions"
+                  @change="onDateChange(scope.column.data)"
+                  @focus="setPickerOptions(scope.column.data)">
+              </el-date-picker>
+              <div v-else>
+                <el-date-picker
+                    v-if="scope.column.data.delivery == 0"
+                    v-model="scope.column.data.deliverydate"
+                    type="date"
+                    placeholder="选择日期"
+                    value-format="yyyy-MM-dd"
+                    size="mini"
+                    style="width:150px"
+                    :picker-options="pickerOptions"
+                    @change="onDateChange(scope.column.data)"
+                    @focus="setPickerOptions(scope.column.data)">
+                </el-date-picker>
+                <p v-else>{{scope.column.data.deliverydate}}</p>
+              </div>
+            </div>
+            <div v-else>
+              <el-date-picker
+                  v-if="scope.column.data.delivery > 0 && type === 'confirmdate'"
+                  v-model="scope.column.data.deliverydate"
+                  type="date"
+                  placeholder="选择日期"
+                  value-format="yyyy-MM-dd"
+                  size="mini"
+                  style="width:150px"
+                  :picker-options="pickerOptions"
+                  @change="onDateChange(scope.column.data)"
+                  @focus="setPickerOptions(scope.column.data)">
               </el-date-picker>
               <div v-else>
                 <p v-if="scope.column.data.delivery == 0 ">不管控交期</p>
                 <p v-else>{{scope.column.data.deliverydate}}</p>
               </div>
+            </div>
           </div>
           <div v-else-if="scope.column.columnname === 'unit'">
             <el-tag size="mini" type="info" effect="plain">{{scope.column.data.unit}}</el-tag>
@@ -510,11 +542,12 @@ export default {
     }
   },
   data () {
-    let that = this
     return {
+      flag:0,
       freefreightamount:null,
       drawer:false,
       dataRefresh:true,
+      siteid:'',
       setcol:24,
       tableData:[],
       tablecols:[],
@@ -533,34 +566,6 @@ export default {
       },
       pickerOptions1: {
        disabledDate(time) {
-        /*  let newDate = new Date()
-         newDate = newDate.setDate(newDate.getDate() + 3)*/
-         /* newDate = newDate.setDate(newDate.getDate() + 3)
-          console.log(newDate,'日期获取')
-          console.log(time.getTime(),'当前日期')
-          console.log(new Date(newDate),'日期转化')
-          let year = new Date(newDate).getFullYear()
-          let month = new Date(newDate).getMonth() + 1
-          let day = new Date(newDate).getDate()
-          console.log(year + '-' + month + '-' + day)*/
-          /*let param = {
-            "id":20221215165504,
-            "content":{
-              "isExport":0,
-              "isnext":'0',
-              "pageNumber":1,
-              "pageSize":100,
-              "where":{
-                "begindate":year + '-' + month + '-' + day,
-                "enddate":year + '-' + month + '-' + day
-              }
-            },
-          }
-          const res = await that.$api.requested(param)
-          console.log(res,'结果')*/
-       /*  console.log(time.getTime())
-         console.log(new Date().getTime())
-         console.log(time.getTime() < new Date().getTime())*/
           return time.getTime() < new Date().getTime();
         },
       },
@@ -745,6 +750,41 @@ export default {
         },
       }
     },
+    async setPickerOptions1 (val) {
+      let newData = new Date()
+      newData = newData.setDate(newData.getDate() + (val.delivery -1) + this.flag )
+      let year = new Date(newData).getFullYear()
+      let month = new Date(newData).getMonth() + 1
+      let day = new Date(newData).getDate()
+      let param = {
+        "id":20231008134404,
+        "content":{
+          "isExport":0,
+          "isnext":'0',
+          "pageNumber":1,
+          "pageSize":100,
+          "where":{
+            "begindate":year + '-' + month + '-' + day,
+            "enddate":year + '-' + month + '-' + day
+          }
+        },
+      }
+      const res = await this.$api.requested(param)
+      if (res.data.length === 0){
+        this.flag = 0
+        newData = new Date(newData)
+        newData = newData.setDate(newData.getDate() - 1)
+        this.pickerOptions1 = {
+          disabledDate(time) {
+            return time.getTime() < newData;
+          },
+        }
+      }else {
+        this.flag = this.flag + 1
+        this.setPickerOptions1(val)
+      }
+
+    },
     async dateChange (row) {
       this.tableData = this.tableData.filter(e=>{
         if (e.delivery > 0) {
@@ -877,6 +917,8 @@ export default {
 
   },
   mounted () {
+    this.flag = 0
+    this.siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
     this.listData()
     // this.queryStock()
     // this.columnTitle  = []

+ 16 - 0
src/HManagement/department/staff/detail/index.vue

@@ -106,6 +106,22 @@ export default {
         {
           label:'是否上图员',
           value:this.mainData.isuppictured === 1?'是':'否'
+        },
+        {
+          label:'是否业务员',
+          value:this.mainData.issalehr === 1?'是':'否'
+        },
+        {
+          label:'营销区域',
+          value:this.mainData.areaname
+        },
+        {
+          label:'最低授权折扣(%)',
+          value:Math.round((this.mainData.discountrate*100)*100)/100
+        },
+        {
+          label:'是否可编辑订单价格',
+          value:this.mainData.iseditprice === 1?'是':'否'
         }
       ]
     },

+ 68 - 5
src/HManagement/department/staff/list/modules/add.vue

@@ -108,6 +108,26 @@
               <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
             </el-form-item>
           </el-col>
+          <el-col class="mb-30" :span="5">
+            <el-form-item>
+              <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" @change="salerChange">是否业务员</el-checkbox>
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-form-item label="营销区域:">
+              <areaList :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists" ref="area"></areaList>
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-form-item label="最低授权折扣(%):" prop="discountrate" label-width="132px">
+              <el-input v-model="form.discountrate" placeholder="输入最低授权折扣" autocomplete="off" @change="discountrateChange(form.discountrate)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="5" v-if="form.issalehr == '1'">
+            <el-form-item>
+              <el-checkbox v-model="form.iseditprice" :false-label="0" :true-label="1">是否可编辑订单价格</el-checkbox>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
     </div>
@@ -152,16 +172,19 @@
 <script>
 import {mapGetters} from 'vuex'
 import selectMenber from '@/components/selectMenber/index.vue'
+import areaList from "@/HManagement/marketing2/saler/area/modules/areaList";
 export default {
   props:['depInfo'],
   components:{
-    selectMenber
+    selectMenber,
+    areaList
   },
   computed:{
     ...mapGetters({
       deplist:'deplist',
       sys_options:'sys_options',
-      loading:'loading'
+      loading:'loading',
+
     })
   },
   watch: {
@@ -190,6 +213,10 @@ export default {
         email:[
           { pattern:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message: '请输入正确邮箱',trigger: 'blur' }
         ],
+        discountrate: [
+          { required: true, message: '请输入最低授权折扣', trigger: 'blur' },
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
+        ],
       },
       form:{
         "hrid":0,
@@ -209,7 +236,11 @@ export default {
         "isworker":"0",
         "userid":"0",
         'status':0,
-        'isuppictured':'0'
+        'isuppictured':'0',
+        'areaname':'',
+        'discountrate':'',
+        'iseditprice':'0',
+        'issalehr':'0'
       },
       value:[],
       drawer:false,
@@ -238,6 +269,21 @@ export default {
       // this.form.depname = this.depInfo.data.label
       // this.form.departmentid = this.depInfo.data.departmentid
       this.$store.dispatch('optiontypeselect','sex')
+
+
+    },
+    salerChange(){
+      console.log(this.form.issalehr)
+     /* if (this.form.issalehr == 1){
+        console.log('22222')
+        this.$refs.area.onClick()
+      }*/
+    },
+    areaLists(val){
+      console.log(val,'123')
+      console.log(val[0].areaname)
+      this.form.areaname = val[0].areaname
+      this.form.sa_saleareaid = val[0].sa_saleareaid
     },
     selectDep  (data) {
       let obj = {
@@ -251,6 +297,7 @@ export default {
       this.$refs['form'].validate(async (valid) => {
         if (!valid)  return false;
         this.$store.commit('setLoading',true)
+        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
         const res = await this.$api.requested({
           "classname": "webmanage.hr.hr",
           "method": "insertormodify_hr",
@@ -298,7 +345,8 @@ export default {
         "reporthrid":"",
         "userid":"0",
         "isworker":'0',
-        "isuppictured":'0'
+        "isuppictured":'0',
+        "issalehr":'0'
       }
     },
     // 监听汇报对象选择
@@ -348,7 +396,22 @@ export default {
     },
     nodeClick(val){
       this.pointValue = val.departmentid
-    }
+    },
+    selectArea(val){
+      this.form.areaname = val.label
+      this.form.sa_saleareaid = val.sa_saleareaid
+    },
+    discountrateChange(val){
+      if (val < 0){
+        this.form.discountrate = 1
+      }else if(val > 100){
+        this.form.discountrate = 100
+      }else {
+        this.form.discountrate = Math.round(val * 100)/100
+      }
+    },
+  },
+  created() {
   }
 }
 

+ 61 - 5
src/HManagement/department/staff/list/modules/edit.vue

@@ -108,6 +108,28 @@
               <el-checkbox v-model="form.isuppictured" :false-label="0" :true-label="1">是否上图员</el-checkbox>
             </el-form-item>
           </el-col>
+          <el-col class="mb-30" :span="5">
+            <el-form-item>
+              <el-checkbox v-model="form.issalehr" :false-label="0" :true-label="1" :disabled="issalehr == '1'">是否业务员</el-checkbox>
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-form-item label="营销区域:">
+              <el-input v-if="issalehr == 1" v-model="form.areaname" placeholder="选择营销区域" autocomplete="off" disabled></el-input>
+              <areaList v-else :areaname="form.areaname" @selectArea="selectArea" @areaList="areaLists"></areaList>
+
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="12" v-if="form.issalehr == '1'">
+            <el-form-item label="最低授权折扣(%):" prop="discountrate" label-width="132px">
+              <el-input v-model="form.discountrate" placeholder="输入最低授权折扣" autocomplete="off" @change="discountrateChange(form.discountrate)"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col class="mb-30" :span="5" v-if="form.issalehr == '1'">
+            <el-form-item>
+              <el-checkbox v-model="form.iseditprice" :false-label="0" :true-label="1">是否可编辑订单价格</el-checkbox>
+            </el-form-item>
+          </el-col>
         </el-form>
       </el-row>
     </div>
@@ -122,9 +144,11 @@
 <script>
 import {mapGetters} from 'vuex'
 import selectMenber from '@/components/selectMenber/index.vue'
+import areaList from "@/HManagement/marketing2/saler/area/modules/areaList";
 export default {
   components:{
-    selectMenber
+    selectMenber,
+    areaList
   },
   computed:{
     ...mapGetters({
@@ -152,6 +176,10 @@ export default {
         email:[
           { pattern:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message: '请输入正确邮箱',trigger: 'blur' }
         ],
+        discountrate: [
+          { required: true, message: '请输入最低授权折扣', trigger: 'blur' },
+          { pattern:/^[0-9]+\.{0,1}[0-9]{0,2}$/,message: '只能输入数值',trigger: 'blur'}
+        ],
       },
       form:{
         "hrid":0,
@@ -171,11 +199,15 @@ export default {
         "userid":"0",
         "statue":0,
         'isuppictured':'0',
-        'reporthrname':''
+        'reporthrname':'',
+        'discountrate':'',
+        'iseditprice':'0',
+        'issalehr':'0'
       },
       value:[],
       deplist:[],
-      pointValue:''
+      pointValue:'',
+      issalehr:''
     }
   },
   methods:{
@@ -187,8 +219,17 @@ export default {
             "hrid":this.$route.query.id
         }
       })
-      console.log(res.data,'编辑数据')
       this.form = Object.assign({},this.form, res.data)
+      this.form.discountrate = this.form.discountrate * 100
+      this.issalehr = this.form.issalehr
+    },
+    areaLists(val){
+      if (this.form.areaname == ''){
+        this.form.areaname = val[0].areaname
+        this.form.sa_saleareaid = val[0].sa_saleareaid
+        this.form.discountrate = ''
+      }
+
     },
     async department () {
       const res = await this.$api.requested({
@@ -247,10 +288,12 @@ export default {
       }
       this.form = Object.assign({},this.form,obj)
       this.showTree = !this.showTree
+      this.issalehr = this.form.issalehr
     },
     onSubmit () {
       this.$refs['form'].validate(async (valid) => {
         if (!valid)  return false;
+        this.form.discountrate = (this.form.discountrate /100).toFixed(4)
         const res = await this.$api.requested({
           "classname": "webmanage.hr.hr",
           "method": "insertormodify_hr",
@@ -278,7 +321,20 @@ export default {
     },
     nodeClick(val){
       this.pointValue = val.departmentid
-    }
+    },
+    selectArea(val){
+      this.form.areaname = val.label
+      this.form.sa_saleareaid = val.sa_saleareaid
+    },
+    discountrateChange(val){
+      if (val < 0){
+        this.form.discountrate = 1
+      }else if(val > 100){
+        this.form.discountrate = 100
+      }else {
+        this.form.discountrate = Math.round(val * 100)/100
+      }
+    },
   }
 }
 

+ 4 - 0
src/HManagement/marketing2/saler/area/modules/areaList.vue

@@ -51,6 +51,7 @@ export default {
       const res = await this.$api.requested(this.param)
       console.log(res.data,'区域列表')
       this.areaList = this.createMenu(res.data)
+      this.$emit('areaList',res.data)
     },
     createMenu (array) {
       var that = this
@@ -84,6 +85,9 @@ export default {
       console.log(data,'选择区域')
       this.$emit('selectArea',data)
     }
+  },
+  mounted() {
+    this.listData()
   }
 }
 </script>

+ 36 - 2
src/SDrpManagement/agentOrder/modules/productlist.vue

@@ -331,6 +331,7 @@ export default {
   props:['data','type'],
   data () {
     return {
+      flag:0,
       freefreightamount:null,
       drawer:false,
       setcol:24,
@@ -504,14 +505,46 @@ export default {
         this.listData()
       }
     },
-    setPickerOptions (val) {
-      var startDate = val.deliverydate
+    async setPickerOptions (val) {
+      /*var startDate = val.deliverydate
       startDate = startDate.replace(new RegExp("-","gm"),"/")
       var startDateM = (new Date(startDate)).getTime()
       this.pickerOptions = {
         disabledDate(time) {
           return time.getTime() < startDateM;
         },
+      }*/
+      let newData = new Date()
+      newData = newData.setDate(newData.getDate() + (val.delivery -1) + this.flag )
+      let year = new Date(newData).getFullYear()
+      let month = new Date(newData).getMonth() + 1
+      let day = new Date(newData).getDate()
+      let param = {
+        "id":20231008134404,
+        "content":{
+          "isExport":0,
+          "isnext":'0',
+          "pageNumber":1,
+          "pageSize":100,
+          "where":{
+            "begindate":year + '-' + month + '-' + day,
+            "enddate":year + '-' + month + '-' + day
+          }
+        },
+      }
+      const res = await this.$api.requested(param)
+      if (res.data.length === 0){
+        this.flag = 0
+        newData = new Date(newData)
+        newData = newData.setDate(newData.getDate() - 1)
+        this.pickerOptions = {
+          disabledDate(time) {
+            return time.getTime() < newData;
+          },
+        }
+      }else {
+        this.flag = this.flag + 1
+        this.setPickerOptions(val)
       }
     },
     // 订单添加商品
@@ -638,6 +671,7 @@ export default {
     },
   },
   mounted () {
+    this.flag = 0
     this.listData()
     console.log("表结构")
     // this.columnTitle  = []

+ 37 - 2
src/SDrpManagement/salerOrder/modules/productlist.vue

@@ -339,6 +339,7 @@ export default {
   props:['data','type'],
   data () {
     return {
+      flag:0,
       freefreightamount:null,
       drawer:false,
       setcol:24,
@@ -522,14 +523,47 @@ export default {
         this.listData()
       }
     },
-    setPickerOptions (val) {
-      var startDate = val.deliverydate
+    async setPickerOptions (val) {
+      /*var startDate = val.deliverydate
       startDate = startDate.replace(new RegExp("-","gm"),"/")
       var startDateM = (new Date(startDate)).getTime()
       this.pickerOptions = {
         disabledDate(time) {
           return time.getTime() < startDateM;
         },
+      }*/
+      let newData = new Date()
+      newData = newData.setDate(newData.getDate() + (val.delivery -1) + this.flag )
+      let year = new Date(newData).getFullYear()
+      let month = new Date(newData).getMonth() + 1
+      let day = new Date(newData).getDate()
+      let param = {
+        "id":20231008134404,
+        "content":{
+          "isExport":0,
+          "isnext":'0',
+          "pageNumber":1,
+          "pageSize":100,
+          "where":{
+            "begindate":year + '-' + month + '-' + day,
+            "enddate":year + '-' + month + '-' + day
+          }
+        },
+      }
+      const res = await this.$api.requested(param)
+      if (res.data.length === 0){
+        this.flag = 0
+        newData = new Date(newData)
+
+        newData = newData.setDate(newData.getDate() - 1)
+        this.pickerOptions = {
+          disabledDate(time) {
+            return time.getTime() < newData;
+          },
+        }
+      }else {
+        this.flag = this.flag + 1
+        this.setPickerOptions(val)
       }
     },
     // 订单添加商品
@@ -668,6 +702,7 @@ export default {
     },
   },
   mounted () {
+    this.flag = 0
     this.listData()
     console.log("表结构")
     // this.columnTitle  = []

+ 2 - 1
src/SManagement/orderclue_detail/components/editFollow.vue

@@ -132,7 +132,7 @@ export default {
   computed: {
   },
   created () {
-    this.getFollowType()
+    /*this.getFollowType()*/
     this.timer = new Date()
 
   },
@@ -144,6 +144,7 @@ export default {
     followBtn () {
       this.dialogVisible = true
       console.log(this.data,'可编辑的数据')
+      this.getFollowType()
       this.param = Object.assign({},this.param,this.data)
       console.log(this.param)
     },

+ 1 - 0
src/SManagement/orderclue_detail/components/followDetail.vue

@@ -257,6 +257,7 @@ export default {
   .card-border .div-border{
     background: #FFFFFF;
     margin-top: 20px;
+    padding: 10px;
     width: 100%;
     height: 90px;
     border-radius: 5px;

+ 5 - 5
src/views/message/index.vue

@@ -14,14 +14,14 @@
               <el-button @click="allRead" size="small">全部阅读</el-button>
             </div>
           </div>
-          <el-row>
+          <el-row style="margin-top: 10px">
             <el-col :span="14" >
-              <div style="margin-left: 25px">
+              <div style="margin-left: 16px">
                 总计:{{total}}
               </div>
             </el-col>
             <el-col :span="10">
-              <div style="float: right;margin-right: 20px">
+              <div style="float: right;margin-right: 16px">
                 <el-switch
                     v-model="isRead"
                     active-text="只看未读"
@@ -133,7 +133,7 @@ export default {
       "content":{
               "nocache":true,
               "messageid":data.messageid
-            }
+          }
         })
       data.isread = 1
       res.data.name = data.name
@@ -148,7 +148,7 @@ export default {
       "classname":"system.message.Message",
       "method":"readAllMessage",
       "content":{
-              "nocache":true,
+        "nocache":true,
       }
       })
       this.tool.showMessage(res,() => {