瀏覽代碼

服务改善列表

xiaohaizhao 2 月之前
父節點
當前提交
08a640a4cb

+ 66 - 0
E-service/serviceImprovement/detail.js

@@ -0,0 +1,66 @@
+// E-service/serviceImprovement/detail.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {
+
+  }
+})

+ 3 - 0
E-service/serviceImprovement/detail.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 1 - 0
E-service/serviceImprovement/detail.scss

@@ -0,0 +1 @@
+/* E-service/serviceImprovement/detail.wxss */

+ 2 - 0
E-service/serviceImprovement/detail.wxml

@@ -0,0 +1,2 @@
+<!--E-service/serviceImprovement/detail.wxml-->
+<text>E-service/serviceImprovement/detail.wxml</text>

+ 127 - 0
E-service/serviceImprovement/index.js

@@ -0,0 +1,127 @@
+const _Http = getApp().globalData.http;
+
+Page({
+  data: {
+    "id": 2026013111220102,
+    "content": {
+      "pageNumber": 1,
+      "pageSize": 20,
+      "isManage": false, //服务申请管理,申请单管理 是传 true
+      "where": {
+        "condition": "",
+        "status": ["新建"], //状态
+        "type": "", //改善类别
+        "class2": "", //客诉大类
+        "result": "", //改善结果
+        "begindate_submitdate": "", //真因分析提交时间区间
+        "enddate_submitdate": "", //真因分析提交时间区间
+        "begindate_senddate": "", //改善方案发布时间区间。
+        "enddate_senddate": "", //改善方案发布时间区间。
+        "begindate_createdate": "", //改善单创建时间区间。
+        "enddate_createdate": "", //改善单创建时间区间。
+        "begindate_finishdate": "", //改善单完成时间区间。
+        "enddate_finishdate": "" //改善单完成时间区间。
+      }
+    },
+    tabColorS: {
+      有效: {
+        bgColor: "#E1EAFE",
+        color: "#3874F6"
+      },
+      无效: {
+        bgColor: "#FCE4E4",
+        color: "#ED4949"
+      },
+    },
+    filtratelist: []
+  },
+  async onLoad(options) {
+    this.getList()
+    getApp().globalData.Language.getLanguagePackage(this, 'E-订单');
+    let filtratelist = [{
+      label: "改善类别",
+      index: null,
+      showName: "value", //显示字段
+      valueKey: "type", //返回Key
+      selectKey: "value", //传参 代表选着字段 不传参返回整个选择对象
+      value: "", //选中值
+      list: await _Http.getTypes('improvementtype', _Http)
+    }, {
+      label: "客诉大类",
+      index: null,
+      showName: "value", //显示字段
+      valueKey: "class2", //返回Key
+      selectKey: "value", //传参 代表选着字段 不传参返回整个选择对象
+      value: "", //选中值
+      list: await _Http.getTypes('customerclass', _Http)
+    }]
+    this.setData({
+      filtratelist
+    })
+  },
+  getList(init = false) {
+    _Http.init(this.data.content, init).then(content => {
+      _Http.basic({
+        id: this.data.id,
+        content
+      }).then(res => {
+        console.log("服务改善列表", res)
+        this.selectComponent('#ListBox').RefreshToComplete();
+        if (res.code != '1') return wx.showToast({
+          title: res.msg,
+          icon: "none"
+        })
+        this.setData({
+          content: _Http.paging(content, res),
+          list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data)
+        })
+      })
+    })
+  },
+  onSearch({
+    detail
+  }) {
+    this.data.content.where.condition = detail;
+    this.getList(true)
+  },
+  onChangeTab({
+    detail
+  }) {
+    let value = [];
+    switch (detail.title) {
+      case '真因分析':
+        value = ['新建']
+        break;
+      case '改善方案':
+        value = ['分析已提交']
+        break;
+      case '方案执行':
+        value = ['方案已发布']
+        break;
+      case '完成/中止':
+        value = ['完成', '中止']
+        break;
+    }
+    this.setData({
+      'content.where.status': value
+    })
+    this.getList(true)
+  },
+  handleFilter({
+    detail
+  }) {
+    detail.condition = this.data.content.where.condition;
+    detail.status = this.data.content.where.status;
+    detail.begindate_submitdate = detail.startdate;
+    detail.enddate_submitdate = detail.enddate;
+    detail.begindate_senddate = detail.periodstart;
+    detail.enddate_senddate = detail.periodend;
+    delete detail.name;
+    delete detail.startdate;
+    delete detail.enddate;
+    delete detail.periodstart;
+    delete detail.periodend;
+    this.data.content.where = detail;
+    this.getList(true);
+  },
+})

