|
|
@@ -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 {}
|
|
|
+ })
|
|
|
}
|
|
|
})
|