| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609 |
- const _Http = getApp().globalData.http,
- getTime = require("../../utils/getTime");
- Page({
- data: {
- loading: false,
- showAll: false,
- disabled: true,
- form: [{
- label: "服务类型",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "",
- interrupt: true,
- radioList: [],
- valueName: "servicetype", //绑定的字段名称
- required: true, //必填
- checking: `base`,
- }, {
- label: "单据日期",
- error: false,
- errMsg: "",
- type: "date",
- value: getTime.formatTime(new Date(), '-').split(' ')[0],
- placeholder: "请选择日期",
- valueName: "billdate",
- required: true,
- }, {
- label: "省市县",
- error: false,
- errMsg: "",
- type: "region",
- value: [],
- placeholder: "省,市,县",
- valueName: "region",
- required: true
- }, {
- label: "详细地址",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "例: 科创园11栋1103室",
- valueName: "address",
- required: true,
- checking: "base"
- }, {
- label: "现场联系人",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "现场联系人",
- valueName: "scenecontact",
- required: true,
- checking: "base"
- }, {
- label: "身份备注",
- error: false,
- errMsg: "",
- type: "text",
- value: "",
- placeholder: "现场联系人身份备注",
- valueName: "scenecontactrole",
- required: true,
- checking: "base"
- }, {
- label: "现场联系人电话",
- error: false,
- errMsg: "",
- type: "number",
- value: "",
- placeholder: "联系人手机号码",
- valueName: "scenecontactphonenumber",
- required: true,
- checking: "phone"
- }, {
- label: "应用系统",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "",
- interrupt: false,
- radioList: [],
- valueName: "class1", //绑定的字段名称
- required: true, //必填
- checking: `base`,
- }, {
- label: "客诉大类",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "",
- interrupt: false,
- radioList: [],
- valueName: "class2", //绑定的字段名称
- required: true, //必填
- checking: `base`,
- }, {
- label: "问题描述",
- error: false,
- errMsg: "",
- type: "reason",
- value: "",
- placeholder: "请填写",
- valueName: "reason",
- required: true,
- checking: "base"
- }, {
- label: "服务开始时间",
- error: false,
- errMsg: "",
- type: "date",
- value: '',
- placeholder: "请选择服务开始时间",
- valueName: "begdate",
- required: true,
- }, {
- label: "服务结束时间",
- error: false,
- errMsg: "",
- type: "date",
- value: '',
- placeholder: "请选择服务结束时间",
- valueName: "enddate",
- required: true,
- }, {
- label: "异常类型",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "",
- interrupt: false,
- radioList: [],
- valueName: "exception_type", //绑定的字段名称
- required: true, //必填
- checking: `base`,
- }, {
- label: "服务等级",
- error: false,
- errMsg: "",
- hint: "",
- type: "radio",
- value: "",
- interrupt: false,
- radioList: [],
- valueName: "service_level", //绑定的字段名称
- required: true, //必填
- checking: `base`,
- }, {
- label: "评估意见",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "请填写",
- valueName: "evaluation_comment",
- required: false,
- checking: "base"
- }, {
- label: "备注",
- error: false,
- errMsg: "",
- type: "textarea",
- value: "",
- placeholder: "请填写",
- valueName: "remarks",
- required: false,
- checking: "base"
- }],
- "content": {
- "sa_serviceorderid": "0"
- },
- sa_orderid: ""
- },
- onLoad(options) {
- getApp().globalData.Language.getLanguagePackage(this, options.edit ? '编辑申请单' : '新建申请单');
- this.setData({
- type: options.type || "default"
- })
- if (options.type != 'default') {
- this.data.form.unshift({
- label: "企业名称",
- error: false,
- errMsg: "",
- type: "route",
- url: "/select/agent/index",
- params: {
- "id": "20220920083901",
- "content": {
- "nocache": true,
- "pageSize": 20,
- "pageNumber": 1,
- "where": {
- "condition": "",
- "type": this.data.type == 'admin' ? '' : 23
- }
- },
- },
- query: '&radio=true&idname=sys_enterpriseid',
- value: "",
- placeholder: "选择企业",
- valueName: "sys_enterpriseid",
- checking: "base",
- required: true,
- interrupt: true,
- disabled: options.edit ? true : false
- })
- this.setData({
- form: this.data.form
- })
- }
- this.getOptions();
- if (options.edit) {
- let form = this.data.form,
- data = getCurrentPages().find(v => v.__route__ == 'E-service/serviceBillList/detail').data.detail;
- data.region = data.province ? [data.province, data.city, data.county] : [];
- form = form.map(v => {
- switch (v.valueName) {
- case 'sys_enterpriseid':
- v.value = data[v.valueName] ? [data.enterprisename, [data.sys_enterpriseid]] : ''
- break;
- default:
- v.value = data[v.valueName] || ''
- break;
- }
- return v
- })
- this.setData({
- form,
- content: data,
- sa_orderid: data.sa_orderid ? [data.sonum, [data.sa_orderid]] : ''
- })
- this.selectComponent("#Form").confirm()
- }
- this.setOrdeForm();
- },
- submit() {
- this.setData({
- loading: true
- })
- let content = {
- ...this.data.content,
- ...this.selectComponent("#Form").submit()
- };
- content.province = content.region[0] || "";
- content.city = content.region[1] || "";
- content.county = content.region[2] || "";
- delete content.region
- try {
- if (content.sa_orderid.length) {
- content.sa_orderid = content.sa_orderid[1][0]
- } else {
- content.sa_orderid = 0
- }
- } catch (error) {
- content.sa_orderid = 0
- }
- try {
- if (content.sys_enterpriseid.length) {
- content.sys_enterpriseid = content.sys_enterpriseid[1][0]
- } else {}
- } catch (error) {}
- _Http.basic({
- "id": "20230206091403",
- content
- }).then(res => {
- this.setData({
- loading: false
- })
- console.log("创建申请单", res)
- if (res.code == 1) {
- if (content.sa_serviceorderid != 0) {
- getCurrentPages().find(v => v.__route__ == 'E-service/serviceBillList/detail').getDetail();
- wx.navigateBack({
- success() {
- wx.showToast({
- title: getApp().globalData.Language.getMapText('保存成功'),
- icon: "none",
- mask: true
- })
- }
- });
- } else {
- wx.redirectTo({
- url: `/E-service/serviceBillList/detail?id=${res.data.sa_serviceorderid}&type=${this.data.type}`,
- success: () => {
- wx.showToast({
- title: getApp().globalData.Language.getMapText(content.sa_serviceorderid == 0 ? '创建成功' : '保存成功'),
- icon: "none",
- })
- },
- })
- }
- } else {
- wx.showToast({
- title: res.code != '1' ? res.msg : getApp().globalData.Language.getMapText('保存成功'),
- icon: "none",
- mask: true
- })
- }
- })
- },
- interrupt({
- detail
- }) {
- if (detail.data.valueName == "servicetype") {
- detail.form[detail.form.findIndex(v => v.valueName == 'servicetype')] = detail.data;
- this.setData({
- form: detail.form
- })
- this.setOrdeForm();
- } else if (detail.temporary.item.valueName == "sys_enterpriseid") {
- detail.form[detail.form.findIndex(v => v.valueName == 'sys_enterpriseid')].value = detail.data.value;
- this.setData({
- form: detail.form,
- sa_orderid: ""
- })
- this.setOrdeForm();
- wx.navigateBack()
- } else if (detail.temporary.item.valueName == "sa_orderid") {
- detail.form[detail.form.findIndex(v => v.valueName == 'sa_orderid')].value = detail.data.value;
- this.setData({
- form: detail.form,
- sa_orderid: detail.data.value
- })
- wx.navigateBack()
- };
- this.selectComponent("#Form").confirm()
- },
- setOrdeForm(e) {
- let value = this.data.form.find(v => v.valueName == 'servicetype').value,
- type = this.data.type,
- form = this.data.form;
- if (['售中', '售后'].includes(value)) {
- if (type == 'default') {
- // 选择自己企业的订单
- if (!form.some(v => v.valueName == 'sa_orderid')) form.splice(form.findIndex(v => v.valueName == 'billdate'), 0, {
- label: "订单号",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/toolBill/modules/selectOrder/index",
- params: {
- "id": "20230206091503",
- "content": {
- "pageSize": 20,
- "pageNumber": 1
- }
- },
- interrupt: true,
- query: '&radio=true',
- value: this.data.sa_orderid,
- placeholder: "选择订单号",
- valueName: "sa_orderid",
- checking: "base",
- required: true
- })
- } else {
- let sys_enterpriseid = form[0].value
- // 选择其他其他的订单
- form.splice(form.findIndex(v => v.valueName == 'servicetype') + 1, form.some(v => v.valueName == 'sa_orderid') ? 1 : 0, {
- label: "订单号",
- error: false,
- errMsg: "",
- type: "route",
- url: "/packageA/toolBill/modules/selectOrder/index",
- interrupt: true,
- params: {
- "id": "20230206091503",
- "content": {
- "pageSize": 20,
- "pageNumber": 1,
- "sys_enterpriseid": sys_enterpriseid.length ? sys_enterpriseid[1][0] : '',
- "where": {
- "condition": ""
- }
- }
- },
- query: '&radio=true',
- value: this.data.sa_orderid,
- placeholder: "选择订单号",
- valueName: "sa_orderid",
- disabled: sys_enterpriseid.length == 0,
- checking: "base",
- required: true
- })
- }
- this.setData({
- form
- })
- } else {
- this.setData({
- form: this.data.form.filter(v => v.valueName != 'sa_orderid')
- })
- }
- },
- getOptions() {
- let form = this.data.form;
- // 服务类型
- let servicetypes = _Http.servicetypes || [];
- if (!servicetypes.length) {
- _Http.basic({
- "id": 20230206112003,
- "content": {},
- }).then(res => {
- console.log("服务类型", res)
- if (res.code == 1) {
- servicetypes = res.data.map(v => {
- return {
- id: v.value,
- name: v.value,
- }
- });
- let data = form.find(v => v.valueName == 'servicetype');
- data.radioList = servicetypes;
- data.value = data.value || servicetypes[0].id;
- _Http.servicetypes = servicetypes;
- this.setData({
- form
- })
- this.setOrdeForm();
- }
- })
- } else {
- let data = form.find(v => v.valueName == 'servicetype');
- data.radioList = servicetypes;
- data.value = data.value || servicetypes[0].id;
- this.setData({
- form
- })
- }
- // 应用系统
- let class1s = _Http.class1s || [];
- if (!class1s.length) {
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "pageNumber": 1,
- "pageSize": 1000,
- "typename": "systemapp",
- },
- }).then(res => {
- console.log("应用系统", res)
- if (res.code == 1) {
- class1s = res.data.map(v => {
- return {
- id: v.value,
- name: v.value,
- }
- });
- let data = form.find(v => v.valueName == 'class1');
- data.radioList = class1s;
- data.value = data.value || class1s[0].id;
- _Http.class1s = class1s;
- this.setData({
- form
- })
- }
- })
- } else {
- let data = form.find(v => v.valueName == 'class1');
- data.radioList = class1s;
- data.value = data.value || class1s[0].id;
- this.setData({
- form
- })
- }
- // 客诉大类
- let class2s = _Http.class2s || [];
- if (!class2s.length) {
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "pageNumber": 1,
- "pageSize": 1000,
- "typename": "customerclass",
- },
- }).then(res => {
- console.log("客诉大类", res)
- if (res.code == 1) {
- class2s = res.data.map(v => {
- return {
- id: v.value,
- name: v.value,
- }
- });
- let data = form.find(v => v.valueName == 'class2');
- data.radioList = class2s;
- data.value = data.value || class2s[0].id;
- _Http.class2s = class2s;
- this.setData({
- form
- })
- }
- })
- } else {
- let data = form.find(v => v.valueName == 'class2');
- data.radioList = class2s;
- data.value = data.value || class2s[0].id;
- this.setData({
- form
- })
- }
- // 异常类型
- let exception_types = _Http.exception_types || [];
- if (!exception_types.length) {
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "pageNumber": 1,
- "pageSize": 1000,
- "typename": "exceptiontype",
- },
- }).then(res => {
- console.log("异常类型", res)
- if (res.code == 1) {
- exception_types = res.data.map(v => {
- return {
- id: v.value,
- name: v.value,
- }
- });
- let data = form.find(v => v.valueName == 'exception_type');
- data.radioList = exception_types;
- data.value = data.value || exception_types[0].id;
- _Http.exception_types = exception_types;
- this.setData({
- form
- })
- }
- })
- } else {
- let data = form.find(v => v.valueName == 'exception_type');
- data.radioList = exception_types;
- data.value = data.value || exception_types[0].id;
- this.setData({
- form
- })
- }
- // 服务等级
- let service_levels = _Http.service_levels || [];
- if (!service_levels.length) {
- _Http.basic({
- "classname": "sysmanage.develop.optiontype.optiontype",
- "method": "optiontypeselect",
- "content": {
- "pageNumber": 1,
- "pageSize": 1000,
- "typename": "servicelevel",
- },
- }).then(res => {
- console.log("服务等级", res)
- if (res.code == 1) {
- service_levels = res.data.map(v => {
- return {
- id: v.value,
- name: v.value,
- }
- });
- let data = form.find(v => v.valueName == 'service_level');
- data.radioList = service_levels;
- data.value = data.value || service_levels[0].id;
- _Http.service_levels = service_levels;
- this.setData({
- form
- })
- }
- })
- } else {
- let data = form.find(v => v.valueName == 'service_level');
- data.radioList = service_levels;
- data.value = data.value || service_levels[0].id;
- this.setData({
- form
- })
- }
- },
- // 是否显示全部
- onChange({
- detail
- }) {
- this.setData({
- showAll: detail
- })
- },
- /* 表单必填项是否完成 */
- onConfirm({
- detail
- }) {
- this.setData({
- disabled: detail
- })
- }
- })
|