+ 3 - 0
E-service/serviceImprovement/index.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 54 - 0
E-service/serviceImprovement/index.scss

@@ -0,0 +1,54 @@
+.item {
+	width: 690rpx;
+	background: #FFFFFF;
+	border-radius: 8rpx;
+	padding: 20rpx;
+	box-sizing: border-box;
+	margin: 20rpx auto 0;
+
+	.head {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		width: 100%;
+		padding-bottom: 18rpx;
+		border-bottom: 1px solid #DDDDDD;
+
+		.tabs {
+			display: flex;
+
+			.tab {
+				font-family: PingFang SC, PingFang SC;
+				font-size: 24rpx;
+				padding: 0 12rpx;
+				line-height: 40rpx;
+				border-radius: 20rpx;
+				margin-right: 20rpx;
+				background-color: #E1EAFE;
+				color: #3874F6
+			}
+		}
+
+		.status {
+			font-family: PingFang SC, PingFang SC;
+			font-size: 28rpx;
+			color: #3874F6;
+		}
+	}
+
+	.address {
+		line-height: 40rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-size: 28rpx;
+		color: #333333;
+		margin-top: 8rpx;
+	}
+
+	.row {
+		line-height: 34rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-size: 24rpx;
+		color: #999999;
+		margin-top: 8rpx;
+	}
+}

+ 24 - 0
E-service/serviceImprovement/index.wxml

@@ -0,0 +1,24 @@
+<Yl_Head2 tabs="{{[{title:'真因分析'},{title:'改善方案'},{title:'方案执行'},{title:'完成/中止'}]}}" bind:onSearch='onSearch' bind:onChangeTab='onChangeTab' />
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+	<navigator class="item" url="/E-service/serviceImprovement/detail?id={{item.sa_service_improvementid}}" wx:for="{{list}}" wx:key="sa_serviceorderid">
+		<view class="head">
+			<view class="tabs">
+				<view class="tab">
+					{{language[item.type]||item.type}}
+				</view>
+				<view class="tab" style="background-color: {{tabColorS[item.result].bgColor}};color:{{tabColorS[item.result].color}};">
+					{{language[item.result]||item.result}}
+				</view>
+			</view>
+			<view class="status" style="color:{{sColors[item.status]}};">{{language[item.status]||item.status}}</view>
+		</view>
+		<view class="address">{{language['改善单号']||'改善单号'}}:{{item.billno}}</view>
+		<view class="row">{{language['客诉大类']||'客诉大类'}}:{{language[item.class2]||item.class2}}</view>
+		<view class="row">{{language['分析负责人']||'分析负责人'}}:{{item.name_analysis}}</view>
+		<view class="row">{{language['负责部门']||'负责部门'}}:{{language[item.depname_charge]||item.depname_charge}}</view>
+		<view class="row">{{language['改善计划周期']||'改善计划周期'}}:{{item.planned_days}}{{language['天']||'天'}}</view>
+		<view class="row">{{language['改善方案进度']||'改善方案进度'}}:{{item.progress}}%</view>
+	</navigator>
+	<Yl_Empty wx:if="{{list.length==0}}" />
+</Yl_ListBox>
+<Yl_Filtrate id='Filtrate' list="{{filtratelist}}" bind:handle="handleFilter" dateRange dateRange1 dateRange2 dateRange3 dateRangeName='真因分析时间' dateRangeName1='方案发布时间' dateRangeName2='创建时间' dateRangeName3='完成时间' />

+ 3 - 1
app.json

