qymljy 2 سال پیش
والد
کامیت
b4d3e66bf0

+ 47 - 0
src/HDrpManagement/predictionRule/index.vue

@@ -0,0 +1,47 @@
+<template>
+  <div>
+    <basicLayout
+        style="padding-top:0 !important"
+        ref="basicLayout"
+        formPath="predictionRule"
+        tableName="predictionRuleTable"
+        idName="sa_salesforecastmodelid"
+        :apiId="{query:20230705144004,del:''}"
+    >
+      <template v-slot:tbList="scope">
+        <p v-if="scope.data.column.columnname === 'periodpoint'">
+          <span v-for="(item,index) in JSON.parse(scope.data.column.data.periodpoint)">
+            <span v-if="index === JSON.parse(scope.data.column.data.periodpoint).length -1">{{item}}</span>
+            <span v-else>{{item + '、'}}</span>
+          </span>
+        </p>
+        <p v-else-if="scope.data.column.columnname === 'status'">
+          <span v-if="scope.data.column.data.status === '开启'" style="color: #00B32B">
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </span>
+          <span v-else style="color: #E13333">
+            {{scope.data.column.data[[scope.data.column.columnname]]}}
+          </span>
+        </p>
+        <p v-else>
+          {{scope.data.column.data[[scope.data.column.columnname]]}}
+        </p>
+      </template>
+      <template v-slot:tbOpreation="scope">
+        <edit></edit>
+      </template>
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+import edit from './modules/edit'
+export default {
+  name: "index",
+  components:{edit}
+}
+</script>
+
+<style scoped>
+
+</style>

+ 235 - 0
src/HDrpManagement/predictionRule/modules/edit.vue

