xiaohaizhao 2 месяцев назад
Родитель
Сommit
dd98113e43

+ 92 - 0
E-service/serviceBillList/transferWorkOrder/progress.js

@@ -0,0 +1,92 @@
+const _Http = getApp().globalData.http;
+
+Page({
+  data: {
+    type: "default",
+    "id": 2026020515100102,
+    "content": {
+      "nocache": true,
+      "pageNumber": 1,
+      "pageSize": 20,
+      "isManage": false, //服务申请管理,申请单管理 是传 true
+      "where": {
+        "condition": "",
+      }
+    },
+    tabColorS: {
+      售前: {
+        bgColor: "#E1EAFE",
+        color: "#3874F6"
+      },
+      售中: {
+        bgColor: "#FEF0E1",
+        color: "#F69E38"
+      },
+      售后: {
+        bgColor: "#FCE4E4",
+        color: "#ED4949"
+      },
+      紧急: {
+        bgColor: "#FCE4E4",
+        color: "#ED4949"
+      },
+      历史售后: {
+        bgColor: "#eeeeee",
+        color: "#888888"
+      }
+    },
+
+    filtratelist: []
+  },
+  async onLoad(options) {
+    getApp().globalData.Language.getLanguagePackage(this, '进度');
+    this.getList()
+  },
+  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)
+        })
+      })
+    })
+  },
+  /* 开始搜索 */
+  startSearch({
+    detail
+  }) {
+    let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;
+    if (detail == condition) return;
+    this.setData({
+      'content.where.condition': detail,
+      'params.content.where.condition': detail
+    });
+    this.getList(true);
+  },
+  /* 取消搜索 */
+  onClear() {
+    this.setData({
+      'content.where.condition': "",
+      'params.content.where.condition': ""
+    });
+    this.getList(true);
+  },
+  onChangeTab({
+    detail
+  }) {
+    this.setData({
+      'content.where.status': [detail.title]
+    })
+    this.getList(true)
+  },
+})

+ 3 - 0
E-service/serviceBillList/transferWorkOrder/progress.json

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

+ 54 - 0
E-service/serviceBillList/transferWorkOrder/progress.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;
+	}
+}

+ 34 - 0
E-service/serviceBillList/transferWorkOrder/progress.wxml

@@ -0,0 +1,34 @@
+<van-search class="search" value="{{ content.where.condition }}" shape="round" placeholder="{{language['关键字']||'请输入搜索关键词'}}" bind:search='startSearch' bind:clear='onClear' />
+
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+	<view class="item" wx:for="{{list}}" wx:key="sa_serviceorderid">
+		<view class="head">
+			<view class="tabs">
+				<view class="tab" style="background-color: {{tabColorS[item.servicetype].bgColor}};color:{{tabColorS[item.servicetype].color}};">
+					{{language[item.servicetype]||item.servicetype}}
+				</view>
+				<view class="tab">
+					{{language[item.class1]||item.class1}}
+				</view>
+				<view wx:if="{{item.exception_type}}" class="tab">
+					{{language[item.exception_type]||item.exception_type}}
+				</view>
+				<view wx:if="{{item.service_level}}" style="background-color: {{tabColorS[item.service_level].bgColor}};color:{{tabColorS[item.service_level].color}};" class="tab">
+					{{language[item.service_level]||item.service_level}}
+				</view>
+			</view>
+			<view class="status" style="color:{{sColors[item.status]}};">{{language[item.status]||item.status}}</view>
+		</view>
+		<view class="address">{{item.province + item.city + item.county + item.address}}</view>
+		<view class="row">{{language['申请单号']||'申请单号'}}:{{item.billno}}</view>
+		<view class="row">
+			{{language['现场联系人']||'现场联系人'}}:{{item.scenecontact}}
+			<text style="margin-right: 20rpx;">{{language[item.scenecontactrole]||item.scenecontactrole}}</text>
+			<text style="margin-right: 20rpx;">{{item.scenecontactphonenumber}}</text>
+		</view>
+		<view class="row">{{language['客诉大类']||'客诉大类'}}:{{language[item.class2]||item.class2 || '--'}}</view>
+		<view class="row">{{language['服务时间']||'服务时间'}}:{{item.begdate}} {{language['至']||'至'}} {{item.enddate}}</view>
+		<view class="row">{{language['工单状态']||'工单状态'}}:<text style="color:{{sColors[item.status_workorder]}};">{{item.status_workorder||'--'}}</text></view>
+	</view>
+	<Yl_Empty wx:if="{{list.length==0}}" />
+</Yl_ListBox>