@@ -88,7 +88,9 @@
       "pages": [
       "pages": [
         "serviceBillList/index",
         "serviceBillList/index",
         "serviceBillList/detail",
         "serviceBillList/detail",
-        "serviceBillList/insert"
+        "serviceBillList/insert",
+        "serviceImprovement/index",
+        "serviceImprovement/detail"
       ]
       ]
     },
     },
     {
     {

+ 17 - 3
components/Yl_Filtrate/index.js

@@ -36,6 +36,15 @@ Component({
         dateRange: {
         dateRange: {
             type: Boolean
             type: Boolean
         }, //是否开启日期范围筛选
         }, //是否开启日期范围筛选
+        dateRange1: {
+            type: Boolean
+        }, //是否开启日期范围筛选
+        dateRange2: {
+            type: Boolean
+        }, //是否开启日期范围筛选
+        dateRange3: {
+            type: Boolean
+        }, //是否开启日期范围筛选
         dateRangeName: {
         dateRangeName: {
             type: String,
             type: String,
             value: "日期范围"
             value: "日期范围"
@@ -44,9 +53,14 @@ Component({
             type: String,
             type: String,
             value: "日期范围"
             value: "日期范围"
         },
         },
-        dateRange1: {
-            type: Boolean
-        }, //是否开启日期范围筛选
+        dateRangeName2: {
+            type: String,
+            value: "日期范围"
+        },
+        dateRangeName3: {
+            type: String,
+            value: "日期范围"
+        },
         zIndex: {
         zIndex: {
             type: String,
             type: String,
             value: 99999,
             value: 99999,

+ 28 - 0
components/Yl_Filtrate/index.wxml

@@ -45,6 +45,34 @@
                 </picker>
                 </picker>
             </view>
             </view>
         </view>
         </view>
+        <view wx:if="{{dateRange2}}" class="groud">
+            <view class="label">
+                {{language[dateRangeName2]||dateRangeName2}}
+            </view>
+            <view class="content time">
+                <picker mode="date" bindchange='changeDate' data-name="begindate_createdate">
+                    <view class="tbox">{{begindate_createdate||language['开始日期']||'开始日期'}}</view>
+                </picker>
+                <view class="partition">-</view>
+                <picker mode="date" bindchange='changeDate' data-name="enddate_createdate">
+                    <view class="tbox">{{enddate_createdate||language['开始日期']||"结束日期"}}</view>
+                </picker>
+            </view>
+        </view>
+        <view wx:if="{{dateRange3}}" class="groud">
+            <view class="label">
+                {{language[dateRangeName3]||dateRangeName3}}
+            </view>
+            <view class="content time">
+                <picker mode="date" bindchange='changeDate' data-name="begindate_finishdate">
+                    <view class="tbox">{{begindate_finishdate||language['开始日期']||'开始日期'}}</view>
+                </picker>
+                <view class="partition">-</view>
+                <picker mode="date" bindchange='changeDate' data-name="enddate_finishdate">
+                    <view class="tbox">{{enddate_finishdate||language['开始日期']||"结束日期"}}</view>
+                </picker>
+            </view>
+        </view>
         <slot />
         <slot />
     </Yl_ListBox>
     </Yl_ListBox>
     <view class="footer" bindtap="onClick">
     <view class="footer" bindtap="onClick">

+ 9 - 2
project.private.config.json

@@ -24,12 +24,19 @@
   "condition": {
   "condition": {
     "miniprogram": {
     "miniprogram": {
       "list": [
       "list": [
+        {
+          "name": "服务改善",
+          "pathName": "E-service/serviceImprovement/index",
+          "query": "",
+          "scene": null,
+          "launchMode": "default"
+        },
         {
         {
           "name": "新申请单详情",
           "name": "新申请单详情",
           "pathName": "E-service/serviceBillList/detail",
           "pathName": "E-service/serviceBillList/detail",
           "query": "id=1524&type=default",
           "query": "id=1524&type=default",
-          "scene": null,
-          "launchMode": "default"
+          "launchMode": "default",
+          "scene": null
         },
         },
         {
         {
           "name": "新申请单管理",
           "name": "新申请单管理",

+ 5 - 0
utils/work/apps.js

@@ -327,6 +327,11 @@ function geteservice() {
 		path: "/Eservice/saler/serviceBillList/index",
 		path: "/Eservice/saler/serviceBillList/index",
 		icon: "work-yewuyuanfuwushenqingdan",
 		icon: "work-yewuyuanfuwushenqingdan",
 		// objectname: "sa_serviceorder"
 		// objectname: "sa_serviceorder"
+	}, {
+		name: "服务改善",
+		path: "/E-service/serviceImprovement/index",
+		icon: "work-yewuyuanfuwushenqingdan",
+		// objectname: "sa_serviceorder"
 	}];
 	}];
 	let eservice = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-服务"], ["工单管理"]),
 	let eservice = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ["E-服务"], ["工单管理"]),
 		list = [];
 		list = [];