@@ -0,0 +1,235 @@
+<template>
+  <div>
+    <el-button size="mini" type="text" @click="onEdit">编 辑</el-button>
+    <el-drawer title="周预测设置" :visible.sync="dialogVisible" size="600px" direction="rtl"
+               :show-close="false" append-to-body>
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" ref="form" label-width="120px" label-position="right" size="mini">
+            <el-col :span="24">
+              <el-form-item label="开始时间:" prop="enterprisename">
+                <el-select v-model="start" placeholder="请选择" style="width: 100%" clearable>
+                  <el-option
+                      v-for="item in selectDay"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="结束时间:" prop="enterprisename">
+                <el-select v-model="end" placeholder="请选择" style="width: 100%" clearable>
+                  <el-option
+                      v-for="item in selectDay"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预测周期:" prop="enterprisename">
+                <el-select v-model="form.periodpoint" placeholder="请选择" style="width: 100%" multiple clearable>
+                  <el-option
+                      v-for="item in selectCycle"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value">
+                  </el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="预测人员:" prop="enterprisename">
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="部门:" prop="enterprisename">
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="组织内指定人员:" prop="enterprisename">
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="角色:" prop="enterprisename">
+              </el-form-item>
+            </el-col>
+            <el-col :span="24">
+              <el-form-item label="状态:" prop="enterprisename">
+                <el-radio v-model="form.status" label="开启">开启</el-radio>
+                <el-radio v-model="form.status" label="关闭">关闭</el-radio>
+              </el-form-item>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "edit",
+  data() {
+    return {
+      dialogVisible:false,
+      start:'',
+      end:'',
+      form:{
+        "sa_salesforecastmodelid": 2,
+        "remarks": "测试",
+        "periodpoint": [],
+        "taskdays":[1,4],
+        "sales":[456],
+        "roles":[],
+        "departments":[],
+        "status":"开启"
+      },
+      selectDay:[
+        {
+          value:'1',
+          label:'周一'
+        },
+        {
+          value:'2',
+          label:'周二'
+        },
+        {
+          value:'3',
+          label:'周三'
+        },
+        {
+          value:'4',
+          label:'周四'
+        },
+        {
+          value:'5',
+          label:'周五'
+        },
+        {
+          value:'6',
+          label:'周六'
+        },
+        {
+          value:'7',
+          label:'周日'
+        },
+      ],
+      selectCycle:[
+        {
+          value:'本周',
+          label:'本周'
+        },
+        {
+          value:'次周',
+          label:'次周'
+        },
+        {
+          value:'次次周',
+          label:'次次周'
+        },
+      ]
+    }
+  },
+  methods:{
+    /*获取已选部门数据*/
+    async queryDepartment(){
+      const res = await this.$api.requested({
+        "id": "20230705144404",
+        "content": {
+          "sa_salesforecastmodelid":1,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      console.log(res.data,'部门')
+    },
+    /*获取已选组织内人员*/
+    async queryPerson(){
+      const res = await this.$api.requested({
+        "id": "20230705144204",
+        "content": {
+          "sa_salesforecastmodelid":1,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      console.log(res.data,'人员')
+    },
+    /*获取已选角色*/
+    async queryRole(){
+      const res = await this.$api.requested({
+        "id": "20230705144304",
+        "content": {
+          "sa_salesforecastmodelid":1,
+          "where":{
+            "condition":""
+          }
+        }
+      })
+      console.log(res.data,'角色')
+    },
+    /*获取所有部门*/
+    async departmentList(){
+      const res = await this.$api.requested({
+        "classname": "webmanage.department.department",
+        "method": "querydepartment",
+        "content": {
+        }
+      })
+      console.log(res.data,'所有部门')
+      this.personList(res.data[0].departmentid)
+    },
+    /*获取所有人员*/
+    async personList(id){
+      const res = await this.$api.requested({
+        "id": "20221102090303",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 100,
+          "departmentids":[id],
+          "containssub":1,
+          "where": {
+            "condition": ""
+          }
+        }
+      })
+      console.log(res.data,'所有人员')
+    },
+    async roleList(){
+      const res = await this.$api.requested({
+        "id": "20221101131902",
+        "content": {
+          "pageNumber": 1,
+          "pageSize": 100,
+          "where": {
+            "condition": ""
+          }
+        }
+      })
+      console.log(res.data,'角色')
+    },
+    onEdit(){
+      this.dialogVisible = true
+      this.departmentList()
+      this.roleList()
+    /*  this.queryDepartment()
+      this.queryPerson()
+      this.queryRole()*/
+    }
+  },
+  mounted() {
+
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 1
src/HDrpManagement/projectChange/components/putPeople.vue

@@ -62,7 +62,7 @@ export default {
       });
     },
     async onCheck(){
-      if (JSON.parse(sessionStorage.getItem('active_account')).siteid == 'HY'){
+      if (JSON.parse(sessionStorage.getItem('active_account')).siteid){
         const res = await this.$api.requested({
           "id": 20230628155602,
           "content": {

+ 20 - 0
src/HDrpManagement/projectPredictionManage/index.vue

@@ -0,0 +1,20 @@
+<template>
+  <div>
+    <basicLayout
+        style="padding-top:0 !important"
+        ref="basicLayout"
+    >
+
+    </basicLayout>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "index"
+}
+</script>
+
+<style scoped>
+
+</style>

+ 54 - 20
src/HDrpManagement/workReport/modules/aside/index.vue

@@ -13,27 +13,42 @@
     </div>
     <div class="list" v-load="load">
       <div v-if="list.length">
-
-        <div 
-          class="list-item"
-          :class="item.readstatus == '未读' ? 'no-read' : ''"
-          :style="currentIndex == item.sys_workreportid ? '--borderColor:#3874F6' : '--borderColor:#cccccc'" 
-          v-for="item in list" 
-          :key="'item' + item.sys_workreportid" 
-          @click="itemClick(item)"
-        >
-          <div class="item-left">
-            <div class="item-avatar">{{ item.name.substr(0,1) }}</div>
-            <div class="item-info">
-              <div class="item-info_top">
-                <span>{{ item.name }}</span>
-                <span>{{ item.position }}</span>
+        <div style="height: calc(100vh - 340px);overflow: auto;" >
+          <div
+              class="list-item"
+              :class="item.readstatus == '未读' ? 'no-read' : ''"
+              :style="currentIndex == item.sys_workreportid ? '--borderColor:#3874F6' : '--borderColor:#cccccc'"
+              v-for="item in list"
+              :key="'item' + item.sys_workreportid"
+              @click="itemClick(item)"
+          >
+            <div class="item-left">
+              <div class="item-avatar">{{ item.name.substr(0,1) }}</div>
+              <div class="item-info">
+                <div class="item-info_top">
+                  <span>{{ item.name }}</span>
+                  <span>{{ item.position }}</span>
+                </div>
+                <p>{{ item.phonenumber }}</p>
+                <p>{{ item.createdate }}</p>
               </div>
-              <p>{{ item.phonenumber }}</p>
-              <p>{{ item.createdate }}</p>
             </div>
+            <div class="item-right">{{ item.reportname }}</div>
           </div>
-          <div class="item-right">{{ item.reportname }}</div>
+        </div>
+
+        <div class="normal-panel" style="text-align:right">
+          <el-pagination
+              background
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="params.content.pageNumber"
+              :pager-count="3"
+              :page-sizes="[20, 50, 100, 200]"
+              :page-size="20"
+              layout="total, prev, pager, next"
+              :total="total">
+          </el-pagination>
         </div>
       </div>
       <el-empty description="暂无数据" size="mini" v-else></el-empty>
@@ -49,6 +64,7 @@ export default {
       currentStatus:'',
       currentIndex:'',
       totalPage:0,
+      total:0,
       list:[],
       params: {
         "id": "20230524103102",
@@ -84,13 +100,19 @@ export default {
     }
   },
   methods: {
-    async listData (callback) {
+    /*async listData (callback) {
       let res = await this.$api.requested(this.params)
       this.list = this.params.content.pageNumber == 1 ? res.data : this.list.concat(res.data)
       this.totalPage = res.pageTotal
       this.currentIndex = res.data.length ? res.data[0].sys_workreportid : ''
       callback && callback(this.currentIndex)
+      this.total = res.total
       console.log(this.list,'结果');
+    },*/
+    async listData(){
+      const res = await this.$api.requested(this.params)
+      this.list = res.data
+      this.total = res.total
     },
     load () {
       console.log(this.params.content.pageNumber,this.totalPage);
@@ -99,7 +121,7 @@ export default {
       this.listData()
     },
     itemClick (data) {
-      if (this.currentIndex == data.sys_workreportid) return 
+      if (this.currentIndex == data.sys_workreportid) return
       data.readstatus = '已读'
       this.currentIndex = data.sys_workreportid
       this.$emit('reportItem',this.currentIndex)
@@ -120,6 +142,18 @@ export default {
       this.params.content.pageNumber = 1
       this.listData()
     },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      console.log(1)
+      this.params.content.pageSize = val
+      this.listData()
+    },
+    handleCurrentChange(val) {
+      console.log(12)
+      // console.log(`当前页: ${val}`);
+      this.params.content.pageNumber = val
+      this.listData()
+    },
   }
 }
 </script>

+ 13 - 1
src/router/HDrpManagement.js

@@ -1048,7 +1048,19 @@ const HDrpManagement = [
       keeproute: true,
     },
     component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/salerPortrait/index')
-  }
+  },
+  {
+    path: '/predictionRule',
+    name: 'predictionRule',
+    meta: {
+      title: '预测设置',
+      ast_nav: true,
+      keeproute: true,
+    },
+    component: () => import(/* webpackChunkName: "about" */ '@/HDrpManagement/predictionRule/index')
+  },
+
+
 
 ];
 export default HDrpManagement;