+ 5 - 0
E-service/serviceBillList/transferWorkOrder/transfer.js

@@ -169,5 +169,10 @@ Page({
     this.setData({
       disabled: detail
     })
+  },
+  checkProgress() {
+    wx.navigateTo({
+      url: '/E-service/serviceBillList/transferWorkOrder/progress',
+    })
   }
 })

+ 13 - 1
E-service/serviceBillList/transferWorkOrder/transfer.scss

@@ -1,6 +1,5 @@
 .new-footer {
 	display: flex;
-	align-items: center;
 	justify-content: space-between;
 	position: fixed;
 	width: 100vw;
@@ -11,11 +10,14 @@
 	z-index: 9999;
 	padding-left: 30rpx;
 	box-sizing: border-box;
+	padding-top: 10rpx;
 
 	.historicalservicesqty {
 		font-family: PingFang SC, PingFang SC;
 		font-size: 32rpx;
 		color: #333333;
+		height: 90rpx;
+		line-height: 90rpx;
 	}
 
 	.new-submit {
@@ -29,4 +31,14 @@
 		color: #FFFFFF;
 		margin-right: 30rpx;
 	}
+
+	.but {
+		background: #FFFFFF;
+		border: 2rpx solid #CCCCCC;
+		font-family: PingFang SC, PingFang SC;
+		font-weight: bold;
+		font-size: 32rpx;
+		color: #333333;
+		margin-right: 20rpx;
+	}
 }

+ 4 - 1
E-service/serviceBillList/transferWorkOrder/transfer.wxml

@@ -3,5 +3,8 @@
 <view style="height: 150rpx;" />
 <view class="new-footer">
     <view class="historicalservicesqty">{{language['历史服务次数']||'历史服务次数'}}:{{historicalservicesqty}}</view>
-    <van-button custom-class='new-submit' disabled='{{disabled || loading}}' loading='{{loading}}' bindclick='submit'>{{language['确定']||'确定'}}</van-button>
+    <view>
+        <van-button custom-class='new-submit but' bindclick='checkProgress'>{{language['进度']||'进度'}}</van-button>
+        <van-button custom-class='new-submit' disabled='{{disabled || loading}}' loading='{{loading}}' bindclick='submit'>{{language['确定']||'确定'}}</van-button>
+    </view>
 </view>

+ 343 - 52
E-service/serviceImprovement/detail.js

