|
|
@@ -1,177 +1,362 @@
|
|
|
const _Http = getApp().globalData.http;
|
|
|
Page({
|
|
|
- data: {
|
|
|
- loading: false,
|
|
|
- list: [{
|
|
|
- label: "跟进内容",
|
|
|
- key: "content",
|
|
|
- value: "",
|
|
|
- }],
|
|
|
- content: {
|
|
|
+ data: {
|
|
|
+ loading: false,
|
|
|
+ showAll: false,
|
|
|
+ special: false,
|
|
|
+ disabled: true,
|
|
|
+ list: [{
|
|
|
+ label: "跟进内容",
|
|
|
+ key: "content",
|
|
|
+ value: "",
|
|
|
+ }],
|
|
|
+ content: {
|
|
|
|
|
|
- }
|
|
|
},
|
|
|
- onLoad(options) {
|
|
|
- getApp().globalData.Language.getLanguagePackage(this, '跟进');
|
|
|
- if (options.ownertable) {
|
|
|
- this.setData({
|
|
|
- ...options
|
|
|
- })
|
|
|
- };
|
|
|
- //编辑获取原信息,新建初始化模板
|
|
|
- if (options.sys_datafollowupid) {
|
|
|
- _Http.basic({
|
|
|
- "id": 20221026085601,
|
|
|
- "content": {
|
|
|
- "sys_datafollowupid": options.sys_datafollowupid
|
|
|
- },
|
|
|
- }).then(res => {
|
|
|
- console.log("跟进详情", res)
|
|
|
- if (res.code != '1') {
|
|
|
- wx.showToast({
|
|
|
- title: res.msg,
|
|
|
- icon: "none"
|
|
|
- })
|
|
|
- setTimeout(() => {
|
|
|
- wx.navigateBack()
|
|
|
- }, 300)
|
|
|
- };
|
|
|
- this.setData({
|
|
|
- [`list[0].value`]: res.data.content,
|
|
|
- resource: res.data.resource
|
|
|
- })
|
|
|
- if (res.data.attinfos.length) this.selectComponent("#Yl_files").handleFiles(res.data.attinfos);
|
|
|
- this.data.content = Object.assign(res.data, options);
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ getApp().globalData.Language.getLanguagePackage(this, '跟进');
|
|
|
+ console.log(options, 'options********')
|
|
|
+ if (options.ownertable) {
|
|
|
+ this.setData({
|
|
|
+ ...options
|
|
|
+ })
|
|
|
+ };
|
|
|
+ console.log(options.resource, 'resource')
|
|
|
+ // this.formSet(options.resource)
|
|
|
+ if (options.resource == '医院管理' || options.resource == '科室管理' || options.resource == '医生管理' || options.resource == '经销商管理' || options.resource == '行事历') {
|
|
|
+ this.setData({
|
|
|
+ special: true
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
- })
|
|
|
- } else {
|
|
|
- options.sys_datafollowupid = 0;
|
|
|
- this.data.content = options;
|
|
|
- }
|
|
|
- },
|
|
|
- changeState({
|
|
|
- detail
|
|
|
- }) {
|
|
|
- this.setData({
|
|
|
- loading: detail
|
|
|
- })
|
|
|
- },
|
|
|
- onInput(e) {
|
|
|
- const {
|
|
|
- index
|
|
|
- } = e.target.dataset;
|
|
|
- this.data.list[index].value = e.detail.value;
|
|
|
- this.setData({
|
|
|
- list: this.data.list
|
|
|
- })
|
|
|
- },
|
|
|
- onVoiceInput(e) {
|
|
|
- let {
|
|
|
- index
|
|
|
- } = e.target.dataset;
|
|
|
- this.setData({
|
|
|
- [`list[${index}].value`]: e.detail
|
|
|
- })
|
|
|
- },
|
|
|
- /* 绑定媒体 */
|
|
|
- insertImgEdit({
|
|
|
- detail
|
|
|
- }) {
|
|
|
- this.handleFileLink(detail)
|
|
|
- },
|
|
|
- handleFileLink(attachmentids, ownertable = "temporary", ownerid = 1, data) {
|
|
|
- _Http.basic({
|
|
|
- "classname": "system.attachment.Attachment",
|
|
|
- "method": "createFileLink",
|
|
|
- "content": {
|
|
|
- ownertable,
|
|
|
- ownerid,
|
|
|
- usetype: 'default',
|
|
|
- attachmentids
|
|
|
- }
|
|
|
- }).then(res => {
|
|
|
- console.log('跟进记录绑定附件', res)
|
|
|
- if (res.code != '1') return wx.showToast({
|
|
|
- title: res.msg,
|
|
|
- icon: "none"
|
|
|
- })
|
|
|
- if (ownertable == 'temporary') {
|
|
|
- this.selectComponent("#Yl_files").handleFiles(res.data)
|
|
|
- } else {
|
|
|
- if (res.data.length) data.attinfos = res.data;
|
|
|
- _Http.basic({
|
|
|
- "classname": "system.attachment.Attachment",
|
|
|
- "method": "createFileLink",
|
|
|
- "content": {
|
|
|
- ownertable: this.data.ownertable,
|
|
|
- ownerid: this.data.ownerid,
|
|
|
- usetype: 'default',
|
|
|
- attachmentids
|
|
|
- }
|
|
|
- })
|
|
|
- this.changeItem(data)
|
|
|
- setTimeout(() => {
|
|
|
- wx.navigateBack()
|
|
|
- }, 500)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- changeItem(data) {
|
|
|
+ //编辑获取原信息,新建初始化模板
|
|
|
+ if (options.sys_datafollowupid) {
|
|
|
+ _Http.basic({
|
|
|
+ "id": 20221026085601,
|
|
|
+ "content": {
|
|
|
+ "sys_datafollowupid": options.sys_datafollowupid
|
|
|
+ },
|
|
|
+ }).then(res => {
|
|
|
+ console.log("跟进详情", res)
|
|
|
+ if (res.code != '1') {
|
|
|
+ wx.showToast({
|
|
|
+ title: res.msg,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.navigateBack()
|
|
|
+ }, 300)
|
|
|
+ };
|
|
|
+ // this.formSet(res.data.resource, res.data.type, '编辑', res.data)
|
|
|
+ // if (res.data.resource == '医院管理' || res.data.resource == '科室管理' || res.data.resource == '医生管理' || res.data.resource == '经销商管理' || res.data.resource == '行事历') {
|
|
|
+ // this.setData({
|
|
|
+ // special: true
|
|
|
+ // })
|
|
|
+ // } else {
|
|
|
+
|
|
|
+ // }
|
|
|
this.setData({
|
|
|
- loading: false
|
|
|
+ [`list[0].value`]: res.data.content,
|
|
|
+ resource: res.data.resource
|
|
|
})
|
|
|
- let page = getCurrentPages()[getCurrentPages().length - 2],
|
|
|
- isDetail = page.__route__ == 'prsx/trace/detail/index';
|
|
|
- if (isDetail) {
|
|
|
- page.getDetail();
|
|
|
- page = getCurrentPages()[getCurrentPages().length - 3];
|
|
|
- }
|
|
|
- let model = page.selectComponent("#Trace");
|
|
|
- if (this.data.content.sys_datafollowupid == 0) {
|
|
|
- if (page) {
|
|
|
- if (model) model.getList(0, true)
|
|
|
- }
|
|
|
- } else {
|
|
|
- let list = model.data.list,
|
|
|
- index = list.findIndex(v => v.sys_datafollowupid == data.sys_datafollowupid);
|
|
|
- if (index != -1) list[index] = data;
|
|
|
- model.setData({
|
|
|
- list
|
|
|
- })
|
|
|
+ if (res.data.attinfos.length) this.selectComponent("#Yl_files").handleFiles(res.data.attinfos);
|
|
|
+ this.data.content = Object.assign(res.data, options);
|
|
|
|
|
|
- }
|
|
|
- },
|
|
|
- submit() {
|
|
|
- this.setData({
|
|
|
- loading: true
|
|
|
- })
|
|
|
- let content = Object.assign(this.data.content, this.selectComponent("#Form").submit())
|
|
|
- content.content = this.data.list[0].value;
|
|
|
- content.resource = this.data.resource || ''
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ options.sys_datafollowupid = 0;
|
|
|
+ this.data.content = options;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ formSet(val, type_select, btn_type, datas) {
|
|
|
+ let form = [{
|
|
|
+ label: "跟进类型",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "option",
|
|
|
+ optionNmae: "hosfollowtype",
|
|
|
+ optionType: "radio", //复选 radio 单选
|
|
|
+ value: "",
|
|
|
+ placeholder: "跟进类型",
|
|
|
+ valueName: "type",
|
|
|
+ checking: "base",
|
|
|
+ required: true
|
|
|
+ }, {
|
|
|
+ label: "关联任务",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "route",
|
|
|
+ url: "/prsx/select/task/index",
|
|
|
+ value: "",
|
|
|
+ placeholder: "任务",
|
|
|
+ valueName: "sys_taskid",
|
|
|
+ checking: "base",
|
|
|
+ required: false,
|
|
|
+ params: {
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 20,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "id": 2025122309161202,
|
|
|
+ },
|
|
|
+ query: "&radio=true",
|
|
|
+ }, {
|
|
|
+ label: "推荐产品",
|
|
|
+ key: "products",
|
|
|
+ value: "",
|
|
|
+ }]
|
|
|
+ if (val == '医院管理' || val == '科室管理' || val == '医生管理') form.unshift({
|
|
|
+ label: "跟进对象",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ hint: "",
|
|
|
+ type: "radio",
|
|
|
+ value: '',
|
|
|
+ radioList: [{
|
|
|
+ id: '临床',
|
|
|
+ name: '临床'
|
|
|
+ }, {
|
|
|
+ id: '经销商',
|
|
|
+ name: '经销商'
|
|
|
+ }],
|
|
|
+ valueName: "followobj", //绑定的字段名称
|
|
|
+ required: true, //必填
|
|
|
+ direction: "horizontal",
|
|
|
+ interrupt: true,
|
|
|
+ disabled: false
|
|
|
+ })
|
|
|
+
|
|
|
+ if(val == '经销商管理') form.unshift({
|
|
|
+ label: "跟进对象",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ hint: "",
|
|
|
+ type: "radio",
|
|
|
+ value: '',
|
|
|
+ radioList: [{
|
|
|
+ id: '临床',
|
|
|
+ name: '临床'
|
|
|
+ }, {
|
|
|
+ id: '经销商',
|
|
|
+ name: '经销商'
|
|
|
+ }],
|
|
|
+ valueName: "followobj", //绑定的字段名称
|
|
|
+ required: true, //必填
|
|
|
+ direction: "horizontal",
|
|
|
+ interrupt: true,
|
|
|
+ disabled: false
|
|
|
+ },{
|
|
|
+ label: "经销商",
|
|
|
+ error: false,
|
|
|
+ errMsg: "",
|
|
|
+ type: "route",
|
|
|
+ url: "/prsx/select/dealer/index",
|
|
|
+ value: "",
|
|
|
+ placeholder: "经销商",
|
|
|
+ valueName: "sys_taskid",
|
|
|
+ checking: "base",
|
|
|
+ required: false,
|
|
|
+ params: {
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 20,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "id": 2025122309161202,
|
|
|
+ },
|
|
|
+ query: "&radio=true",
|
|
|
+ })
|
|
|
+
|
|
|
+ let list = [{
|
|
|
+ label: "目的",
|
|
|
+ key: "target",
|
|
|
+ value: "",
|
|
|
+ }, {
|
|
|
+ label: "过程",
|
|
|
+ key: "content",
|
|
|
+ value: "",
|
|
|
+ }, {
|
|
|
+ label: "结果",
|
|
|
+ key: "results",
|
|
|
+ value: "",
|
|
|
+ }, {
|
|
|
+ label: "下次跟进计划",
|
|
|
+ key: "nextplan",
|
|
|
+ value: "",
|
|
|
+ }]
|
|
|
+ if (btn_type == '编辑') {
|
|
|
+ let data = datas;
|
|
|
+ form = form.map(v => {
|
|
|
+ v.value = data[v.valueName] || "";
|
|
|
+ return v
|
|
|
+ })
|
|
|
+ list = list.map(k => {
|
|
|
+ k.value = data[k.valueName] || "";
|
|
|
+ return k
|
|
|
+ })
|
|
|
+ form.find(v => v.label == '跟进对象').value = type_select
|
|
|
+ } else {
|
|
|
+ if (val == '医院管理' || val == '科室管理' || val == '医生管理') {
|
|
|
+ form.find(v => v.label == '跟进对象').value = '临床'
|
|
|
+ form.find(v => v.label == '跟进对象').disabled = true
|
|
|
+ }else if(val == '经销商'){
|
|
|
+ form.find(v => v.label == '跟进对象').value = '经销商'
|
|
|
+ form.find(v => v.label == '跟进对象').disabled = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ this.setData({
|
|
|
+ form,
|
|
|
+ list
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 表单必填项是否完成 */
|
|
|
+ onConfirm({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ this.setData({
|
|
|
+ disabled: detail
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 是否显示全部
|
|
|
+ onChange({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ this.setData({
|
|
|
+ showAll: detail
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ changeState({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ this.setData({
|
|
|
+ loading: detail
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onInput(e) {
|
|
|
+ const {
|
|
|
+ index
|
|
|
+ } = e.target.dataset;
|
|
|
+ this.data.list[index].value = e.detail.value;
|
|
|
+ this.setData({
|
|
|
+ list: this.data.list
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onVoiceInput(e) {
|
|
|
+ let {
|
|
|
+ index
|
|
|
+ } = e.target.dataset;
|
|
|
+ this.setData({
|
|
|
+ [`list[${index}].value`]: e.detail
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /* 绑定媒体 */
|
|
|
+ insertImgEdit({
|
|
|
+ detail
|
|
|
+ }) {
|
|
|
+ this.handleFileLink(detail)
|
|
|
+ },
|
|
|
+ handleFileLink(attachmentids, ownertable = "temporary", ownerid = 1, data) {
|
|
|
+ _Http.basic({
|
|
|
+ "classname": "system.attachment.Attachment",
|
|
|
+ "method": "createFileLink",
|
|
|
+ "content": {
|
|
|
+ ownertable,
|
|
|
+ ownerid,
|
|
|
+ usetype: 'default',
|
|
|
+ attachmentids
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ console.log('跟进记录绑定附件', res)
|
|
|
+ if (res.code != '1') return wx.showToast({
|
|
|
+ title: res.msg,
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ if (ownertable == 'temporary') {
|
|
|
+ this.selectComponent("#Yl_files").handleFiles(res.data)
|
|
|
+ } else {
|
|
|
+ if (res.data.length) data.attinfos = res.data;
|
|
|
_Http.basic({
|
|
|
- "id": 20220930121601,
|
|
|
- content
|
|
|
- }).then(res => {
|
|
|
- console.log("保存跟进内容", res)
|
|
|
- this.setData({
|
|
|
- loading: false
|
|
|
- })
|
|
|
- wx.showToast({
|
|
|
- title: getApp().globalData.Language.getMapText(res.code != 1 ? res.msg : content.sys_datafollowupid == 0 ? '保存成功' : '修改成功'),
|
|
|
- icon: "none",
|
|
|
- mask: res.code != 1
|
|
|
- });
|
|
|
- if (res.msg != '成功') return;
|
|
|
- let attachmentids = this.selectComponent("#Yl_files").getFiles().attachmentids;
|
|
|
- if (attachmentids.length) return this.handleFileLink(attachmentids, 'sys_datafollowup', res.data.sys_datafollowupid, res.data);
|
|
|
- this.changeItem(res.data)
|
|
|
- setTimeout(() => {
|
|
|
- wx.navigateBack()
|
|
|
- }, 500)
|
|
|
- getCurrentPages().find(v => v.route == 'prsx/hospital/detail').getDetail();
|
|
|
+ "classname": "system.attachment.Attachment",
|
|
|
+ "method": "createFileLink",
|
|
|
+ "content": {
|
|
|
+ ownertable: this.data.ownertable,
|
|
|
+ ownerid: this.data.ownerid,
|
|
|
+ usetype: 'default',
|
|
|
+ attachmentids
|
|
|
+ }
|
|
|
})
|
|
|
- },
|
|
|
- onUnload() {
|
|
|
- if (this.data.content.sys_datafollowupid == 0) this.selectComponent("#Yl_files").deleteAll()
|
|
|
+ this.changeItem(data)
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.navigateBack()
|
|
|
+ }, 500)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeItem(data) {
|
|
|
+ this.setData({
|
|
|
+ loading: false
|
|
|
+ })
|
|
|
+ let page = getCurrentPages()[getCurrentPages().length - 2],
|
|
|
+ isDetail = page.__route__ == 'prsx/trace/detail/index';
|
|
|
+ if (isDetail) {
|
|
|
+ page.getDetail();
|
|
|
+ page = getCurrentPages()[getCurrentPages().length - 3];
|
|
|
+ }
|
|
|
+ let model = page.selectComponent("#Trace");
|
|
|
+ if (this.data.content.sys_datafollowupid == 0) {
|
|
|
+ if (page) {
|
|
|
+ if (model) model.getList(0, true)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ let list = model.data.list,
|
|
|
+ index = list.findIndex(v => v.sys_datafollowupid == data.sys_datafollowupid);
|
|
|
+ if (index != -1) list[index] = data;
|
|
|
+ model.setData({
|
|
|
+ list
|
|
|
+ })
|
|
|
+
|
|
|
}
|
|
|
+ },
|
|
|
+ submit() {
|
|
|
+ this.setData({
|
|
|
+ loading: true
|
|
|
+ })
|
|
|
+ let content = Object.assign(this.data.content, this.selectComponent("#Form").submit())
|
|
|
+ content.content = this.data.list[0].value;
|
|
|
+ content.resource = this.data.resource || ''
|
|
|
+ _Http.basic({
|
|
|
+ "id": 20220930121601,
|
|
|
+ content
|
|
|
+ }).then(res => {
|
|
|
+ console.log("保存跟进内容", res)
|
|
|
+ this.setData({
|
|
|
+ loading: false
|
|
|
+ })
|
|
|
+ wx.showToast({
|
|
|
+ title: getApp().globalData.Language.getMapText(res.code != 1 ? res.msg : content.sys_datafollowupid == 0 ? '保存成功' : '修改成功'),
|
|
|
+ icon: "none",
|
|
|
+ mask: res.code != 1
|
|
|
+ });
|
|
|
+ if (res.msg != '成功') return;
|
|
|
+ let attachmentids = this.selectComponent("#Yl_files").getFiles().attachmentids;
|
|
|
+ if (attachmentids.length) return this.handleFileLink(attachmentids, 'sys_datafollowup', res.data.sys_datafollowupid, res.data);
|
|
|
+ this.changeItem(res.data)
|
|
|
+ setTimeout(() => {
|
|
|
+ wx.navigateBack()
|
|
|
+ }, 500)
|
|
|
+ getCurrentPages().find(v => v.route == 'prsx/hospital/detail').getDetail();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onUnload() {
|
|
|
+ if (this.data.content.sys_datafollowupid == 0) this.selectComponent("#Yl_files").deleteAll()
|
|
|
+ }
|
|
|
})
|