@@ -1,66 +1,357 @@
-// E-service/serviceImprovement/detail.js
-Page({
+const _Http = getApp().globalData.http;
 
-  /**
-   * 页面的初始数据
-   */
+Page({
   data: {
-
+    tabsList: [],
+    tabsActive: 0,
+    tabColorS: {
+      有效: {
+        bgColor: "#E1EAFE",
+        color: "#3874F6"
+      },
+      无效: {
+        bgColor: "#FCE4E4",
+        color: "#ED4949"
+      },
+    },
   },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
   onLoad(options) {
-
+    this.setData({
+      sa_service_improvementid: options.id
+    })
+    this.getDetail()
+    getApp().globalData.Language.getLanguagePackage(this, '改善单详情');
   },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady() {
-
+  getDetail() {
+    _Http.basic({
+      "id": 2026013111234002,
+      "content": {
+        "sa_service_improvementid": this.data.sa_service_improvementid
+      },
+    }).then(res => {
+      console.log("改善单详情", res)
+      if (res.code != '1') return wx.showToast({
+        title: res.msg,
+        icon: "none"
+      })
+      this.setData({
+        detail: res.data
+      })
+      this.setPreview(res);
+      this.setTabbar()
+      this.partialRenewal();
+    })
   },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow() {
-
+  onCancel() {
+    this.setData({
+      abortreasonShow: false,
+      backreasonShow: false
+    })
   },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide() {
-
+  // 中止
+  onSuspend() {
+    let abortreason = this.data.reason.abortreason;
+    if (abortreason == '') return wx.showToast({
+      title: getApp().globalData.Language.getMapText("请说明中止原因"),
+      icon: "none"
+    })
+    _Http.basic({
+      "content": {
+        "sa_service_improvementid": this.data.detail.sa_service_improvementid,
+        abortreason
+      },
+      "id": 2026013111262102,
+    }).then(res => {
+      getApp().globalData.Language.showToast(res.code == '1' ? "中止成功" : res.msg)
+      if (res.code == 1) this.getDetail();
+    })
   },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload() {
-
+  areaInput(e) {
+    this.data.reason[e.currentTarget.dataset.name] = e.detail.value;
   },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh() {
-
+  tabbarOnClick(e) {
+    let that = this,
+      detail = this.data.detail;
+    switch (e.detail.label) {
+      case '中止':
+        this.setData({
+          abortreasonShow: true
+        })
+        break;
+      case '退回':
+        this.setData({
+          backreasonShow: true
+        })
+        break;
+      case '转工单':
+        wx.navigateTo({
+          url: "/E-service/serviceBillList/transferWorkOrder/transfer?id=" + detail.sa_service_improvementid + '&historicalservicesqty=' + detail.historicalservicesqty
+        })
+        break;
+      case '编辑':
+        wx.navigateTo({
+          url: `/E-service/serviceBillList/insert?type=${this.data.type}&edit=true`
+        })
+        break;
+      case '提交':
+        wx.showModal({
+          title: getApp().globalData.Language.getMapText('提示'),
+          content: getApp().globalData.Language.getMapText(`确认提交当前服务改善单吗`) + '?',
+          confirmBtn: getApp().globalData.Language.getMapText('确定'),
+          cancelBtn: getApp().globalData.Language.getMapText('取消'),
+          complete: ({
+            confirm
+          }) => {
+            if (confirm) _Http.basic({
+              "content": {
+                "sa_service_improvementid": detail.sa_service_improvementid,
+                "issumbit": 1,
+                backreason: ""
+              },
+              "id": "20230206101403",
+            }).then(res => {
+              getApp().globalData.Language.showToast(res.code == '1' ? "提交成功" : res.msg)
+              if (res.code == 1) that.getDetail();
+            })
+          }
+        })
+        break;
+      case "删除":
+        wx.showModal({
+          title: getApp().globalData.Language.getMapText('提示'),
+          content: getApp().globalData.Language.getMapText(`确认删除当前改善单吗`) + '?',
+          confirmBtn: getApp().globalData.Language.getMapText('确定'),
+          cancelBtn: getApp().globalData.Language.getMapText('取消'),
+          complete: ({
+            confirm
+          }) => {
+            if (confirm) _Http.basic({
+              "content": {
+                "sa_service_improvementids": [detail.sa_service_improvementid],
+              },
+              "id": "20230206091803",
+            }).then(res => {
+              getApp().globalData.Language.showToast(res.code == '1' ? "删除成功" : res.msg)
+              if (res.code == '1') setTimeout(() => {
+                wx.navigateBack()
+              }, 500);
+            })
+          }
+        })
+        break;
+    }
   },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom() {
-
+  /* 底部功能 */
+  async setTabbar() {
+    let status = this.data.detail.status,
+      tabbarList = [];
+    let options = {
+      编辑: {
+        icon: "icon-bianji2",
+        label: "编辑"
+      },
+      提交分析: {
+        icon: "icon-tijiao",
+        label: "提交分析"
+      },
+      撤回分析: {
+        icon: "icon-tijiao",
+        label: "撤回分析"
+      },
+      中止: {
+        icon: "icon-dibu-zuofei",
+        label: "中止"
+      },
+      发布方案: {
+        icon: "icon-dibu-tuihui",
+        label: "发布方案"
+      },
+      撤回方案: {
+        icon: "icon-shanchu1",
+        label: "撤回方案"
+      }
+    };
+    if (statusOptions[status]) {
+      tabbarList = statusOptions[status].map(v => options[v]);
+    }
+    this.setData({
+      tabbarList
+    })
   },
+  setPreview(res) {
+    /* 基本信息 */
+    let list1 = [{
+      label: "改善单号",
+      value: res.data.billno
+    }, {
+      label: "单据日期",
+      value: res.data.billdate
+    }, {
+      label: "状态",
+      value: getApp().globalData.Language.getMapText(res.data.status),
+      style: `color:${this.data.sColors[res.data.status]}`
+    }, {
+      label: "企业名称",
+      value: res.data.enterprisename
+    }, {
+      label: "企业编号",
+      value: res.data.agentnum
+    }, {
+      label: "省市县",
+      value: res.data.province + res.data.city + res.data.county
+    }, {
+      label: "详细地址",
+      value: res.data.address
+    }, {
+      label: "关联订单",
+      value: res.data.sonum
+    }, {
+      label: "现场联系人",
+      value: res.data.scenecontact,
+    }, {
+      label: "身份备注",
+      value: res.data.scenecontactrole
+    }, {
+      label: "现场联系人电话",
+      value: res.data.scenecontactphonenumber
+    }, {
+      label: "应用系统",
+      value: res.data.class1
+    }, {
+      label: "服务开始日期",
+      value: res.data.begdate
+    }, {
+      label: "服务结束日期",
+      value: res.data.enddate
+    }, {
+      label: "问题描述",
+      value: res.data.reason
+    }, {
+      label: "业务员",
+      value: res.data.saler_name
+    }, {
+      label: "业务员电话",
+      value: res.data.saler_phonenumber
+    }, {
+      label: "项目名称",
+      value: res.data.projectnote
+    }, {
+      label: "异常类型",
+      value: res.data.exception_type
+    }, {
+      label: "服务等级",
+      value: res.data.service_level,
+      style: `color:${this.data.sColors[res.data.service_level]}`
+    }, {
+      label: "评估意见",
+      value: res.data.evaluation_comment
+    }, {
+      label: "备注",
+      value: res.data.remarks
+    }];
+    /* 系统信息 */
+    let list2 = [{
+      label: "创建人",
+      value: res.data.createby
+    }, {
+      label: "创建时间",
+      value: res.data.createdate
+    }, {
+      label: "最近编辑人",
+      value: res.data.changeby
+    }, {
+      label: "最近编辑时间",
+      value: res.data.changedate
+    }, {
+      label: "最近提交人",
+      value: res.data.submitby
+    }, {
+      label: "最近提交时间",
+      value: res.data.submitdate
+    }];
+    let list3 = [{
+      label: "供应方",
+      value: res.data.supplier
+    }];
+    let list4 = [{
+      label: "最近编辑人",
+      value: res.data.changeby
+    }, {
+      label: "最近编辑时间",
+      value: res.data.changedate
+    }, {
+      label: "转单人",
+      value: res.data.transformer
+    }, {
+      label: "转单时间",
+      value: res.data.transdate
+    }, {
+      label: "退回原因",
+      value: res.data.backreason
+    }, {
+      label: "中止原因",
+      value: res.data.abortreason
+    }, {
+      label: "中止时间",
+      value: res.data.abortdate
+    }];
+    this.setData({
+      list1,
+      list2,
+      list3,
+      list4
+    });
+  },
+  //tabs 切换
+  tabsChange({
+    detail
+  }) {
+    this.setData({
+      tabsActive: detail
+    });
+    this.partialRenewal();
+  },
+  //局部数据更新 tabs
+  partialRenewal(init = false) {
+    try {
+      let model = this.data.tabsList[this.data.tabsActive].model;
+      if (model) {
+        let Component = this.selectComponent(model),
+          {
+            total,
+            pageNumber,
+            pageTotal
+          } = Component.data.content,
+          id = this.data.detail.sa_service_improvementid;
+        if (total == null || init) {
+          Component.getList(id, init);
+        } else if (pageNumber <= pageTotal) {
+          Component.getList(id, false);
+        }
+      }
+    } catch (error) {
 
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage() {
-
+    }
+  },
+  onUnload() {
+    getCurrentPages().forEach(page => {
+      if (page.__route__ == 'E-service/serviceImprovement/index') {
+        let content = JSON.parse(JSON.stringify(page.data.content));
+        content.pageSize = (content.pageNumber - 1) * content.pageSize;
+        content.pageNumber = 1;
+        _Http.basic({
+          id: page.data.id,
+          content
+        }).then(res => {
+          console.log("更新列表", res);
+          if (res.code == '1') {
+            page.setData({
+              list: res.data,
+              "content.total": res.total
+            })
+          }
+        })
+      } else {}
+    })
   }
 })

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

@@ -1 +1,62 @@
-/* E-service/serviceImprovement/detail.wxss */
+.head1 {
+	width: 100vw;
+	background: #fff;
+	box-sizing: border-box;
+	padding: 20rpx 30rpx;
+
+	.title {
+		line-height: 40rpx;
+		font-family: PingFang SC, PingFang SC;
+		font-size: 28rpx;
+		color: #000000;
+	}
+
+	.tabs {
+		display: flex;
+		margin-top: 10rpx;
+
+		.tab {
+			font-family: PingFang SC, PingFang SC;
+			font-size: 20rpx;
+			padding: 0 12rpx;
+			line-height: 36rpx;
+			border-radius: 36rpx;
+			margin-right: 10rpx;
+			background-color: #E1EAFE;
+			color: #3874F6
+		}
+	}
+
+	.row {
+		display: flex;
+		flex-wrap: wrap;
+		font-size: 24rpx;
+		line-height: 34rpx;
+		margin-top: 8rpx;
+
+		.label {
+			color: #999999;
+		}
+
+		.label::after {
+			content: ":";
+		}
+
+		.value {
+			color: #333333;
+		}
+	}
+
+}
+
+
+.textarea {
+	width: 90%;
+	height: 200rpx;
+	box-sizing: border-box;
+	padding: 20rpx 30rpx;
+	background-color: #FDF9FC;
+	margin: 20rpx auto;
+	border: 1rpx solid #EEECEF;
+	border-radius: 8rpx;
+}

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

@@ -1,2 +1,58 @@
-<!--E-service/serviceImprovement/detail.wxml-->
-<text>E-service/serviceImprovement/detail.wxml</text>
+<view class="head1">
+	<view class="title">
+		{{detail.billno}}
+	</view>
+	<view class="tabs">
+		<view class="tab">
+			{{language[detail.type]||detail.type}}
+		</view>
+		<view class="tab" style="background-color: {{tabColorS[detail.result].bgColor}};color:{{tabColorS[detail.result].color}};">
+			{{language[detail.result]||detail.result}}
+		</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['状态']||'状态'}}</view>
+		<view class="value" style="color:{{sColors[detail.status]}};">{{language[detail.status]||detail.status}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['客诉大类']||'客诉大类'}}</view>
+		<view class="value">{{language[detail.class2]||detail.class2||'--'}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['分析负责人']||'分析负责人'}}</view>
+		<view class="value">{{language[detail.name_analysis]||detail.name_analysis ||'--'}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['责任部门']||'责任部门'}}</view>
+		<view class="value">{{language[detail.depname_charge]||detail.depname_charge}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['改善计划周期']||'改善计划周期'}}</view>
+		<view class="value">{{detail.planned_cycle}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['改善实际周期']||'改善实际周期'}}</view>
+		<view class="value">{{detail.actual_cycle}}</view>
+	</view>
+	<view class="row">
+		<view class="label">{{language['改善方案进度']||'改善方案进度'}}</view>
+		<view class="value">{{detail.progress * 100 }}%</view>
+	</view>
+</view>
+<view style="height: 20rpx;" />
+<Yl_FunTabs list='{{tabsList}}' showIcon='{{false}}' active='{{tabsActive}}' bind:onChenge="tabsChange">
+	<Product slot='服务商品' id="Product" sa_orderid='{{detail.sa_orderid}}' disabled='{{detail.status!="新建"}}' />
+	<Preview slot='申请信息' list1='{{list1}}' list2='{{list2}}' />
+	<Preview slot='受理信息' title="确认信息" list1='{{list3}}' list2='{{list4}}' />
+	<view style="height: 180rpx;" />
+</Yl_FunTabs>
+
+<Yl_Tabbar wx:if="{{tabbarList.length}}" list='{{tabbarList}}' bind:callback="tabbarOnClick" />
+
+<van-dialog confirmButtonText="{{language['确定']||'确定'}}" cancelButtonText="{{language['取消']||'取消'}}" use-slot title="{{language['中止']||'中止'}}" show="{{ abortreasonShow }}" show-cancel-button confirm-button-color='#3874F6' bind:confirm='onSuspend' bind:cancel='onCancel'>
+	<textarea placeholder="{{language['中止原因']||'中止原因'}}" value="{{reason.abortreason}}" data-name="abortreason" bindinput="areaInput" class="textarea" />
+</van-dialog>
+
+<van-dialog confirmButtonText="{{language['确定']||'确定'}}" cancelButtonText="{{language['取消']||'取消'}}" use-slot title="{{language['退回']||'退回'}}" show="{{ backreasonShow }}" show-cancel-button confirm-button-color='#3874F6' bind:confirm='onBack' bind:cancel='onCancel'>
+	<textarea placeholder="{{language['退回原因']||'退回原因'}}" value="{{reason.backreason}}" data-name="backreason" bindinput="areaInput" class="textarea" />
+</van-dialog>

+ 1 - 1
E-service/workOrder/detail.js

@@ -407,7 +407,7 @@ Page({
       value: res.data.saler_name
     }, {
       label: "业务员电话",
-      value: res.data.salerphonenumber
+      value: res.data.saler_phonenumber
     }, {
       label: "异常类型",
       value: res.data.exception_type

+ 26 - 0
E-service/workOrder/index.js

@@ -65,6 +65,28 @@ Page({
         console.log("获取服务类型", res)
         return res.code == 1 ? res.data : []
       })
+    }, {
+      label: "客诉大类",
+      index: null,
+      showName: "value", //显示字段
+      valueKey: "class2", //返回Key
+      selectKey: "value", //传参 代表选着字段 不传参返回整个选择对象
+      value: "", //选中值
+      list: await _Http.getTypes('customerclass', _Http)
+    }, {
+      label: "是否外包",
+      index: null,
+      showName: "value", //显示字段
+      valueKey: "isout", //返回Key
+      selectKey: "value", //传参 代表选着字段 不传参返回整个选择对象
+      value: "", //选中值
+      list: [{
+        id: 1,
+        value: '是'
+      }, {
+        id: 0,
+        value: '否'
+      }]
     }]
     this.setData({
       filtratelist
@@ -116,8 +138,12 @@ Page({
     detail.status = this.data.content.where.status;
     detail.begindate = detail.startdate;
     detail.enddate = detail.enddate;
+    detail.begindate2 = detail.startdate;
+    detail.enddate2 = detail.enddate;
     delete detail.startdate;
     delete detail.enddate;
+    delete detail.periodstart;
+    delete detail.periodend;
     this.data.content.where = detail;
     this.getList(true);
   },

+ 1 - 1
E-service/workOrder/index.wxml

@@ -35,4 +35,4 @@
 	</block>
 	<Yl_Empty wx:else />
 </Yl_ListBox>
-<Yl_Filtrate id='Filtrate' list="{{filtratelist}}" bind:handle="handleFilter" dateRange dateRangeName='创建时间' />
+<Yl_Filtrate id='Filtrate' list="{{filtratelist}}" bind:handle="handleFilter" dateRange dateRangeName='创建时间' dateRange1 dateRangeName1='完成时间' />

+ 2 - 1
app.json

@@ -97,7 +97,8 @@
         "serviceBillList/product/select",
         "serviceBillList/transferWorkOrder/transfer",
         "workOrder/confirm",
-        "workOrder/takeOrder"
+        "workOrder/takeOrder",
+        "serviceBillList/transferWorkOrder/progress"
       ]
     },
     {

+ 2 - 2
components/Yl_FunTabs/index.wxml

@@ -1,4 +1,4 @@
-<scroll-view scroll-x enable-flex class="scroll" style="height: {{showIcon?'120':'80'}}rpx;" scroll-left='{{scrollLeft}}' scroll-with-animation enable-passive>
+<scroll-view scroll-x enable-flex class="scroll" style="height: {{showIcon?'120':'90'}}rpx;" scroll-left='{{scrollLeft}}' scroll-with-animation enable-passive>
     <view class="item {{active==index?'active':''}}" id="{{active==index?'active'+index:''}}" wx:for="{{list}}" wx:key="index" data-index="{{index}}" bindtap="tabsChenge">
         <block wx:if="{{showIcon}}">
             <view class="icon" wx:if="{{item.icon}}">
@@ -6,7 +6,7 @@
             </view>
             <view wx:else class="num line-1">{{item.num}}</view>
         </block>
-        <view class="label line-1">{{language[item.label]||item.label}}</view>
+        <view class="label line-1 {{item.icon?'':'overstriking'}}">{{language[item.label]||item.label}}</view>
     </view>
 </scroll-view>
 <view class="slot-box" bindtouchstart="myTouchStart" bindtouchmove="myTouchMove">

+ 4 - 0
components/Yl_FunTabs/index.wxss

@@ -67,4 +67,8 @@
     overflow: hidden;
     white-space: nowrap;
     text-overflow: ellipsis;
+}
+
+.overstriking{
+    font-size: 28rpx !important;
 }

+ 5 - 0
components/Yl_Head2/index.scss

@@ -1,8 +1,11 @@
 .tabs {
+	position: relative;
 	display: flex;
 	width: 100vw;
 	overflow: hidden;
 	background-color: #fff;
+	box-shadow: 0rpx 4rpx 16rpx 2rpx rgba(150, 157, 165, 0.16);
+	z-index: 9;
 
 	.tab-active-class {
 		font-size: 28rpx;
@@ -13,6 +16,8 @@
 	.right {
 		display: flex;
 		align-items: center;
+		flex-shrink: 0;
+		width: 200rpx;
 
 		.option {
 			width: 100rpx;

+ 3 - 5
components/Yl_Head2/index.wxml

@@ -1,5 +1,5 @@
 <view class="tabs">
-	<view style="flex: 1;">
+	<view style="flex: 1;width: 0;">
 		<van-tabs swipe-threshold='4' active="{{ active }}" tab-active-class='tab-active-class' color='#3874F6' bind:change="onChange">
 			<van-tab wx:for="{{tabs}}" wx:key="title" title="{{language[item.title]||item.title}}" />
 		</van-tabs>
@@ -16,15 +16,13 @@
 </view>
 
 <van-transition show="{{ startUsing }}" custom-class="block">
-	<van-search custom-class='Yl_search' value="{{ condition }}" bindfocus='onFocus' bind:blur='onBlur' shape="round"
-		placeholder="{{language['关键字']||'请输入搜索关键词'}}" bind:search='startSearch' bind:clear='endSearch' />
+	<van-search custom-class='Yl_search' value="{{ condition }}" bindfocus='onFocus' bind:blur='onBlur' shape="round" placeholder="{{language['关键字']||'请输入搜索关键词'}}" bind:search='startSearch' bind:clear='endSearch' />
 	<view class="Yl_history" wx:if="{{record}}">
 		<view class="label" wx:if="{{showHistory && history.length}}">
 			<text>{{language['最近搜索记录']||'最近搜索记录'}}</text>
 		</view>
 		<view class="content" wx:if="{{showHistory}}">
-			<van-tag wx:for="{{history}}" style="margin-left: 6rpx;" wx:key="item" size="medium" round data-name="{{item}}"
-				catch:close="delteTag" catchtap="clickTag">
+			<van-tag wx:for="{{history}}" style="margin-left: 6rpx;" wx:key="item" size="medium" round data-name="{{item}}" catch:close="delteTag" catchtap="clickTag">
 				{{language[item]||item}}
 			</van-tag>
 		</view>

+ 16 - 2
project.private.config.json

@@ -25,12 +25,26 @@
     "miniprogram": {
       "list": [
         {
-          "name": "E-service/workOrder/index",
-          "pathName": "E-service/workOrder/index",
+          "name": "进度",
+          "pathName": "E-service/serviceBillList/transferWorkOrder/progress",
           "query": "",
           "scene": null,
           "launchMode": "default"
         },
+        {
+          "name": "改善单详情",
+          "pathName": "E-service/serviceImprovement/detail",
+          "query": "id=1",
+          "launchMode": "default",
+          "scene": null
+        },
+        {
+          "name": "E-service/workOrder/index",
+          "pathName": "E-service/workOrder/index",
+          "query": "",
+          "launchMode": "default",
+          "scene": null
+        },
         {
           "name": "E-service/workOrder/detail",
           "pathName": "E-service/workOrder/detail",

+ 136 - 8
static/font-icon.wxss

@@ -1,14 +1,142 @@
-@import "/utils/work/work-icon.wxss";
-@import "./iconfont-weapp-icon.wxss";
-@import "./stylesheet.wxss";
+ @import "/utils/work/work-icon.wxss";
+/*@import "./iconfont-weapp-icon.wxss";
+@import "./stylesheet.wxss"; */
+@font-face {
+  font-family: "iconfont"; /* Project id 3376421 */
+  src: url('//at.alicdn.com/t/c/font_3376421_m4qdpo68o1i.woff2?t=1770446665917') format('woff2'),
+       url('//at.alicdn.com/t/c/font_3376421_m4qdpo68o1i.woff?t=1770446665917') format('woff'),
+       url('//at.alicdn.com/t/c/font_3376421_m4qdpo68o1i.ttf?t=1770446665917') format('truetype'),
+       url('//at.alicdn.com/t/c/font_3376421_m4qdpo68o1i.svg?t=1770446665917#iconfont') format('svg');
+}
 
 .iconfont {
-    font-family: "iconfont" !important;
-    font-size: 16px;
-    font-style: normal;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-shaixuan_xianxing:before {
+  content: "\e728";
+}
+
+.icon-gaishandanzidongchuangjian:before {
+  content: "\e730";
+}
+
+.icon-gongdanzidongchuangjian1:before {
+  content: "\e72f";
+}
+
+.icon-gaishanfuwuzidongchuangjian:before {
+  content: "\e727";
+}
+
+.icon-gongdanzidongchuangjian:before {
+  content: "\e726";
+}
+
+.icon-ziliao:before {
+  content: "\e725";
+}
+
+.icon-weizhileixing:before {
+  content: "\e724";
+}
+
+.icon-xiangmujieduan:before {
+  content: "\e723";
+}
+
+.icon-chaxunchanpinguankongyingxiaoleibie:before {
+  content: "\e722";
+}
+
+.icon-gantanhao:before {
+  content: "\e720";
+}
+
+.icon-wenhao:before {
+  content: "\e721";
+}
+
+.icon-xiangxixinxi1:before {
+  content: "\e71f";
+}
+
+.icon-xiangmumingcheng:before {
+  content: "\e71e";
+}
+
+.icon-feiyongleixing:before {
+  content: "\e71d";
+}
+
+.icon-lingyu:before {
+  content: "\e711";
 }
+
+.icon-chengjiaozhuangtai:before {
+  content: "\e712";
+}
+
+.icon-rili1:before {
+  content: "\e713";
+}
+
+.icon-kehuleixing:before {
+  content: "\e714";
+}
+
+.icon-xiangmuzhuangtai:before {
+  content: "\e715";
+}
+
+.icon-zhuangtai:before {
+  content: "\e716";
+}
+
+.icon-yewuyuan1:before {
+  content: "\e717";
+}
+
+.icon-kehudengji:before {
+  content: "\e718";
+}
+
+.icon-xiangmuleixing:before {
+  content: "\e719";
+}
+
+.icon-xiangxixinxi:before {
+  content: "\e71a";
+}
+
+.icon-yingxiaoleibie:before {
+  content: "\e71b";
+}
+
+.icon-bumen:before {
+  content: "\e71c";
+}
+
+.icon-zhushi:before {
+  content: "\e710";
+}
+
+.icon-dianjizhankai:before {
+  content: "\e70f";
+}
+
+.icon-rili:before {
+  content: "\e70e";
+}
+
+.icon-youshilieshi:before {
+  content: "\e70d";
+}
+
 .icon-yutijiao:before {
   content: "\e70c";
 }